비고:
현재 이 기능은 Map Viewer Classic(이전의 Map Viewer)에서만 지원됩니다. 새 Map Viewer 후속 릴리즈에서 제공됩니다.
필드 계산 도구는 새 필드 또는 기존 필드의 필드 값을 계산합니다. 결과는 항상 ArcGIS Enterprise portal 콘텐츠의 새 레이어가 됩니다.
GeoAnalytics Tools를 사용하여 분석
GeoAnalytics Tools를 사용하는 분석은 여러 ArcGIS GeoAnalytics Server 머신 및 코어에서 분산 처리를 사용하여 실행됩니다. ArcGIS Enterprise의 GeoAnalytics Tools 및 표준 피처 분석 도구에는 다양한 매개변수와 기능이 있습니다. 이러한 차이점에 대한 자세한 내용은 피처 분석 도구의 차이점을 참고하세요.
예시
전국에 있는 슈퍼마켓 체인점의 판매 데이터가 수집되어 있다고 가정해 보겠습니다. 현재 TotalSales(이)라는 기존 필드에는 연간 총 매출액에 대한 값이 포함되어 있으며 이를 기반으로 위치별 총 매출액을 계산하고자 합니다. 필드에 2016년과 2017년 총 매출의 합을 표시하려고 합니다. 식에서 이러한 필드를 사용하여 필드 값을 $feature["Sales2016"] + $feature["Sales2017"](으)로 계산합니다.
어떤 도시의 위치, 시간, 버스 ID, 버스 속도를 기록하는 GPS 측정치가 있다고 가정해 보겠습니다. 각 피처에 대해 기록된 마지막 3개의 GPS 측정치 평균 속도를 계산하는 새로운 SpeedFrom3 필드를 생성하려고 합니다. 이 계산을 위해, 버스 ID로 표시된 버스가 추적인 추적 인식 계산을 사용할 것입니다. 이전 3개의 시간 단계 및 현재 시간 단계의 평균 속도를 확인하는 계산은 average($track.field["speed"].history(-4))입니다.
사용 참고 사항
필드 계산는 테이블, 포인트, 라인, 영역 피처를 대상으로 수행됩니다.
한 번에 하나의 필드 값만 계산할 수 있습니다.
기존 필드의 값을 계산하거나, 새 필드 이름을 지정하여 새 필드를 생성할 수 있습니다.
식은 Arcade 식을 사용하여 생성됩니다.
필요에 따라 추적 인식이 계산에 사용될 수 있습니다. 추적 인식 방정식은 추적 함수를 사용하는 Arcade 식을 사용합니다.
추적 인식 계산을 포함하려면 다음을 수행해야 합니다.
- 시간이 지원되고 시간 유형이 인스턴트인 레이어를 사용합니다.
- 이 식은 추적을 인식합니다.를 선택합니다.
- 추적을 식별하는 데 사용되는 필드를 선택합니다.
추적은 하나 이상인 추적 필드의 고유한 조합으로 나타납니다. 예를 들어 flightID 필드 및 Destination은(는) 추적 식별자로 사용되며 다음 피처 [ID007, Solden], 및 [ID007, Tokyo]는 Destination 필드에 대한 다른 값이 있으므로 두 개의 별도 추적에 있습니다.
시간 간격 경계를 적용하면 정의된 간격으로 추적이 세그먼트화됩니다. 예를 들어 시간 간격 경계를 1990년 1월 1일 오전 9시에 시작하는 1일로 설정하면 각 추적이 매일 오전 9시에 잘리고 해당 세그먼트 내에서 분석됩니다. 이 분할은 분석을 위해 더 작은 추적을 신속하게 생성하므로 계산 시간을 단축하는 가장 빠른 방법입니다. 반복되는 시간 간격 경계로 분할하는 것이 분석에 적합한 경우 빅데이터 처리에 사용하는 것을 권장합니다. 시간 경계를 설정하기 위해서는 분석이 추적 인식이어야 합니다.
결과 피처는 입력의 필드를 반환합니다. 새 필드의 값을 계산한 경우에는 해당 필드가 추가적으로 포함됩니다.
현재 맵 범위 사용을 선택한 경우 현재 맵 범위 내에 보이는 피처만 분석됩니다. 선택하지 않으면 현재 맵 범위 외부에 있는 피처를 포함하여 입력 레이어에 있는 모든 입력 피처가 분석됩니다.
제한 사항
한번에 한 필드만 수정할 수 있습니다.
필드 계산는 항상 새 피처 레이어를 생성하며 입력 데이터셋을 편집하지 않습니다.
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 Classic 분석 도구
시간이 지원되는 레이어의 피처를 감지하려면 사건 감지 도구를 사용하세요.
ArcGIS Desktop 분석 도구
필드 계산 도구는 ArcGIS Pro에서도 제공됩니다.
입력의 값을 계산하고 기존 데이터를 수정하려는 경우에는 ArcGIS Pro의 데이터 관리 도구상자에 있는 필드 계산 도구를 사용하세요.
ArcGIS Pro에서 해당 도구를 실행하려면 활성 포털이 Enterprise 10.6 이상이어야 합니다. GeoAnalytics 피처 분석을 수행할 수 있는 권한을 가진 계정을 사용하여 포털에 로그인해야 합니다.