지오 서버를 통해지도가 표시되는 지오 네트워크 노드에 포함 할 데이터를 준비 중입니다.
문제는 "데이터가없는"셀이 geotiff에서 검은 색으로 표시되고 색상을 흰색 또는 투명하게 설정하고 싶습니다.
ArcView를 사용하고 있으며 Spatial Analyst 또는 3D 분석가에게 액세스 할 수 없습니다.
새 sld 파일을 할당하지 않아도되고 ArcGIS Desktop에서 내보낼 때 "Use colormap"을 사용하고 있습니다.
지오 서버를 통해지도가 표시되는 지오 네트워크 노드에 포함 할 데이터를 준비 중입니다.
문제는 "데이터가없는"셀이 geotiff에서 검은 색으로 표시되고 색상을 흰색 또는 투명하게 설정하고 싶습니다.
ArcView를 사용하고 있으며 Spatial Analyst 또는 3D 분석가에게 액세스 할 수 없습니다.
새 sld 파일을 할당하지 않아도되고 ArcGIS Desktop에서 내보낼 때 "Use colormap"을 사용하고 있습니다.
답변:
개념적으로 데이터가없는 셀을 나타내는 픽셀 값을 파악한 다음 색상 표를 편집하여 색상 표의 RED, GREEN, BLUE (RGB) 값을 해당 셀 값에 대해 255,255,255로 지정해야합니다.
Arc에서이 작업을 수행 할 수있는 적절한 라이센스가없는 경우 gdal_translate 도구 (gdal / ogr 명령 줄 도구 중 하나)를 사용할 수 있습니다
tif의 색상 표를 XML 파일로 내 보냅니다.
gdal_translate -of VRT myImage.tif outColorTable.vrt
텍스트 편집기에서 .vrt 파일을 열고 데이터 픽셀이없는 값의 항목을 찾으십시오. 셀 값에 대한 색인 번호가 없으므로 올바른 항목으로 카운트 다운해야합니다.
이 값을 편집 <Entry c1="255" c2="255" c3="255" c4="255"/>
이제 새 색상 표를 기반으로 새 주제를 만듭니다.
gdal_translate outColorTable.vrt newCorrected.tif
(아래 주석을 기반으로 추가 된 예)
위의 2 번 항목에서 명령을 실행하고 텍스트 편집기에서 .vrt 파일을 열면 XML 내용이 표시됩니다.
파일의 일부에는 다음과 같은 줄이 포함되어 있습니다.
나는 이것을 위해 작은 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
nodata
셀과 내가0
있다고 말하는 셀 사이에는 차이가 있으며 응용 프로그램은 셀 또는 다른 값을 무시해야하는지 결정합니다. ArcGIS는 gdalsetnull.py의 결과를 존중합니다. GeoServer에 대한 경험이 없습니다.
새 SLD 파일을 만들지 않는 것 외에도 GeoTIFF의 내부 컬러 맵을 SymbologyEncoding / SLD로 변환하고 다른 색을 정의 하는 방법에 대한 블로그 항목 이 있습니다. 파생 된 SLD에서는 100 % 투명 색상으로 렌더링 할 값을 정확하게 정의하기가 쉽습니다.