geotiff "데이터 없음"색상을 검정이 아닌 흰색 / 투명으로 변경하려면 어떻게합니까?


17

지오 서버를 통해지도가 표시되는 지오 네트워크 노드에 포함 할 데이터를 준비 중입니다.

문제는 "데이터가없는"셀이 geotiff에서 검은 색으로 표시되고 색상을 흰색 또는 투명하게 설정하고 싶습니다.

ArcView를 사용하고 있으며 Spatial Analyst 또는 3D 분석가에게 액세스 할 수 없습니다.

새 sld 파일을 할당하지 않아도되고 ArcGIS Desktop에서 내보낼 때 "Use colormap"을 사용하고 있습니다.


답변:


7

개념적으로 데이터가없는 셀을 나타내는 픽셀 값을 파악한 다음 색상 표를 편집하여 색상 표의 RED, GREEN, BLUE (RGB) 값을 해당 셀 값에 대해 255,255,255로 지정해야합니다.

Arc에서이 작업을 수행 할 수있는 적절한 라이센스가없는 경우 gdal_translate 도구 (gdal / ogr 명령 줄 도구 중 하나)를 사용할 수 있습니다

  1. tif의 색상 표를 XML 파일로 내 보냅니다.
    gdal_translate -of VRT myImage.tif outColorTable.vrt

  2. 텍스트 편집기에서 .vrt 파일을 열고 데이터 픽셀이없는 값의 항목을 찾으십시오. 셀 값에 대한 색인 번호가 없으므로 올바른 항목으로 카운트 다운해야합니다.

  3. 이 값을 편집 <Entry c1="255" c2="255" c3="255" c4="255"/>

  4. 이제 새 색상 표를 기반으로 새 주제를 만듭니다.
    gdal_translate outColorTable.vrt newCorrected.tif

(아래 주석을 기반으로 추가 된 예)

위의 2 번 항목에서 명령을 실행하고 텍스트 편집기에서 .vrt 파일을 열면 XML 내용이 표시됩니다.

파일의 일부에는 다음과 같은 줄이 포함되어 있습니다.


안녕하세요 DavidF. FWTools (초보자를 위해 조금 더 쉽게 탐색)로 수행하려고 한 대답에 감사드립니다. 그러나 vrt 파일에서 "값"을 찾는 데 문제가 있습니다. 메모장으로 파일을 열면 파일이 이제 식별 가능한 단어이며 주로 임의 (코드) 텍스트로 구성되어 있기 때문입니다. 내가 뭔가 잘못하고 있습니까? -추가 도움을 주셔서 감사합니다.
01 초에 enmapping

@ user1106-위의 명령을 다시 시도하십시오. 출력 형식 옵션이 생략되었습니다. 지금 작동합니다!
DavidF

9

나는 이것을 위해 작은 gdal python 스크립트, gdalsetnull.py를 썼다.새로운 래스터를 만들지 않고 지정된 래스터 값 NODATA를 설정하는 간단한 명령 줄 프로그램 작성했습니다. Windows에 GDAL을 설치하는 가장 쉬운 방법은 OSGeo4W이용하는 것 입니다. 예 :

python gdalsetnull.py foobar.tif 0            # pure black is transparent
python gdalsetnull.py foobar.tif 0 255 0      # pure green is
python gdalsetnull.py foobar.tif 50 23 77 100 # arbitrary value in 4 band image

처리 오버 헤드가 마음에 들지 않고 편집하지 않고 새 이미지를 만드는 경우에도 gdal_calc있습니다. 메타 데이터를 업데이트하는 대신 셀 값을 실제로 변경할 수 있습니다.

0 이하의 값을 널로 설정하십시오.

gdal_calc.py -A input.tif --outfile=result.tif --calc="A*(A>0)" --NoDataValue=0

잘 했어요 매트!
DavidF

이것이 실제로 질문에 대답합니까? 귀하의 (nice!) 스크립트는 색상을 NULL로 설정하지만 여전히 WMS 구현에 따라 다르며 NODATA 값이 렌더링되는 색상 (투명도 색상이라고도 함)입니다.
alfonx

@alfonx, 그렇습니다.로 기록 된 nodata셀과 내가0 있다고 말하는 셀 사이에는 차이가 있으며 응용 프로그램은 셀 또는 다른 값을 무시해야하는지 결정합니다. ArcGIS는 gdalsetnull.py의 결과를 존중합니다. GeoServer에 대한 경험이 없습니다.
매트 윌키


링크 고정, 메모 주셔서 감사합니다! @SteveBennett 이제이 메타 주석을 삭제해야합니다.
matt wilkie

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