Estou preparando dados para inclusão em um nó da geonetwork, onde os mapas são exibidos via geoserver.
O problema é que as células que "não têm dados" estão sendo exibidas em preto no geotiff e eu gostaria que a cor fosse definida como branca ou transparente.
Estou usando o ArcView e não tenho acesso ao analista espacial ou ao analista 3D.
Eu preferiria não ter que atribuir um novo arquivo sld e atualmente estou usando "Usar mapa de cores" ao exportar do ArcGIS Desktop.
arcgis-desktop
geoserver
gdal
geotiff-tiff
geonetwork
enmapping
fonte
fonte
Respostas:
No conceito, você precisa descobrir quais valores de pixel representam células sem dados e editar sua tabela de cores para atribuir os valores VERMELHO, VERDE, AZUL (RGB) na tabela de cores a 255.255.255 para esse valor de célula.
Se você não tiver a licença apropriada para fazer isso no Arc, poderá usar a ferramenta gdal_translate (uma das ferramentas de linha de comando gdal / ogr)
exporte a tabela de cores para o seu tif como um arquivo XML.
gdal_translate -of VRT myImage.tif outColorTable.vrt
abra o arquivo .vrt em um editor de texto e encontre a entrada para o valor dos seus pixels sem dados. Como não há um número de índice para os valores das células, você deve fazer a contagem regressiva para a entrada correta.
edite esse valor para
<Entry c1="255" c2="255" c3="255" c4="255"/>
Agora, crie um novo tif com base na nova tabela de cores
gdal_translate outColorTable.vrt newCorrected.tif
(exemplo adicionado com base no comentário abaixo)
Quando executo o comando no item 2 acima e abro o arquivo .vrt em um editor de texto, vejo o conteúdo XML.
Parte do arquivo inclui linhas que se parecem com isso, eu retirei a maioria delas.
fonte
Eu escrevi um pequeno script gdal python para isso, gdalsetnull.py , um programa simples de linha de comando para definir o valor especificado de raster NODATA, sem criar um novo raster. A rota mais fácil para instalar o GDAL no Windows é via OSGeo4W . Exemplos:
Se você não se importa com alguma sobrecarga de processamento e criação de uma nova imagem em vez de editar no local, também existe o gdal_calc, que permite alterar os valores das células, em vez de apenas atualizar os metadados.
Defina valores de zero e abaixo como nulos:
fonte
nodata
e a célula que diz que eu sou0
e o aplicativo decide se ele ou algum outro valor deve ser ignorado. O ArcGIS respeita os resultados de gdalsetnull.py; Não tenho experiência com o GeoServer.Além de que você preferiu NÃO criar um novo arquivo SLD, aqui está uma entrada de blog sobre como converter o mapa de cores interno de um GeoTIFF em SymbologyEncoding / SLD e definir outra cor lá. No SLD derivado, é fácil definir exatamente quais valores renderizar com uma cor 100% transparente.
fonte