Estoy preparando datos para incluirlos en un nodo de geonetwork, donde los mapas se muestran a través de geoserver.
El problema es que las celdas que no tienen "datos" se muestran en negro en el geotiff y me gustaría que el color se establezca en blanco o transparente.
Estoy usando ArcView y no tengo acceso ni a Spatial Analyst ni a 3D analyst.
Preferiría no tener que asignar un nuevo archivo sld y actualmente estoy usando "Usar mapa de colores" al exportar desde ArcGIS Desktop.
Respuestas:
En concepto, debe averiguar qué valores de píxeles representan celdas sin datos y luego editar su tabla de colores para asignar los valores ROJO, VERDE, AZUL (RGB) en la tabla de colores para que sean 255,255,255 para ese valor de celda.
Si no tiene la licencia adecuada para hacer esto en Arc, puede usar la herramienta gdal_translate (una de las herramientas de línea de comandos gdal / ogr)
exporta la tabla de colores para tu tif como un archivo XML.
gdal_translate -of VRT myImage.tif outColorTable.vrt
abra el archivo .vrt en un editor de texto y encuentre la entrada para el valor de sus píxeles sin datos. No hay un número de índice para los valores de las celdas, por lo que debe realizar una cuenta regresiva hasta la entrada correcta.
edite este valor para ser
<Entry c1="255" c2="255" c3="255" c4="255"/>
ahora, cree un nuevo tif basado en la nueva tabla de colores
gdal_translate outColorTable.vrt newCorrected.tif
(ejemplo agregado basado en el comentario a continuación)
Cuando ejecuto el comando en el elemento # 2 anterior y abro el archivo .vrt en un editor de texto, veo contenido XML.
Parte del archivo incluye líneas que se ven así, he cortado la mayoría de ellas.
fuente
Escribí un pequeño script gdal python para esto, gdalsetnull.py , un simple programa de línea de comando para establecer el valor de ráster especificado NODATA, sin crear un nuevo ráster. La ruta más fácil para instalar GDAL en Windows es a través de OSGeo4W . Ejemplos:
Si no le importa algo de procesamiento y crear una nueva imagen en lugar de editar en su lugar, también hay gdal_calc que permite cambiar los valores de las celdas en lugar de simplemente actualizar los metadatos.
Establezca valores de cero e inferiores en nulo:
fuente
nodata
celda que dice que soy0
y la aplicación decide si se debe ignorar o algún otro valor. ArcGIS respeta los resultados de gdalsetnull.py; No tengo experiencia con GeoServer.Además de que prefiere NO crear un nuevo archivo SLD, aquí hay una entrada de blog sobre cómo convertir el mapa de color interno de un GeoTIFF a un SymbologyEncoding / SLD y definir otro color allí. En el SLD derivado, es fácil definir exactamente qué valores representar con un color 100% transparente.
fuente