Skip To Content

추적 재생성(Reconstruct Tracks)

비고:

현재 이 기능은 Map Viewer Classic(이전의 Map Viewer)에서만 지원됩니다.

추적 재생성 추적 재생성 도구는 시간 순서 포인트를 추적에 연결하고 추적 내 피처를 요약합니다. 추적은 하나 이상의 추적 필드에서 식별됩니다. 결과 레이어는 라인 또는 영역, 요약된 추적 내 피처 개수, 지정된 추가 통계로 추적을 표시합니다.

워크플로 다이어그램

추적 재생성 워크플로 다이어그램

GeoAnalytics Tools를 사용하여 분석

GeoAnalytics Tools를 사용하는 분석은 여러 ArcGIS GeoAnalytics Server 머신 및 코어에서 분산 처리를 사용하여 실행됩니다. ArcGIS EnterpriseGeoAnalytics Tools 및 표준 피처 분석 도구에는 다양한 매개변수와 기능이 있습니다. 이러한 차이점에 대한 자세한 내용은 피처 분석 도구의 차이점을 참고하세요.

용어

기간설명

측지

구 위에 그린 라인입니다. 글로브 위에 그린 측지는 글로브 지오이드의 곡률을 나타냅니다.

평면

평면(직교좌표 평면)에서 측정한 직선 거리입니다. 유클리드 거리로도 참조됩니다.

인스턴트

시작 시간으로 표시되고 종료 시간이 없는 시간의 단일 시점입니다.

간격

시작 시간 및 종료 시간으로 표시되는 시간의 기간입니다.

예시

허리케인은 미국에서 발생하는 가장 심각한 유형의 태풍 중 하나입니다. 보험료를 평가하기 위해 허리케인으로 인한 높은 재산 손해와 경제적 손실 기록이 있는 위치를 확인하여 허리케인의 이동 경로를 알고 싶을 수 있습니다. 각 위치에서 타임스탬프가 있는 단일 데이터셋에서 미국의 허리케인 위치 데이터에 접근할 수 있습니다. 모든 허리케인의 값 요약을 확인하기 위해 모든 정보를 요약하려고 합니다. 각 허리케인에 대한 통계를 확인하기 위해 허리케인 추적 식별자를 사용하여 데이터를 요약할 수 있습니다.

사용 참고 사항

추적 재생성은 포인트 또는 영역 피처에서 실행됩니다. 입력 레이어의 경우 인스턴트 시간을 나타내는 피처에 대해 시간이 활성화되어 있어야 합니다.

선형 결과의 경우 포인트를 두 개 이상 포함하는 추적만 반환됩니다. 버퍼를 적용하면 모든 피처가 반환됩니다.

입력 피처는 시간이 활성화된 피처로 구성되며 인스턴트 시간을 나타냅니다. 결과는 시간 간격을 나타내는 라인 또는 영역 피처입니다. 간격의 시작과 끝은 추적의 첫 번째 피처와 마지막 피처 시간으로 결정됩니다.

시간 유형 인스턴트(왼쪽) 및 결과 추적(오른쪽) 또는 시간 유형 간격을 표시하는 두 개의 뚜렷한 추적(녹색, 빨간색)이 포함된 입력 피처
시간 유형 인스턴트(왼쪽) 및 결과 추적(오른쪽) 또는 시간 유형 간격을 표시하는 두 개의 뚜렷한 추적(녹색, 빨간색)이 포함된 입력 피처

추적에서 가장 기본이 되는 계산은 요약된 피처 수의 개수를 세는 것입니다. 통계(개수, 합계, 최소값, 최대값, 범위, 평균, 표준편차, 분산, 추적의 첫 번째 및 마지막 값)는 숫자 필드에서 계산할 수 있으며, 통계(개수, 일부, 추적의 첫 번째 및 마지막 값)는 문자열 필드에서 계산할 수 있습니다. 문자열 통계는 각 추적에서 샘플 문자열을 반환합니다. 각 추적에서 개별적으로 통계를 계산합니다.

추적을 식별하는 데 사용되는 필드는 결과에서 반환됩니다.

추적을 식별할 필드를 하나 이상 지정할 수 있습니다. 추적은 하나 이상인 추적 필드의 고유한 조합으로 나타납니다. 예를 들어 필드 flightIDDestination은 추적 식별자로 사용되며 피처 ID007, Solden, ID007, Tokoyo는 필드 Destination에 대한 다른 Destination 값이 있으므로 두 개의 별도 추적에 있습니다.

필요한 경우 버퍼를 입력 피처에 적용할 수 있습니다. 버퍼를 적용하는 경우 결과 추적은 영역 피처가 됩니다.

추적에 재생성되어 적용된 버퍼가 있는 입력 포인트
추적에 재생성되어 적용된 버퍼가 있는 입력 포인트

버퍼는 필드 또는 버퍼 식을 사용하여 생성됩니다. 버퍼 식 및 형식 지정에 대해 자세히 알아보려면 GeoAnalytics Tools로 버퍼 식 사용을 참고하세요. 추적 인식의 식을 적용할 수 있습니다. 예를 들어 mean($track.field["wind_speed].history(-4, -1)) 방정식을 사용하여 추적의 이전 세 개의 피처에 대한 wind_speed 필드의 평균을 기준으로 현재 피처를 버퍼링할 수 있습니다.

입력 피처를 버퍼링할 때 각 입력 피처가 버퍼링됩니다. 그러면 볼록한 커버가 생성되어 영역 트랙이 생성됩니다.

입력 포인트(녹색), 시각화(파란색 해칭)의 중간 버퍼, 결과 폴리곤 추적(파란색)
입력 포인트(녹색), 시각화(파란색 해칭)의 중간 버퍼, 결과 폴리곤 추적(파란색)의 예시가 표시됩니다.

기본 설정에 따라 추적은 측지 방법을 사용하여 생성됩니다. 이 방법은 다음의 두 가지 분석 구성 요소에 적용됩니다.

  • 날짜 변경선을 지나는 추적 - 측지 방법을 사용하는 경우 날짜 변경선을 지나는 입력 레이어에 날짜 변경선을 올바르게 지나는 추적이 포함됩니다. 이 옵션이 기본 설정입니다. 입력 레이어 또는 처리 공간 참조는 World Cylindrical Equal Area와 같은 글로벌 투영 등 날짜 변경선 주위를 감싸는 공간 참조로 설정해야 합니다.
  • 버퍼 - 입력 피처는 선택적으로 버퍼할 수 있습니다. 측지 또는 평면 버퍼를 적용하는 시기에 대해 자세히 알아보려면 버퍼 생성을 참고하세요.

다음과 같은 네 가지 방법으로 추적을 분할할 수 있습니다.

  • 입력 간 시간 기반 - 시간 분할 적용
  • 정의된 시간 간격 - 시간 경계 적용
  • 입력 간 거리 기반 - 거리 분할 적용
  • Arcade 식 기반 - 분할 식 적용

입력 데이터가 지정한 시간보다 더 떨어진 경우 분할된 시간 적용이 추적을 분리합니다. 예를 들어 동일한 추적 식별자와 [01:00, 02:00, 03:30, 06:00, 06:30]의 시간이 있는 5개의 피처가 있으며 시간을 2시간으로 분할하여 설정한 경우, 2시간이 넘는 것으로 측정된 피처가 분할됩니다. 이 예시에서 03:30과 6:00의 차이가 2시간이 넘으므로 결과는 [01:00, 02:00, 03:30] 및 [06:00, 06:30]이 있는 추적이 됩니다.

시간 경계를 적용하면 정의된 간격으로 트랙을 구분합니다. 예를 들어 시간 경계를 1990년 1월 1일 오전 9시에 시작하는 1일로 설정하면 각 추적이 매일 오전 9시에 잘립니다. 이 분할은 분석을 위해 더 작은 추적을 신속하게 생성하므로 계산 시간을 단축하는 가장 빠른 방법입니다. 반복되는 시간 경계로 분할하는 것이 분석에 적합한 경우 빅데이터 처리에 사용하는 것을 권장합니다.

입력 데이터가 지정한 거리보다 더 떨어진 경우 분할된 거리 적용이 추적을 분리합니다. 예를 들어 거리 분할을 5킬로미터로 설정한 경우 5킬로미터보다 더 멀리 떨어진 순차 피처는 다른 추적의 일부가 됩니다.

분할 식 기반을 적용하면 값, 지오메트리 또는 시간 값을 기반으로 추적을 분할합니다. 예를 들어 추적의 필드 값이 이전 값보다 두 배 이상일 때 추적을 분할할 수 있습니다. 이렇게 하려면 WindSpeed 예시 필드를 사용하여 var speed = TrackFieldWindow("WindSpeed", -1, 1); 2* speed[0] < speed[1] 식을 사용할 수 있습니다. 이전 값(speed[0])이 현재 값의 두 배보다 작을 때 추적이 분할됩니다.

한 번에 일부 또는 모든 분할을 적용하거나 전혀 적용하지 않을 수 있습니다. 아래의 모든 예시는 간격 분할을 사용합니다. 6시간의 시간 분할, 1일의 시간 경계, 16킬로미터의 거리 분할을 적용한다고 가정할 때 달라지는 결과는 다음과 같습니다.

다양한 시간 및 거리 분할이 사용된 입력 포인트(녹색)의 8가지 예시
다양한 시간 및 거리 분할이 사용된 입력 포인트(노란색)의 8가지 예시가 표시됩니다.

분할 옵션설명

시간 및 위치가 사용된 6개의 입력 포인트입니다.

동일한 식별자가 포함된 입력 포인트입니다. 포인트 사이의 거리가 점선 상단에 표시되고 각 점의 측정 시간이 점 아래에 표시됩니다. 타임라인에는 4개의 분할이 있습니다. 빨간색 분할은 오전 12시에 시작하여 1일의 시간 경계 분할을 나타냅니다. 파란색 분할은 두 포인트 사이의 거리가 16km를 넘는 경우의 거리 분할을 나타냅니다. 자주색 분할은 두 연속 포인트 사이의 시간 거리가 6시간을 넘는 경우의 시간 분할을 나타냅니다.

시간 분할 및 거리 분할이 사용되지 않은 예시

시간 분할 및 거리 분할이 사용되지 않은 예시입니다.

2시간의 시간 분할이 사용된 예시

2시간의 시간 분할이 사용된 예시입니다. 2시간보다 멀리 떨어진 피처는 별도의 추적으로 분할됩니다.

분석 환경 대화 상자 열기1일의 시간 경계가 사용된 예시

자정부터 1일의 시간 경계가 사용된 예시입니다. 지정된 시간 간격(여기 오전 12시)부터 시작하여 1일 간격으로 새 추적이 생성됩니다.

세부정보 창으로 돌아가기16킬로미터의 거리 분할이 사용된 예시

16킬로미터의 거리 분할이 사용된 예시입니다. 16킬로미터보다 더 멀리 떨어진 피처(오전 5시 및 오전 6시의 피처)는 별도의 추적으로 분할됩니다.

6시간의 시간 분할 및 오전 12시에 1일의 시간 경계 분할이 사용된 예시

시간 분할이 6시간이고 시간 경계가 1일 오전 12시에 시작하는 예시입니다. 6시간보다 더 멀리 떨어진 피처 또는 오전 12시에 기간 분할과 교차하는 피처는 별도의 추적으로 분할됩니다.

6시간의 시간 분할 및 16km의 거리 분할을 사용한 예시

6시간의 시간 분할 및 16km의 거리 분할을 사용한 예시입니다. 6시간보다 더 멀리 떨어진 피처(오전 6시 및 오후 7시의 피처) 또는 16km보다 더 떨어진 피처는 별도의 추적으로 분할됩니다.

16km의 거리 분할 및 오전 12시부터 1일의 시간 경계가 사용된 예시

시간 분할이 6시간이고 시간 경계가 1일 오전 12시에 시작하는 예시입니다. 16km보다 더 멀리 떨어진 피처 또는 오전 12시에 기간 분할과 교차하는 피처는 별도의 추적으로 분할됩니다.

16km의 거리 분할, 6시간의 시간 분할, 오전 12시부터 1일의 시간 경계가 사용된 예시

16km의 거리 분할, 6시간의 시간 분할, 오전 12시부터 1일의 시간 경계가 사용된 예시입니다. 16km보다 더 멀리 떨어진 피처 또는 오전 12시에 기간 분할과 교차하는 피처는 별도의 추적으로 분할됩니다.

시간 분할, 거리 분할 또는 분할 식을 사용하여 추적을 분할하면 추적 간의 세그먼트 생성 방법을 결정할 수 있습니다. 시간 경계 분할은 항상 간격을 만듭니다. 추적 분할 옵션은 ArcGIS Enterprise 10.9 이상에서 제공됩니다. 다음과 같은 옵션을 사용할 수 있습니다.

  • 간격 - 분할된 두 피처 간의 간격을 생성합니다.
  • 이후에 마침 - 분할 후에 종료되는 세그먼트를 생성합니다.
  • 이전에 시작 - 분할 전에 종료 및 시작되는 세그먼트를 생성합니다.

다음 다이어그램은 분할 유형의 예시를 보여줍니다.

동일한 입력 포인트(노란색)에서 시간 분할의 세 가지 예시가 표시됩니다.

동일한 입력 포인트(노란색)에서 시간 분할의 세 가지 예시가 표시됩니다.

시간 분할 옵션

설명

시간 및 위치가 사용된 5개의 입력 포인트입니다.

동일한 식별자가 포함된 입력 포인트입니다. 각 포인트의 시간은 점선 아래에 표시됩니다. 모든 예시에는 오전 2시와 오전 5시 사이에 하나의 분할이 있습니다. 각 추적은 추적의 세 번째 포인트와 네 번째 포인트 사이의 두 세그먼트로 나뉩니다. 첫 번째 추적은 녹색이고 두 번째 추적은 자주색입니다. 추적 분할 방법은 분할 유형 매개변수로 정의됩니다.

간격

간격 분할

분할된 두 포인트 간의 간격이 있는 예시입니다. 첫 번째 추적은 세 번째 포인트에서 끝나고 두 번째 추적은 네 번째 포인트에서 시작됩니다. 이 옵션이 기본 설정입니다.

이후에 마침

분할 후 마침

분할 후 네 번째 포인트에서 추적이 끝나는 예시입니다. 두 번째 추적은 네 번째 포인트에서 시작됩니다.

이전에 시작

분할 전 시작

분할 전 세 번째 포인트에서 추적이 분할되는 예시입니다. 두 번째 추적은 세 번째 포인트에서 시작됩니다.

다음은 분할 매개변수를 사용하여 추적을 올바르게 정의하는 방법 예시 및 항공사 비행을 사용한 필드 식별자 매개변수의 예시입니다.

  • 항공기 피처에는 aircraft ID, flight ID, pilot name, start time, flight_maneuver 필드가 포함되어 있습니다.

    flight_maneuver는 항공기가 지상, 상승, 하강 또는 일정한 고도에 있는지 여부를 나타냅니다.

    • 각 항공기가 어디로 이동했는지 보려면 aircraft ID를 식별자로 사용합니다.
    • 뚜렷한 경로 비교에 관심이 있다면 aircraft IDflight ID 필드를 식별자로 사용합니다.
    • 한 번에 각 항공기의 연간 비행편을 확인하려면 aircraft id와 1년의 시간 경계를 사용합니다.
    • 각 파일럿의 비행을 확인하려면 pilot name, aircraft IDstart time을 사용합니다.
    • 측정 시 1,000킬로미터의 이동이 동일한 추적에 속해서는 안 되기 때문에 aircraft ID를 식별자로 사용하고, 1,000킬로미터보다 더 멀리 떨어진 거리에서 분할하여 새 추적을 결정합니다.
    • aircraft ID 필드를 식별자로 사용하고 flight_manuever 필드의 값이 변경되면 표현식을 사용하여 분할합니다. 예를 들어 var manuever = TrackFieldWindow("maneuver", -1, 1); maneuver[0] != maneuver[1]는 추적의 현재 값과 이전 값이 일치하는지 확인합니다. 확인하지 않으면 추적이 분할됩니다.

결과 추적은 추적 식별자, 추적 내 피처 개수(count), 각 추적의 시작 및 종료 시간(start_datetimeend_datetime), 밀리초 단위의 추적 기간(duration) 및 기타 선택적 통계로 사용되는 필드를 반환합니다.

현재 맵 범위 사용을 선택한 경우 현재 맵 범위 내에 보이는 피처만 분석됩니다. 선택하지 않으면 현재 맵 범위 외부에 있는 피처를 포함하여 입력 레이어에 있는 모든 입력 피처가 분석됩니다.

제한 사항

입력은 시간이 활성화된 유형 인스턴스의 피처가 포함된 포인트 또는 영역 레이어여야 합니다. 시간이 없는 피처는 결과 추적에 포함되지 않습니다.

추적 재생성 작동 방식

아래 섹션에서는 추적 재생성 도구의 기능을 설명합니다.

방정식

분산은 다음 방정식을 사용하여 계산됩니다.

분산 방정식
분산 방정식

표준편차는 분산의 제곱근으로 계산됩니다.

계산

입력 레이어는 고유 식별자를 사용하여 추적으로 요약됩니다. 요약 결과는 각 추적 내에서 계산됩니다.

각 추적은 추적 내에서 요약된 피처에 대해 선택적으로 숫자 통계(개수, 합계, 최소값, 최대값, 범위, 평균, 표준편차, 분산, 첫 번째마지막) 또는 문자열 통계(개수, 일부, 첫 번째마지막)를 적용할 수 있습니다.

첫 번째마지막 통계는 추적의 첫 번째 또는 마지막 값을 반환합니다. 예를 들어, 시간 순서가 지정된 추적의 경우 [Toronto,Guelph,Montreal], 첫 번째 값은 Toronto이고 마지막 값은 Montreal입니다. 첫 번째마지막 통계는 10.8.1에서 사용 가능합니다.

문자열 및 숫자 필드에 대한 개수 통계는 null이 아닌 값의 개수를 셉니다. 다음 값의 수는 5입니다 .[0, 1, 10, 5, null, 6] = 5. 값 집합의 수는 3입니다 [Primary, Primary, Secondary, null] = 3.

ArcGIS API for Python 예시

추적 재생성 도구는 ArcGIS API for Python을 통해 제공됩니다.

이 예시에서는 허리케인 추적을 재생성합니다.


# Import the required ArcGIS API for Python modules
import arcgis
from arcgis.gis import GIS
from arcgis.geoanalytics import summarize_data

# Connect to your ArcGIS Enterprise portal and confirm that GeoAnalytics is supported
portal = GIS("https://myportal.domain.com/portal", "gis_publisher", "my_password")
if not portal.geoanalytics.is_supported():
    print("Quitting, GeoAnalytics is not supported")
    exit(1)   

# Find the big data file share dataset you'll use for analysis
search_result = portal.content.search("", "Big Data File Share")

# Look through the search results for a big data file share with the matching name
bdfs_search = next(x for x in search_result if x.title == "bigDataFileShares_NaturalDisasters")

# Look through the big data file share for hurricanes
hurricanes = next(x for x in bdfs_search.layers if x.properties.name == "Hurricanes")

# Set the tool environment settings
arcgis.env.verbose = True

# Reconstruct the hurricane tracks by their serial number 
track_result = summarize_data.reconstruct_tracks(input_layer = hurricanes, 
                                                 track_fields = "serial_num",
                                                 method = 'Geodesic',
                                                 output_name = "hurricane_tracks")

# Visualize the tool results if you are running Python in a Jupyter Notebook
processed_map = portal.map('World')
processed_map.add_layer(track_result)
processed_map

유사한 도구

추적 재생성을 사용하여 추적 내 피처를 요약합니다. 서로 비슷하지만 약간 다른 문제를 해결하는 데 유용한 기타 도구를 사용할 수 있습니다.

Map Viewer Classic 분석 도구

여러 공간 관계를 사용하여 포인트, 라인 또는 영역을 요약하려는 경우 조인 피처 도구를 사용합니다.

ArcGIS Pro 분석 도구

추적 재생성 도구는 ArcGIS Pro에서도 제공됩니다.

ArcGIS Pro에서 도구를 실행하려면 프로젝트의 활성 포털이 ArcGIS Enterprise 10.5 이상에서 실행 중이어야 합니다. 10.5의 경우 포털에서 공간 분석을 수행할 수 있는 권한을 가진 계정을 사용하여 포털에 로그인해야 합니다.