Ich bereite Daten für die Aufnahme in einen Geonetzwerkknoten vor, wo die Karten über den Geoserver angezeigt werden.
Das Problem ist, dass Zellen, die "keine Daten" enthalten, im Geotiff als schwarz angezeigt werden und ich möchte, dass die Farbe auf weiß oder transparent eingestellt wird.
Ich verwende ArcView und habe weder Zugriff auf Spatial Analyst noch auf 3D-Analysten.
Ich würde es vorziehen, keine neue sld-Datei zuweisen zu müssen und verwende derzeit "Colormap verwenden" beim Exportieren von ArcGIS Desktop.
arcgis-desktop
geoserver
gdal
geotiff-tiff
geonetwork
Abbildung
quelle
quelle
Antworten:
Im Konzept müssen Sie herausfinden, welche Pixelwerte Zellen ohne Daten darstellen, und dann Ihre Farbtabelle bearbeiten, um den Werten für ROT, GRÜN, BLAU (RGB) in der Farbtabelle 255.255.255 für diesen Zellenwert zuzuweisen.
Wenn Sie in Arc nicht über die entsprechende Lizenz verfügen, können Sie das Tool "gdal_translate" (eines der Befehlszeilen-Tools "gdal / ogr") verwenden.
Exportieren Sie die Farbtabelle für Ihr TIF als XML-Datei.
gdal_translate -of VRT myImage.tif outColorTable.vrt
Öffnen Sie die .vrt-Datei in einem Texteditor und suchen Sie den Eintrag für den Wert Ihrer No-Data-Pixel. Es gibt keine Indexnummer für die Zellenwerte, daher müssen Sie bis zum richtigen Eintrag herunterzählen.
Bearbeiten Sie diesen Wert, um zu sein
<Entry c1="255" c2="255" c3="255" c4="255"/>
Erstellen Sie nun ein neues TIF basierend auf der neuen Farbtabelle
gdal_translate outColorTable.vrt newCorrected.tif
(Beispiel hinzugefügt aufgrund des Kommentars unten)
Wenn ich den Befehl in Punkt 2 oben ausführe und die .vrt-Datei in einem Texteditor öffne, sehe ich XML-Inhalte.
Ein Teil der Datei enthält Zeilen, die so aussehen, ich habe die meisten davon ausgeschnitten.
quelle
Ich habe ein kleines gdal-Python-Skript dafür geschrieben, gdalsetnull.py , ein einfaches Befehlszeilenprogramm zum Festlegen des angegebenen Rasterwerts NODATA, ohne ein neues Raster zu erstellen. Der einfachste Weg, GDAL unter Windows zu installieren, führt über OSGeo4W . Beispiele:
Wenn Sie sich nicht um zusätzlichen Verarbeitungsaufwand und das Erstellen eines neuen Bildes kümmern , anstatt es direkt zu bearbeiten, gibt es auch gdal_calc, mit dem Sie die Zellenwerte ändern können, anstatt nur die Metadaten zu aktualisieren.
Setzen Sie die Werte von Null und darunter auf Null:
quelle
nodata
und einer Zelle, die angibt, dass ich es bin,0
und der Anwendung, ob sie oder ein anderer Wert ignoriert werden soll. ArcGIS respektiert die Ergebnisse von gdalsetnull.py. Ich habe keine Erfahrung mit GeoServer.Abgesehen davon, dass Sie es vorgezogen haben, KEINE neue SLD-Datei zu erstellen, finden Sie hier einen Blogeintrag zum Konvertieren der internen Colormap eines GeoTIFF in ein SymbologyEncoding / SLD und Definieren einer anderen Farbe. Im abgeleiteten SLD ist es einfach zu definieren, welche Werte mit einer 100% transparenten Farbe dargestellt werden sollen.
quelle