사건 감지 도구는 지정된 조건을 사용하여 시간 순차 피처를 검사합니다. 지정된 조건을 충족하는 피처는 사건으로 표시됩니다. 결과 레이어에는 입력과 동일한 형식의 입력 피처, 피처가 사건에 해당하는지를 나타내는 추가 필드, 사건 상태, 사건 기간, 고유한 사건 식별자가 표시됩니다.
워크플로 다이어그램
GeoAnalytics 도구를 사용하여 분석
GeoAnalytics 도구를 사용하는 분석은 여러 ArcGIS GeoAnalytics Server 머신 및 코어에서 분산 처리를 사용하여 실행됩니다. GeoAnalytics 도구 ArcGIS Enterprise의 표준 피처 분석 도구에는 다양한 매개변수와 기능이 있습니다. 이러한 차이점에 대한 자세한 내용은 피처 분석 도구의 차이점을 참고하세요.
용어
기간 | 설명 |
---|---|
트랙 | 시간이 활성화되어 있으며 시간 유형이 인스턴트인 일련의 피처입니다. 피처는 추적 식별자 필드에 의해 순차적으로 확인되며 시간에 따라 순서가 지정됩니다. 예를 들어 한 도시에 10분마다 위치를 기록하는 제설 차량이 여러 대 있습니다. 차량 ID는 고유한 추적을 나타냅니다. |
사건 | 관심 조건을 충족하는 피처입니다. |
즉석 | 시작 시간으로 표시되고 종료 시간이 없는 시간의 단일 시점입니다. 사건 감지의 입력에는 인스턴트 시간 유형을 사용해야 합니다. |
간격 | 시작 시간 및 종료 시간으로 표시되는 시간의 기간입니다. |
관심 피처 | 분석 중인 피처를 설명하는 데 사용됩니다. 분석 중에는 모든 피처가 분석됩니다. |
사례
물과 오염 물질에 대한 모니터링은 센서를 작동하는 데 중요한 역할을 합니다. 각 센서 측정에는 측정이 이루어진 때의 타임스탬프와 관심 오염 물질의 값이 포함되어 있습니다. 사용자는 자신의 지역에서 각 위치의 측정치 및 타임스탬프가 포함된 물 측정 데이터에 접근합니다. 이 경우 이전 시간 단계에서의 상당한 오염 물질 증가를 보고하는 센서를 찾을 수 있습니다.
사용 참고 사항
사건 감지는 테이블, 포인트, 라인 또는 영역 피처에 대해 완료됩니다. 입력 레이어의 경우 인스턴트 시간을 나타내는 피처에 대해 시간이 활성화되어 있어야 합니다.
시간 항목이 있는 입력 피처만 사용됩니다. 시간이 없는 피처는 사용되지 않으며 출력 결과에 포함되지 않습니다.
추적을 식별하는 데 사용되는 필드는 결과에서 반환됩니다.
추적을 식별할 필드를 하나 이상 지정할 수 있습니다. 추적은 하나 이상인 추적 필드의 고유한 조합으로 나타납니다. 예를 들어 필드 flightID와 Destination은 추적 식별자로 사용되며 다음 피처 [ID007, Solden], [ID007, Tokoyo]는 필드 Destination에 대한 다른 값이 있으므로 두 개의 별도 추적에 있습니다.
시작 및 종료 조건은 식을 사용하여 생성됩니다.
GeoAnalytics 도구에 사건 감지 식을 사용하는 방법에 대한 자세한 정보
종료 조건은 필요에 따라 적용할 수 있습니다. 시작 조건만 적용할 경우 사건은 시작 조건이 true로 평가될 때 시작되며 시작 조건이 false로 평가될 때 종료됩니다. 예를 들어 추적의 값이 [0, 10, 15, 20, 40, 10, 12, -2, -12]이며 시작 조건이 $feature["values"] > 15인 경우, 사건에 해당하는 피처는 [True]로 평가된 피처이며 결과는 [0: False, 10: False, 15: False, 20: True, 40: True, 10: False, 12: False, -2: False, -12: False]입니다. 즉, 15보다 큰 값만 사건이 됩니다. 필요에 따라 종료 조건 $feature["values"] < 0을 적용한 경우 결과는 [0: False, 10: False, 15: False, 20: True, 40: True, 10: True, 12: True, -2: False, -12: False]입니다. 이 예시에서는 시작 조건이 충족되어 사건이 시작된 이후부터 종료 조건이 true로 평가되기 전까지의 각 순차 피처가 사건에 해당됩니다. 이러한 예시는 아래 표에 요약되어 있습니다.
위치: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
값 | 0 | 10 | 15 | 20 | 40 | 10 | 12 | -2 | -12 |
시작: $feature["values"] > 15, 종료 조건은 없음 | False | False | False | True | True | True | False | False | False |
시작: $feature["values"] > 15, 종료: $feature["values"] < 0 | False | False | False | True | True | True | True | False | False |
시간 간격을 적용하면 정의된 간격으로 추적이 세그먼트화됩니다. 예를 들어 시간 간격 경계를 1990년 1월 1일 오전 9시에 시작하는 1일로 설정하면 각 추적이 매일 오전 9시에 잘립니다. 이러한 분할은 분석을 위해 더 작은 추적을 신속하게 생성하므로 계산 시간을 단축하는 가장 빠른 방법입니다. 반복되는 시간 간격 경계로 분할하는 것이 분석에 적합한 경우 빅데이터 처리에 사용하는 것을 권장합니다.
결과 피처는 입력의 필드와 다음의 추가 필드를 반환합니다.
- IncidentID - 사건에 해당하는 각 피처에 주어진 고유 ID입니다.
- IncidentStatus - 사건의 상태를 나타내는 문자열 필드입니다. 이 값은 피처가 사건이 아니면 null, 피처가 시작 조건을 충족하는 첫 번째 사건이면 Started, 피처가 여전히 사건이면 OnGoing, 피처가 더 이상 사건이 아니면 Ended입니다. 단일 추적에 여러 개의 사건 세그먼트가 있을 수 있습니다. 예를 들어 추적의 값이 [0, 10, 15, 20, 40, 10, 12, -2, -12]이며 시작 조건이 $feature["values"] > 15인 경우 [0: null, 10: null, 15: null, 20: Started, 40: OnGoing, 10: Ended, 12: null, -2: null, -12: null]의 값은 IncidentStatus입니다.
- IncidentDuration - 사건이 발생한 시간(밀리초)입니다. 해당 값은 관심 피처와 사건이 시작된 피처 간의 차이로 계산됩니다.
- Instant_Datetime - 피처가 발생한 시간입니다.
현재 맵 범위 사용을 선택한 경우 현재 맵 범위 내에 보이는 피처만 분석됩니다. 선택하지 않으면 현재 맵 범위 외부에 있는 피처를 포함하여 입력 레이어에 있는 모든 입력 피처가 분석됩니다.
제한 사항
입력은 시간이 지원되는 인스턴트 유형의 피처여야 합니다. 시간이 없는 피처는 결과에 포함되지 않습니다.
사건 감지 작동 방식
계산
피처는 추적에 따라 시간 순차적으로 순서가 지정됩니다. 첫 번째 피처에서 시작하여 시작 조건이 true가 될 때까지 평가됩니다. 한 피처가 시작 조건을 충족하고 나면 시작 조건이 false가 될 때까지(종료 조건이 지정되지 않은 경우) 또는 종료 조건이 true가 될 때까지(종료 조건이 지정된 경우) 다음 피처가 평가됩니다. 조건이 충족되면 사건이 종료되며 프로세스가 다시 시작됩니다. 각각의 추적에 여러 개의 사건 세그먼트가 있을 수 있습니다. 예를 들어 추적의 값이 [10, 20, 30, 40, 50, 10, 20, 30, 40, 50, 10, 20]이며 시작 조건이 $feature["values"] > 20인 경우 2개의 사건 세그먼트, 즉 [10: null, 20: null, 30: Started, 40: OnGoing, 50: OnGoing, 10: Ended, 20: null, 30: Started, 40: OnGoing, 50: OnGoing, 10: Ended, 20: null]이 있습니다.
사건의 기간은 피처 시간과 사건 시작 시간의 차이(밀리초)로 계산됩니다. 피처가 Started, OnGoing, Ended 상태인 경우에만 기간이 계산됩니다. 상태가 Started인 피처의 기간은 항상 0입니다.
ArcGIS API for Python 예시
사건 감지 도구는 ArcGIS API for Python을 통해 제공됩니다.
이 예시에서는 5개의 속도 값으로 이동 창의 평균을 계산하여 제설기가 시간당 10마일보다 느리게 움직이는 시기와 위치를 찾습니다.
# Import the required ArcGIS API for Python modules import arcgis from arcgis.gis import GIS from arcgis.geoanalytics import find_locations
# Connect to your ArcGIS Enterprise portal and check 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)
# Find the big data file share dataset you're interested in using for analysis search_result = portal.content.search("", "Big Data File Share")
# Look through search results for a big data file share with the matching name bd_file = next(x for x in search_result if x.title == "bigDataFileShares_VehicleData")
# Look through the big data file share for snowplow track data snowplows = next(x for x in bd_file.layers if x.properties.name == "Snowplow_tracks")
# Set the tool environment settings arcgis.env.verbose = True arcgis.env.defaultAggregations = True
# Run the tool Detect Incidents output = find_locations.detect_incidents(input_layer = snowplows, track_fields = "plowID, dayOfYear",
start_condition_expression = "Mean($track.field["speed"].window(-5, 0)) < 10", output_name = "Slow_Plow_Incidents")
# Visualize the tool results if you are running Python in a Jupyter Notebook processed_map = portal.map('Fairbanks, AK', 10) processed_map.add_layer(output) processed_map
유사한 도구
사건 감지는 사건에 해당하는 피처를 찾는 데 사용됩니다. 서로 비슷하지만 약간 다른 문제를 해결하는 데 유용한 기타 도구를 사용할 수 있습니다.
Map Viewer 분석 도구
시간이 지원되는 피처를 추적으로 재생성하려면 GeoAnalytics 도구 추적 재생성을 사용하세요.
필드의 값을 계산하려면 GeoAnalytics 도구 계산 필드를 사용하세요.
ArcGIS Desktop 분석 도구
GeoAnalytics 도구 추적 재생성은 ArcGIS Pro에서도 사용할 수 있습니다.
GeoAnalytics 도구 계산 필드는 ArcGIS Pro에서도 사용할 수 있습니다.
GeoAnalytics 도구 사건 감지는 ArcGIS Pro에서 사용할 수 있습니다.
ArcGIS Pro에서 이 도구를 실행하려면 프로젝트의 활성 포털이 Enterprise 10.6 이어야 합니다. GeoAnalytics 피처 분석을 수행할 수 있는 권한을 가진 계정을 사용하여 포털에 로그인해야 합니다.