ArcGIS Desktop의 래스터에서 데이터 값이 인식되었지만 기호 규칙을 따르지 않습니까?


9

ArcGIS Desktop에 GeoTIFF 래스터가 있으며 다음 두 링크에서 다운로드 할 수 있습니다.

  1. http://www.rtwilson.com/downloads/MODIS_MOD04_16-06-2006_Subset.tfw
  2. http://www.rtwilson.com/downloads/MODIS_MOD04_16-06-2006_Subset.tif

ArcGIS Desktop에로드하면 큰 균일 한 영역이 나타납니다. 정보 도구로이 영역을 클릭하면 픽셀 값이 데이터 없음으로 표시됩니다. 그러나 레이어에 대한 기호 환경 설정에서 데이터 없음 값을 투명 (또는 색상)으로 표시하도록 선택하면 데이터 없음 값이 해당 규칙을 따르지 않습니다.

흥미롭게도 이미지의 기본 영역 외부의 데이터 없음 값은 규칙을 따르고 (색상을 빨간색으로 설정하여 표시) 이미지 내부의 값은 그렇지 않습니다.

나는이 문제를 해결하기 위해 정말로 고투했다.

누구든지 아이디어가 있습니까?

답변:


3

파일을 다운로드하여 numpy 배열로 변환했으며 배열의 값을 반복하면 nodata 값으로 -3.40282347e + 38 및 NaN이 표시됩니다. 어쩌면이 값을 하나 또는 다른 값으로 다시 분류 할 수 있으므로 모든 nodata 값이 동일합니다.

reclassify 도구를 사용 arcpy.sa.setnull하거나 numpy에 이미지를 numpy 배열로 변환하면이를 수행 할 수있는 멋진 함수가 있다고 확신합니다.

오픈 소스 경로를 내려 가려면 Gdal Translate 이 유용 할 수 있습니다.


이 값을 어떻게 다시 분류 할 수 있는지 알고 있습니까? ArcGIS가 NaN에 대해 아무것도 인식하지 못하는 것처럼 보이며 매우 낮은 값 (기본적으로 NaN-Arc의 float 범위이므로)을 처리하지 않는 것 같습니다.
robintw

내가 각 이미지를 numpy 배열로 변환하려면 모든 nodata 값을 -9999 등으로 변환하는 배열을 반복 한 다음 배열을 이미지로 다시 전달하십시오. 나는 그것을 똑똑하게하는 방법이 있지만 나는 numpy와 많이 일하지 않았다.
dango

위에서 제안한 방법을 사용하기로 결정한 경우 python math.isnan () 함수를 사용하여 NaN 값을 식별하는 것이 좋습니다.
dango

4

해당 파일 / 데이터에는 매우 펑키 한 것이 있습니다.

속성이 모두 동일한 것을 표시하더라도 ArcGIS는 서로 다른 두 가지 유형의 NoData를 표시합니다. QGIS도이 작업을 수행합니다. 나는 데이터에서 무슨 일이 일어나고 있는지 전혀 모른다. (그러나 내 생각에는 두 개의 다른 "noData"값이 씬 뒤에 사용된다고 생각할 것이다. 하나는 다른 "-9999"일 수있다) 다른 누군가가 우리를 깨우칠 수 있습니다.

그러나 몇 가지 가능한 해결 방법이 있습니다.

데이터 내보내기 - "렌더러 사용"을 확신하는 데이터를 내 보내면 제대로 작동하기 시작합니다. 사용 렌더링을 선택하지 않으면 새 파일에 동일한 문제가 발생합니다. 단점은이를 8 비트 데이터 (0-255)로 변환하는 것입니다. 다른 도구는 데이터를 32 비트 수레로 유지하면서 도구를 다시 렌더링 할 수 있습니다.

분류 사용 -분류 기호 방법은 두 가지 NoData 유형을 모두 올바르게 표시하는 것 같습니다 (동일한 것). 가능하면 데이터를 변경하지 않으려면 사용하십시오. Stretched는보고 된 버그를 표시하고 "고유 값"은 아무 것도 표시하지 않습니다.

(ArcGIS 9.3.1 사용)


답변 주셔서 감사합니다-이것이 이상하다고 생각하는 것이 저만이 아니라는 것이 기쁩니다. 불행히도 분류 된 기호는 내가 해야하는 일에 적합하지 않지만 현재 렌더러를 사용하여 내보내기를 수행합니다. 좌절스러운 점은 MODIS 온라인 처리 시스템을 사용하여 MODIS 위성에서 얻는 모든 파일에 대해 발생한다는 것입니다 . 이 문제는 두 가지 유형의 NoData 일 수 있다고 생각합니다.이 경우에는 "null"및 NaN 일 수 있지만 생각하지 않습니다.
robintw

나는 'Use Classified'가이 버그를 해결하기 위해 제안 된 모든 기술 중 가장 귀찮은 것이라고 생각합니다. 'Classified'메뉴의 'Stretched'메뉴에서 할 수있는 거의 모든 것을 근사 할 수 있습니다.
Alexander

2

방금 같은 문제가 발생하여 "솔루션"을 찾았습니다. 래스터 계산기를 사용하여 래스터에 1.0을 곱하면 ArcMap은 NoData 값을 인식합니다.


1

32 비트 ESRI 그리드와 동일한 문제가 있습니다. 16 비트는 잘 작동했고 NoData는 보이지 않지만 32 비트는 검은 색으로 표시됩니다. 32 비트 값이 일반적으로 갖는 -2147483647과 반대로 개별적으로 내보내고 nodata 값을 -32768로 변경하여 수정했습니다.


1

나는 같은 문제가 있었다. 나를 위해 일한 것은 지오 데이터베이스 폴더에 래스터를 내보내는 것이 었습니다. 래스터를 지오 데이터베이스로 내 보내면 arcmap에 NoData 값이 올바르게 표시됩니다.


0

모자이크를 수행 할 때 Landsat 8-OLI 이미지와 비슷한 문제가 있습니다. 외부 (배경)의 "NoData"값은 아무 것도 수행하지 않지만 내부의 구름 / 그림자 제거와 같은 누락 된 데이터 블록은 참조 모자이크 레이어의 색상을 변경합니다. 나는 ERDAS와 Arcmap에서 동일한 결과를 얻었습니다. 어떤 이유로 든 기호에 영향을 주지만 "식별"도구를 사용하면 픽셀 값이 정확합니다. 결과를 따르고 표시하지 않으면 괜찮을 것입니다.

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