Подпись | Описание | Тип данных |
Входной слой | Входные объекты, для которых требуется вычислить поле. | Table View |
Выходной набор данных | Новый набор данных с вычисленными полями. | Feature Class;Table |
Поле для вычисления | Задает вычисление значений для нового или имеющегося поля.
| String |
Имя нового поля (Дополнительный) | Новое поле, в котором будут вычисляться значения. | String |
Существующее поле (Дополнительный) | Существующее поле, в котором будут вычисляться значения. | Field |
Тип поля (Дополнительный) | Задает тип поля для вычисляемого поля.
| String |
Выражение | Вычисляет значения в поле. Выражения создаются в Arcade и могут включать операторы [+ - * / ] и несколько полей. Вычисленные значения применяются в единицах измерения пространственной привязки входных данных, но если используется географическая система координат – единицами измерения будут метры. Если слой добавлен на карту, фильтры Поля и Помощник могут использоваться для построения выражения. | Calculator Expression |
Возможность отслеживания (Дополнительный) | Определяет, будет ли выражение использовать выражения с трекингом.
| Boolean |
Поля трека | Одно или несколько полей, используемых для идентификации уникальных треков. | Field |
Установка временного шага (Дополнительный) |
Временной промежуток, на который делятся входные данные для анализа. Временные границы позволяют анализировать значения в пределах заданного отрезка времени. Например, если вы выбрали границу в 1 день, и задали дату начала 1 января 1980, треки будут разделяться в начале каждого дня. | Time Unit |
Реперная точка временных шагов (Дополнительный) |
Базовое время, используемое для деления входных данных для анализа. Временные границы будут созданы для всего диапазона времени, а время начала отсчета не обязательно должно быть в самом начале. Если базовое время не задано, используется 1 января 1970. | Date |
Краткая информация
Создает слой с вычисленными значениями поля.
Использование
Вычислить поле можно применять к таблицам, точечным, линейным или полигональным объектам.
Вычислить поле всегда создает слой. Он не влияет на входные данные. Одновременно можно вычислить значения лишь в одном поле.
Вы можете вычислить значения для существующего поля или для нового поля, которое вы добавляете, создав уникальное имя поля.
Выражения создаются с помощью 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 Tools.
Параметры
arcpy.geoanalytics.CalculateField(input_layer, output, field_to_calculate, {field_name}, {existing_field}, {field_type}, expression, {track_aware}, track_fields, {time_boundary_split}, {time_boundary_reference})
Имя | Описание | Тип данных |
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)"
# Run Calculate Field
arcpy.gapro.CalculateField(inFeatures, out, "NEW_FIELD", fieldName, "", "Date",
calcExpression)