Сводка
Создает слой с вычисленными значениями поля.
Использование
Вычислить поле можно применять к таблицам, точечным, линейным или полигональным объектам.
Вычислить поле всегда создает слой. Он не влияет на входные данные. Одновременно можно вычислить значения лишь в одном поле.
Вы можете вычислить значения для существующего поля или для нового поля, которое вы добавляете, создав уникальное имя поля.
Выражения создаются с помощью выражений Arcade. Более подробно см. Выражения Arcade в инструментах геоаналитики Desktop.
Выражения Arcade могут помогать отслеживать изменения. Для выражений с отслеживанием изменений требуется, чтобы для данных была включена поддержка времени с типом времени Моментальный, и было указано поле отслеживания. Более подробно о построении выражений с учетом трекинга см. в разделе Пример с учетом трекинга.
Чтобы включить отслеживание в вычислениях, надо сделать следующее:
- Используйте слой с поддержкой времени и с мгновенным типом времени.
- Отметьте опцию С учетом трекинга.
- Выберите поля для идентификации треков
Треки представлены с помощью уникальной комбинации одного или нескольких полей трека. Например, если поля flightID и Destination используются в качестве идентификаторов трека, следующие объекты ID007, Solden и ID007, Tokyo попадут в два отдельных трека, поскольку они имеют отличающиеся значения в поле Destination.
Аналогичный анализ можно выполнить следующим образом:
- Инструмент геообработки Вычислить поле в наборе инструментов Управление данными
Применение границ временного интервала разделяет треки на заданные интервалы. Например, если вы выбрали интервал в 1 день, начиная с 9 утра 1 января 1 января 1990 г. каждый трек будет обрезан в 9 утра каждого дня и проанализирован в пределах этого сегмента. Такое разбиение позволяет ускорить обработку, так как небольшие треки для анализа создаются быстрее. Если разбиение на повторяющиеся интервалы может влиять на результаты анализа, рекомендуется использовать обработку больших данных. Для задания временных границ, в анализе должно использоваться время.
Дополнительно к вычисляемому полю, выходные данные могут включать следующие типы полей:
- ObjectID
- datetime – если в результатах используется время. Новыми полями являются instant_date для типа времене Мгновенный, а также start_date и end_date для типа времени Интервал.
Можно повысить производительность инструмента Вычислить поле, выполнив одно или несколько из следующих действий:
- Установите параметр среды Экстент так, чтобы вы анализировали только интересующие вас данные.
- Если вы используете треки, разбейте их с помощью параметра Установка временного шага.
- Выберите только С учетом трекинга, если ваше выражение включает выражение трекинга.
- Используйте локальные данные там, где запускается анализ.
Этот инструмент геообработки работает от Spark. Анализ выполняется на настольном компьютере с использованием нескольких ядер параллельно. См. Информация по инструментами GeoAnalytics Desktop, чтобы узнать больше о выполнении анализа.
При запуске инструментов GeoAnalytics Desktop анализ выполняется на настольном компьютере. Для оптимальной производительности данные должны быть доступны на настольном компьютере. Если вы используете размещенный векторный слой, рекомендуется использовать ArcGIS GeoAnalytics Server. Если данные находятся не на жестком диске, для запуска инструмента потребуется больше времени. Для использования ArcGIS GeoAnalytics Server в целях выполнения анализа см. раздел Инструменты GeoAnalytics.
Синтаксис
arcpy.gapro.CalculateField(input_layer, output, field_to_calculate, {field_name}, {existing_field}, {field_type}, expression, {track_aware}, track_fields, {time_boundary_split}, {time_boundary_reference})
Parameter | Объяснение | Тип данных |
input_layer | Входные объекты, для которых требуется вычислить поле. | Table View |
output | Новый набор данных с вычисленными полями. | Feature Class;Table |
field_to_calculate | Задает вычисление значений для нового или имеющегося поля.
| String |
field_name (Дополнительный) | Новое поле, в котором будут вычисляться значения. | String |
existing_field (Дополнительный) | Существующее поле, в котором будут вычисляться значения. | Field |
field_type (Дополнительный) | Задает тип поля для вычисляемого поля.
| String |
expression | Вычисляет значения в поле. Выражения создаются в Arcade и могут включать операторы и несколько полей. Вычисленные значения применяются в единицах измерения пространственной привязки входных данных, но если используется географическая система координат – единицами измерения будут метры. | Calculator Expression |
track_aware (Дополнительный) | Определяет, будет ли выражение использовать выражения с трекингом.
| Boolean |
track_fields [track_fields,...] | Одно или несколько полей, используемых для идентификации уникальных треков. | Field |
time_boundary_split (Дополнительный) | Временной промежуток, на который делятся входные данные для анализа. Временные границы позволяют анализировать значения в пределах заданного отрезка времени. Например, если вы выбрали границу в 1 день, и задали дату начала 1 января 1980, треки будут разделяться в начале каждого дня. | Time Unit |
time_boundary_reference (Дополнительный) | Базовое время, используемое для деления входных данных для анализа. Временные границы будут созданы для всего диапазона времени, а время начала отсчета не обязательно должно быть в самом начале. Если базовое время не задано, используется 1 января 1970. | Date |
Пример кода
В следующем скрипте окна Python показано, как используется инструмент CalculateField.
#-------------------------------------------------------------------------------
# Name: CalculateField.py
# Description: Calculate the mean of the 3 most recent speed measurements in hurricane tracks
# Import system modules
import arcpy
arcpy.env.workspace = "C:/data/Weather.gdb"
# Set local variables
inFeatures = "Hurricanes"
fieldName = "MeanSpeed3"
out = "HurricaneTracks_Mean"
calcExpression = "Date($feature.DateAsString)"
# Execute Calculate Field
arcpy.gapro.CalculateField(inFeatures, out, "NEW_FIELD", fieldName, "", "Date",
calcExpression)
Environments
Информация о лицензиях
- Basic: Нет
- Standard: Нет
- Advanced: Да