Инструмент Вычислить поле вычисляет значения поля для нового или существующего поля. Выходным всегда будет новый слой в ресурсах вашего портала ArcGIS Enterprise.
Анализ с помощью GeoAnalytics Tools
Анализ, выполняемый с помощью GeoAnalytics Tools работает с использованием распределенной обработки по нескольким компьютерам ArcGIS GeoAnalytics Server и ядрам. GeoAnalytics Tools и стандартные инструменты анализа ArcGIS Enterprise имеют различные параметры и возможности. Более подробно об этих различиях см. в разделе Различия между инструментами анализа объектов.
Примеры
Предположим, вы собрали данные по продажам в сети супермаркетов по всей стране. Сейчас у вас есть значения по общему объёму продаж в год в поле TotalSales, и вы хотите подсчитать общий объём продаж для каждого местоположения. Вы хотите, чтобы в поле была представлена сумма всех продаж за 2016 и 2017 годы. Используя эти поля в выражении, вы вычисляете значение поля как $feature["Sales2016"] + $feature["Sales2017"].
Предположим, у вас есть GPS данные местоположений, времени, ID автобуса и скорости автобусов в городе. Мы хотим создать новое поле SpeedFrom3, в котором усредняется скорость последних 3 GPS-измерений для каждого объекта. Для такого вычисления можно использовать вычисления с учётом трекинга, где треком является автобус, обозначенный своим ID. Вычисление для определения средней скорости предыдущих 3 временных шагов и текущего шага выглядит так average($track.field["speed"].history(-4)).
Примечания по использованию
Вычислить поле можно применять к таблицам, точечным, линейным или площадным объектам.
Одновременно можно вычислить значения лишь в одном поле.
Вы можете вычислить значения поля, которое уже существует, или добавить новое поле, создав уникальное имя поля.
Выражения создаются с помощью Arcade.
Более подробно о выражениях Arcade, используемых в инструменте Вычислить поле.
При желании можно отслеживать ваши вычисления. Вычисления с отслеживанием используют выражения Arcade, использующие функции отслеживания.
Чтобы включить отслеживание в вычисление, надо сделать следующее:
- Используйте слой с поддержкой времени и с мгновенным типом времени.
- Выберите В выражении учитывается трекинг.
- Выберите поля для идентификации треков
Треки представлены с помощью уникальной комбинации одного или нескольких полей трека. Например, если поля flightID и Destination используются в качестве идентификаторов трека, следующие объекты [ID007, Solden] и [ID007, Tokyo] попадут в два отдельных трека, поскольку они имеют отличающиеся значения в поле Destination.
Применение границ временного интервала разделяет треки на заданные интервалы. Например, если вы выбрали интервал в 1 день, начиная с 9:00 1 января 1 января 1990 г. каждый трек будет обрезан в 9:00 каждого дня и проанализирован в пределах этого сегмента. Такое разбиение позволяет ускорить обработку, т.к. небольшие треки для анализа создаются быстрее. Если разбиение на повторяющиеся интервалы может влиять на результаты анализа, рекомендуется использовать обработку больших данных. Для задания временных границ, в анализе должно использоваться время.
Выходные объекты вернут все поля входных данных. Если вы вычисляли значения нового поля, это поле будет автоматически включено.
Если опция Использовать текущий экстент карты включена, будут анализироваться только те объекты, которые отображаются в текущем экстенте. Если опция отключена, анализ будет выполнен для всех входных объектов входного слоя, даже если они находятся вне текущего экстента карты.
Ограничения
Одновременно можно выбрать только одно поле.
Вычислить поле всегда производит новый векторный слой и не будет редактировать входной набор данных.
Пример ArcGIS API for Python
Инструмент Вычислить поле доступен в ArcGIS API for Python.
В этом примере рассчитывается новое поле, отображающее год, в котором произошло землетрясение. Затем оно отображает измененные данные, используя Pandas DataFrame.
# Import the required ArcGIS API for Python modules
import arcgis
from arcgis.gis import GIS
from arcgis.geoanalytics import manage_data
from arcgis.features import FeatureLayer
# Connect to your ArcGIS Enterprise portal and confirm that GeoAnalytics is supported
portal = GIS("https://myportal.domain.com/portal", "gis_publisher", "my_password", verify_cert=False)
if not portal.geoanalytics.is_supported():
print("Quitting, GeoAnalytics is not supported")
exit(1)
# Define the feature layer you'll use for analysis
earthquake_data_url = "https://sampleserver6.arcgisonline.com/arcgis/rest/services/Earthquakes_Since1970/FeatureServer/0"
earthquake_data = FeatureLayer(earthquake_data_url)
# Calculate the year number from the date_ field
calculate_field_result = manage_data.calculate_fields(input_layer = earthquake_data,
field_name = "year_num",
data_type = "Integer",
expression = "Year($feature.date_)",
output_name = "Earthquake_occurence_years")
# Visualize the results as a Pandas DataFrame when running Python in a Jupyter Notebook
import pandas as pd
features = calculate_field_result.layers[0].query()
df = pd.DataFrame.from_records(pd.DataFrame(features.value['features'])["attributes"])
df
Похожие инструменты
Воспользуйтесь инструментом Вычислить поле, чтобы вычислить значения для пространственных объектов в новом или существующем поле. Другие инструменты могут оказаться полезными для решения похожих, но немного отличающихся задач.
Инструменты анализа Map Viewer
Если вы хотите определить объекты в слое со временем, используйте инструмент GeoAnalytics Tools Выявление инцидентов.
Инструменты анализа ArcGIS Desktop
GeoAnalytics Tools Вычислить поле также доступен и в ArcGIS Pro.
Если вы хотите вычислить значения для входных или изменить существующие данные, воспользуйтесь инструментом Вычислить поле из набора инструментов Управление Данными в ArcGIS Pro.
Для запуска этого инструмента из ArcGIS Pro, вашим активным порталом должен быть Enterprise 10.6 или более поздний. Вход необходимо выполнить под учетной записью, имеющей права доступа для выполнения Анализа объектов GeoAnalytics.