Сводка
Создает слой с вычисленными значениями поля.
Использование
Этот инструмент геообработки доступен с версией ArcGIS Enterprise 10.6 или более новой.
Вычислить поле можно применять к таблицам, точечным, линейным или полигональным объектам.
Вычислить поле всегда создает слой. Он не влияет на входные данные. Одновременно можно вычислить значения лишь в одном поле.
Вы можете вычислить значения для существующего поля или для нового поля, которое вы добавляете, создав уникальное имя поля.
Выражения создаются с помощью Arcade.
Более подробно о выражениях GeoAnalytics Server Arcade, используемых в инструменте Вычислить поле
Выражения Arcade могут помогать отслеживать изменения. Для выражений с отслеживанием изменений требуется, чтобы для данных была включена поддержка времени с типом времени Моментальный, и было указано поле отслеживания. Более подробно о построении выражений с учетом трекинга см. в разделе Пример с учетом трекинга.
Чтобы включить отслеживание в вычислениях, надо сделать следующее:
- Используйте слой с поддержкой времени и с мгновенным типом времени.
- Отметьте опцию С учетом трекинга.
- Выберите поля для идентификации треков
Треки представлены с помощью уникальной комбинации одного или нескольких полей трека. Например, если поля flightID и Destination используются в качестве идентификаторов трека, следующие объекты ID007, Solden и ID007, Tokyo попадут в два отдельных трека, поскольку они имеют отличающиеся значения в поле Destination.
Применение границ временного интервала разделяет треки на заданные интервалы. Например, если вы выбрали интервал в 1 день, начиная с 9 утра 1 января 1 января 1990 г. каждый трек будет обрезан в 9 утра каждого дня и проанализирован в пределах этого сегмента. Такое разбиение позволяет ускорить обработку, так как небольшие треки для анализа создаются быстрее. Если разбиение на повторяющиеся интервалы может влиять на результаты анализа, рекомендуется использовать обработку больших данных. Для задания временных границ, в анализе должно использоваться время.
Дополнительно к вычисляемому полю, выходные данные могут включать следующие типы полей:
- ObjectID
- GlobalID – если результаты хранятся в пространственно-временном хранилище данных.
- datetime – если в результатах используется время. Новыми полями являются instant_datetime для типа времене Мгновенный, а также start_datetime и end_datetime для типа времени Интервал.
Можно повысить производительность инструмента Вычислить поле, выполнив одно или несколько из следующих действий:
- Установите параметр среды Экстент так, чтобы вы анализировали только интересующие вас данные.
- Если вы используете треки, разбейте их с помощью параметра Установка временного шага.
- Выберите только С учетом трекинга, если ваше выражение включает выражение трекинга.
- Используйте локальные данные там, где запускается анализ.
Этот инструмент геообработки работает на ArcGIS GeoAnalytics Server. Анализ выполняется на вашем GeoAnalytics Server, а результаты сохраняются в ресурсы на вашем ArcGIS Enterprise.
При запуске инструментов GeoAnalytics Server анализ завершается на GeoAnalytics Server. Для оптимальной производительности сделайте данные доступными для GeoAnalytics Server через векторные слои, размещенные на вашем портале ArcGIS Enterprise или через файловое хранилище больших данных. Данные, которые не являются локальными для GeoAnalytics Server, будут перемещены на GeoAnalytics Server до начала анализа. Это означает, что для запуска инструмента потребуется больше времени, а в некоторых случаях перемещение данных с ArcGIS Pro на GeoAnalytics Server может завершиться ошибкой. Порог сбоя зависит от скорости сети, а также от размера и сложности данных. Соответственно рекомендуется всегда предоставлять доступ к данным или создавать файловое хранилище больших данных.
Более подробно о публикации локаторов на портале
Более подробно о создании файловых хранилищ больших данных в Server Manager
Аналогичный анализ можно выполнить следующим образом:
- Инструмент геообработки Вычислить поле в наборе инструментов Управление данными
Синтаксис
CalculateField(input_layer, output_name, field_name, field_type, expression, {track_aware}, track_fields, {data_store}, {time_boundary_split}, {time_boundary_reference})
Parameter | Объяснение | Тип данных |
input_layer | Входные объекты, для которых требуется вычислить поле. | Record Set |
output_name | Имя выходного сервиса пространственных объектов. | String |
field_name | Имя поля, в котором будут вычисляться значения. (Это может быть существующее поле или новое имя поля.) | String |
field_type | Задает тип поля для вычисляемого поля.
| String |
expression | Вычисляет значения в поле. Выражения создаются в Arcade и могут включать операторы и несколько полей. Вычисленные значения применяются в единицах измерения пространственной привязки входных данных, но если используется географическая система координат – единицами измерения будут метры. | Calculator Expression |
track_aware (Дополнительный) | Определяет, будет ли выражение использовать выражения с трекингом.
| Boolean |
track_fields [track_fields,...] | Одно или несколько полей, используемых для идентификации уникальных треков. | Field |
data_store (Дополнительный) | Задает ArcGIS Data Store, где будут сохраняться выходные данные. По умолчанию – SPATIOTEMPORAL_DATA_STORE. Все результаты из SPATIOTEMPORAL_DATA_STORE будут сохранены в WGS84. Результаты, сохраненные в RELATIONAL_DATA_STORE сохранят собственную систему координат.
| String |
time_boundary_split (Дополнительный) | Временной интервал для разбиения входных данных при анализе. Временные границы позволяют анализировать значения в пределах заданного отрезка времени. Например, если вы используете временные границы в 1 день, начиная с 1 января , 1980, треки будут разбиты в начале каждого дня. Этот параметр доступен только с ArcGIS Enterprise версии 10.6 и позже. | Time Unit |
time_boundary_reference (Дополнительный) | Время начала отсчета, используемое для разбиения входных данных для анализа. Временные границы будут созданы для всего диапазона времени, а время начала отсчета не обязательно должно быть в самом начале. Если время начала отсчета не установлено, используется 1 января , 1970 года. Этот параметр доступен только с ArcGIS Enterprise версии 10.6 и позже. | Date |
Производные выходные данные
Name | Объяснение | Тип данных |
output_table | Новые выходные данные с вычисленными значениями. | Набор записей |
Пример кода
В следующем скрипте окна Python показано, как используется инструмент CalculateField.
#-------------------------------------------------------------------------------
# Name: CalculateField.py
# Description: Calculate the mean of the 3 most recent speed measurements in hurricane tracks
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inFeatures = "https://example.arcgis.com/arcgis/rest/services/Hurricanes/FeatureServer/0"
newField = "MeanSpeed3"
outFS = "HurricaneTracks_Mean"
trackIdentifier = "Name"
calcExpression = "Average($track.field['WINDSPEED'].history(-3))"
# Execute Reconstruct Tracks
arcpy.geoanalytics.CalculateField(inFeatures, outFS, newField, "Double",
calcExpression, True, trackIdentifier)
Environments
- Выходная система координат
Система координат, используемая при анализе. Если данный параметр не указан, анализ будет выполнен во входной системе координат. Для Инструменты геоаналитики готовые результаты будут храниться в пространственно-временном хранилище данных в привязке WGS84.
Информация о лицензиях
- Basic: Требуется ArcGIS GeoAnalytics Server
- Standard: Требуется ArcGIS GeoAnalytics Server
- Advanced: Требуется ArcGIS GeoAnalytics Server