Ввод с клавиатуры - не единственный способ редактирования значений в таблице. В некоторых случаях вам может потребоваться выполнить математические вычисления для получения значения поля отдельной записи или даже всех записей. Калькулятор поля (Field Calculator) в ArcMap позволяет вам выполнять простые, а также сложные вычисления для любых выбранных записей.
Кроме того, в полях атрибутивных таблиц можно вычислить длину, периметр и прочие геометрические свойства.
Вычисления геометрии пространственных объектов
При работе с таблицей атрибутов или слоем объектов можно легко вычислить площадь, длину, 3D длину, периметр, 3D периметр, x, y-координаты точки, x, y-координаты центроида, минимальное и максимальное z-значения или координаты начальной и конечной точек с помощью диалогового окна Вычислить Геометрию (Calculate Geometry).
Для вычислений вы можете использовать систему координат источника данных или систему координат фрейма данных. Кроме того, если вы выбрали одну или более записей, то вычисление применяется только к выбранным записям.
Ниже представлены геометрические свойства, которые можно вычислить для разных типов объектов:
Область | Периметр | 3D-периметр | Длина | 3D-длина | X-, Y- или Z-координаты центроида | X-, Y- или Z-координаты точки | X-, Y- или Z-координаты начальной точки | X-, Y- или Z-координаты конечной точки | X-, Y- или Z-координаты средней точки | Min, max для z-координаты | |
---|---|---|---|---|---|---|---|---|---|---|---|
Полигональные объекты | |||||||||||
Линейные объекты | |||||||||||
Объекты-аннотации | |||||||||||
Точечные объекты |
Вычисления геометрии в ArcGIS являются планиметрическими - другими словами, они осуществляются в проецированном, а не сферическом или геодезическом пространстве. Вычисление площади, длины или периметра объекта возможно при условии, если вы используете проецированную систему координат. Если источник данных использует географическую систему координат, например, WGS 1984, которая не является проецированной, вы можете выбрать проецированную систему координат фрейма данных, произвести вычисления. В качестве альтернативы, можно перепроецировать источник данных.
Вычисление геометрии можно применять при работе с любыми числовыми или текстовыми полями. Для получения максимально точных результатов используйте поля типа double с необходимым количеством десятичных знаков. Если вы используете целочисленное поле, то результат будет округлен до целого числа. Если вы используете текстовое поле, то в целях упрощения надписывания поля вы можете включить сокращенные единицы, выбрать формат и т.д.
Почему может не работать Калькулятор поля
Если вы заметили, что команды Калькулятор поля (Field Calculator) или Вычислить геометрию (Calculate Geometry)недоступны по щелчку правой кнопкой, надо проверить следующие моменты:
- Вы щелкнули правой кнопкой на названии поля, управляемого ArcGIS - следовательно, его нельзя редактировать вручную. К таким полям относятся ObjectID (OID или FID); поля Shape_Length и Shape_Area для классов пространственных объектов базы геоданных; поля Area, Perimeter и <Coverage># для точечного или полигонального класса пространственных объектов покрытия; и поля FNODE#, TNODE#, LPOLY#, RPOLY#, Length, и <Coverage># класса пространственных объектов arc (дуг) в покрытии.
- Источник данных таблицы доступен только для чтения - у вас нет прав на запись в данную папку или базу геоданных, либо источник данные в таком формате, который вообще нельзя нормально изменять в ArcMap. Возможно, вы работаете с данными EDG или SDC на сервисах ArcIMS, которые обычно позволяют открывать свои атрибутивные таблицы, но не дают изменять данные.
- Вы не начали сеанс редактирования, а для вычисления данных надо открыть их на редактирование. Например, вы должны открыть сеанс редактирования, чтобы работать с версионными данными ArcSDE или классом пространственных объектов, который участвует в топологии базы геоданных, геометрической сети или классе отношений.
- Поле принадлежит к присоединенной таблице. Вы можете вычислять значения только в полях своей таблицы.
- Поле может быть растровое, BLOB или Global ID - эти типы нельзя вычислять. Чтобы посмотреть, какого типа поле, щелкните на нем правой кнопкой и выберите Свойства (Properties).
Сложные вычисления в Калькуляторе поля
В окне Калькулятор поля (Field Calculator) можно выполнять сложные вычисления с помощью блоков кодов VBScript или Python, обрабатывающих данные перед вычислениями. Например, работая с демографическими данными, вы можете определить наибольшую возрастную группу в процентах от общей численности населения для каждого округа в Соединенных Штатах. Вы можете создать скрипт, который выполняет предварительную обработку данных, используя такие выражения, как If...Then и блоки Select Case. Это позволяет вам выполнять сложные вычисления быстро и просто.
Простые выражения можно вводить непосредственно в Калькулятор поля в окно Выражение (Expression). Более сложные выражения, такие как скрипты из нескольких строчек, циклические и разветвляющиеся, вводятся в окне кодового блока (Code Block) в Калькуляторе поля (Calculate Field).