Я готовлю данные для включения в узел геосети, где карты отображаются через геосервер.
Проблема в том, что ячейки, у которых нет данных, отображаются в геотеке черными, и мне бы хотелось, чтобы цвет был белым или прозрачным.
Я использую ArcView и не имею доступа ни к Spatial Analyst, ни к 3D-аналитикам.
Я бы предпочел не назначать новый файл sld, и в настоящее время я использую «Использовать цветовую карту» при экспорте из ArcGIS Desktop.
arcgis-desktop
geoserver
gdal
geotiff-tiff
geonetwork
enmapping
источник
источник
Ответы:
В принципе, вам нужно выяснить, какие значения пикселей представляют ячейки без данных, а затем отредактировать таблицу цветов, чтобы назначить значения КРАСНЫЙ, ЗЕЛЕНЫЙ, СИНИЙ (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"/>
Теперь создайте новый TIF на основе новой таблицы цветов
gdal_translate outColorTable.vrt newCorrected.tif
(пример добавлен на основе комментария ниже)
Когда я запускаю команду в пункте № 2 выше и открываю файл .vrt в текстовом редакторе, я вижу содержимое XML.
Часть файла содержит строки, которые выглядят следующим образом, большинство из них я вырезал.
источник
Я написал небольшой скрипт на gdal python для этого, gdalsetnull.py , простую программу командной строки, которая устанавливает заданное значение растра NODATA, не создавая новый растр. Самый простой способ установить GDAL на Windows - через OSGeo4W . Примеры:
Если вы не возражаете против некоторой дополнительной обработки и создания нового изображения, а не редактирования на месте, есть также gdal_calc, который позволяет фактически изменять значения ячеек, а не просто обновлять метаданные.
Установите значения от нуля и ниже до нуля:
источник
nodata
ячейкой и ячейкой, в которой указано, что я есть,0
и приложение решает, следует ли игнорировать это или какое-либо другое значение. ArcGIS уважает результаты gdalsetnull.py; У меня нет опыта работы с GeoServer.Помимо того, что вы предпочли НЕ создавать новый файл SLD, здесь есть запись в блоге о том, как преобразовать внутреннюю цветовую карту GeoTIFF в SymbologyEncoding / SLD и определить там другой цвет. В производном SLD легко определить, какие именно значения будут отображаться со 100% прозрачным цветом.
источник