두 래스터의 교차점 찾기


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.