두 래스터의 교차점 찾기


9

부울 분류 (1 또는 2)의 두 래스터 이미지가 있습니다. 그들은 주어진 영역에서 겹칩니다.

겹치는 부분 인 래스터가 필요합니다.

Arcinfo 10 사용. 답변은 래스터 방법 만 사용할 수 있으며 다각형, 점 등으로 변환 할 수 없습니다.참고로 여기에 스크린 샷이 있습니다.


두 답변 모두 정확하고 첫 번째는 더 우아하지만 두 번째 크레딧은 가장 도움이되었으므로 두 번째 크레딧을 제공하기로 결정했습니다.
Thad

답변:


8

이것은 매우 간단한 클리핑 작업처럼 보입니다. 클립 (데이터 관리) 도구를 사용하십시오 .

도움말 문서에서 :

기존 래스터 또는 벡터 레이어를 클립 범위로 사용할 수 있습니다. 형상 클래스를 출력 범위로 사용하는 경우 형상 클래스의 최소 경계 사각형 또는 형상의 다각형 지오메트리로 래스터를 자르는 옵션이 있습니다. 클리핑 지오메트리가 사용되는 경우, 출력의 픽셀 깊이가 향상 될 수 있습니다. 따라서 출력 형식이 적절한 픽셀 깊이를 지원할 수 있는지 확인해야합니다.

이는 핵심 기능을 사용하기 때문에 실제로는 요구 사항보다 간단해야 하며 다른 방법과 마찬가지로 Spatial Analyst 확장 도 필요하지 않습니다 .

-------------- 편집하다

반면에 목표가 두 입력이 모두 null이거나 어느 하나에 값이 있거나 둘 다 값이있는 위치를 나타내는 래스터를 만드는 것이라면 Raster Multiplication을 사용 합니다. 이것은 본질적으로 입력 래스터 값의 배수 인 값을 갖는 출력 래스터를 생성합니다. 다음을 수행하려면 Spatial Analyst 확장이 필요합니다.

부울 래스터가있는 예입니다.

Raster 1:  1,2  
Raster 2:  1,2

Output Raster:  Possible combinations:  1x1,1x2,2x1,2x2 with output values: 1,2,4  
Value 1:  Both Boolean False  
Value 2:  1 or the other, Boolean True  
Value 4:  Both Boolean True

어떤 입력이 실제 값을 갖는지 결정하려면 곱한 값이 완전히 고유하도록 입력 래스터 중 하나를 다시 분류해야합니다. 곱해진 래스터에서 중복 값을 허용하므로 "1"값이 없도록 두 입력을 모두 재 분류해야합니다.

예:

Raster 1: 1,2 - Use [Raster Addition][4], with a constant of 1 - Output Raster 3  
Raster 2: 1,2 - Use [Multiply Raster][5], with constant of 2 - Output Raster 4  
Raster 3: 2,3  
Raster 4: 2,4

Now, multiply Raster 3 and Raster 4  
Output Raster:  Possible Combinations:  2x2,3x2,4x2,4x3 with output values: 4,6,8,12

Value 4:  Both Boolean False  
Value 6:  Raster 3 True, Raster 4 False  
Value 8:  Raster 4 True, Raster 3 False  
Value 12: both Boolean True

겹치는 영역 만 표시하기 위해 래스터 중 하나를 다른 래스터로 클립하는 작업을 조합하여 수행 할 수 있습니다. 그런 다음 래스터를 다시 분류하고 곱하여 둘 다 False, 둘 중 하나가 True 또는 둘 다 True 인 위치를 표시하십시오.

도움이 되었기를 바랍니다.


출력 범위 오류가 계속 발생합니다. 또는 마스크 오류입니다. 너무 실망 스럽습니다 .... 전에이 문제를 실행하지 마십시오.
Thad

nvm. 프로젝션 문제가 있다고 생각합니다. 즉, 이러한 기능은 즉석 투사를 지원하지 않습니다. 따라서 관련 기능까지 겹치지 않습니다.
Thad

@Thad-다른 래스터의 투영과 일치하도록 래스터 중 하나를 다시 투영하려고합니다. 데이터 관리 도구 아래에 있는 프로젝트 래스터 도구를 사용하십시오 . 또는 파이썬 코드를 사용하여 워크 플로의 일부로 프로그래밍 방식으로 수행하십시오.
공간을 얻으십시오

그래 내가 그랬고 완벽하게 작동했습니다.
Thad

9

나는 래스터에서 흰색 (어떤 방식으로 데이터 영역이 아님)에 대해 1, 파란색 / 녹색에 대해 2의 값을 가지고 있다고 가정합니다.

따라서 두 래스터의 값이 2 인 영역을 가져와야합니다.

이것은 ArcGIS의 래스터 계산기 로 쉽게 수행 할 수 있습니다 .

표현은 다음과 같습니다.

("raster1" == 2) & ("raster2" == 2)

또는

Con(("raster1" == 2) & ("raster2" == 2), 1, 0)

추신 :이 도구는 공간 분석가 확장이 필요합니다


0

이 방법이 도움이 될 것입니다.

  1. arctoolbox >> Data management tools >> Raster >> Rasterprocessing >> Clip 입력 및 출력에 래스터를 끌어다 놓으십시오 (어떤 것이 든 상관 없음). 이제 겹침 영역의 쉐이프 파일이 있습니다 (중복 .shp라고 함).
  2. 마스크로 추출을 사용하여 두 래스터 모두 : arctoolbox >> Spatial analyst tools >> Extraction >> Extract by mask: 입력 : 래스터 1, 마스크 데이터 : 오버랩 .shp. 이제 겹침 래스터 1의 래스터가 있습니다 (이를 겹침 1이라고 함). arctoolbox >> Spatial analyst tools >> Extraction >> Extract by mask: 입력 : Raster 2. 마스크 데이터 : 겹침 .shp. 이제 겹침 래스터 1의 래스터가 있습니다 (이를 겹침 2라고 함).
  3. 마지막 단계 : arctoolbox >> Spatial analyst tools >> Map algebra: 오버랩 2 및 오버랩 1 드래그 앤 드롭.

이제 무엇이든 할 수 있습니다. 필요한 모든 통계.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.