ArcGIS Desktop에서 다각형 겹침 계산 및 래스터 화?


17

다각형이 겹치는 벡터 레이어를 어떻게 사용하여 각 셀이 해당 셀을 포함하는 다각형 수를 계산하는 래스터로 변환합니까?

우리는 1976 년에서 2000 년 사이의 화재 화상 지역의 다각형을보고 있으며 각 래스터 셀에 몇 개의 화재가 포함 될지 알고 싶습니다.

답변:


22

이 작업을 3 단계로 수행하십시오. 다각형을 구성 요소 부분으로 나누고 겹침을 세고 래스터로 변환합니다. 이렇게하면 모든 다각형을 개별적으로 래스터로 변환하고 해당 래스터를 결합하는 계산 비용이 많이 들지 않습니다.

  1. Union( Geoprocessing메뉴에서) 다각형을 해당 부분으로 나눕니다.

    불행하게도, 각각의 오버랩은 출력에서 복제 됩니다 : 그것을 덮는 각각의 원래 다각형에 대해 하나의 동일한 사본이 있습니다. 따라서

  2. Dissolve(다시에서 Geoprocessing메뉴), 부품을 중복 병합합니다 제공 고유하게 그들을 식별 할 수있는 방법을 찾을 수 있습니다. 대화 상자를 끝까지 읽으십시오. "통계"를 계산할 수있는 옵션이 있습니다. 원래 다각형 을 식별 한 필드를 선택 하고 개수를 요청하십시오 .

    많은 경우 다각형 영역과 둘레의 조합으로 부품을 고유하게 식별 할 수 있습니다. 그렇지 않은 경우 모든 피처를 구별하기에 충분한 정보를 축적 할 때까지 중심 좌표와 같은 추가 필드에 더 많은 기하학적 특성을 추가 할 수 있습니다.

    결과 레이어에는 각 다각형 겹침과 겹침 수를 계산하는 일종의 "수"필드에 대해 하나의 기능이 있습니다.

  3. 속성에 "count"필드를 사용하여 래스터로 변환하십시오.


예를 들어, 다음은 속성 표가 표시된 겹치는 다각형과 해당 식별자입니다.

여기에 이미지 설명을 입력하십시오

두 번째 단계 후에는 겹치는 양을 상징하는 데 이미 사용할 수있는 카운트와 함께 각 겹치는 영역에 대해 하나의 레코드가 있습니다.

여기에 이미지 설명을 입력하십시오

나머지는 쉽고- 단일 래스터 화 작업 일뿐 입니다.


이 벡터 방법은 메모리가 제한된 컴퓨터에서 겹치는 수십만 개의 다각형에 적용되는 경우를 제외하고는 훌륭하게 작동합니다.
ccn

@ccn ArcGIS가 처리 할 수있는 것보다 많은 다각형이 있으면 데이터 세트를 처리 할 수있는 부분으로 분할합니다 . 결과는 수천 또는 수백만이 아닌 몇 개의 래스터가 될 것입니다. 사용의 또 다른 이점은 Union거의 동일한 워크 플로를 사용하여 다각형이 여러 데이터 세트에있는 상황을 해결할 수 있다는 것입니다 (일반적으로 데이터베이스 설계는 좋지 않지만 불행히도 일반적 임). 모든 입력 데이터 세트를 한 번에 통합합니다.
whuber

@ccn (계속) 요점은 다음과 같습니다. 다각형을 래스터 화하고 래스터 연산을 사용하여 벡터 연산 ( union) 을 사용한 다음 래스터 화 를 사용하는 것과 비교하여 병합하는 것이 더 나은 경우는 언제 입니까? 지형지 물이 필요한 것보다 더 자세하게 디지털화되어 벡터에 너무 많은 정점이 부여되면 벡터 작업이 중단됩니다. 이러한 극단적 인 상황에서는 래스터 접근 방식이 더 나을 수 있습니다 (먼저 다각형을 단순화하는 것이 더 나은 옵션 일 수 있음). 그러나 다른 모든 상황에서 각 다각형을 개별적으로 래스터 화하는 것은 컴퓨터 인간의 시간을 낭비하는 것입니다 .
whuber

1
벡터 기반 솔루션의 경우 +1 여기서 사물을 원근감있게 표현하기 위해 화상 주변 데이터는 결코 크지 않습니다. 예를 들어, 1984-2010 년의 MTBS 번 둘레 데이터 세트 (미국 알래스카 포함)는 ~ 19000 개의 다각형을 포함합니다. 벡터 또는 래스터 기반 접근 방식은 정상적으로 작동합니다.
Aaron

@Aaron 관점에 감사드립니다. 합리적인 해상도 (예 : 100m)에서 한 번에 확실한 미국을 수행하려면 50000 개의 열과 1,500,000,000 개의 셀을 포함하는 30000 개의 행이 필요합니다. 내장 압축을 고려한 19,000 개의 래스터를 생성 한 다음 19,000 * 1500000000 = 약 3 억 10 천만 번의 추가 를 수행하는 데는 상당한 시간이 필요합니다! 대신 각 다각형이 100 개의 정점 (매우 상세 함)을 사용하는 경우 합집합에는 1,900,000 개의 정점이 포함되며 O (n log (n)) 연산입니다. 원칙적으로 (ArcGIS :-아님) 1 초 미만 걸립니다.
whuber

1

다음 게시물은 관련 솔루션을 찾을 수있는 다소 비슷한 질문입니다. 벡터 다각형 shapefile에서 겹치는 래스터 표면을 작성 하시겠습니까? .

이 계산 방식으로 빠르고 간단한 래스터 방식을 사용하려면 (1) 반복기 또는 스크립트 도구를 사용하여 ModelBuilder의 속성 별 선택을 사용하여 겹치는 다각형을 별도의 레이어 (아마도 화재 다각형의 경우 연도 별로)로 분리해야합니다. 래스터 폴리곤 MAXIMUM_COMBINED_AREA 셀 할당을 (동일한 보장 셀 크기는 , 래스터 스냅 하고 있다는 정도는 (예를 들어, 연도 필드 또는 모두 1이 열을 사용) 상수 필드 값을 이용하여 - 다각형의 전체 세트와 동일하다) 다음, (3) 다음과 같은 공간 분석 도구를 적용 (다시 반복자 또는 도움말 자동화하는 파이썬 스크립트를 사용하여 모델 빌더를 사용)에 변환하려면 셀 통계 -모든 래스터 셀 값이 1 인 경우 각 래스터에 연도 또는 SUM과 같은 고유 한 값이있는 경우 statistics_type VARIETY를 사용하십시오. NoData를 무시해야합니다.

(이전 변환으로부터의) 중간 래스터는 삭제되거나 후속 래스터 분석에 사용될 준비가 될 수있다.


( 아론의 답변에 대한 나의 의견을 참조하십시오 .)
whuber
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.