Я пытаюсь обрезать свой растровый файл в соответствии с геометрией шейп-файла. Я использую следующий код
gdalwarp -cutline INPUT.shp INPUT.tif OUTPUT.tif
Но это приводит к черному цвету за пределами геометрии шейп файла. Я привожу пример здесь. В первом изображении, которое я хочу обрезать. Второе изображение - результирующий растр, но я хочу третий растр, где внешняя часть геометрии будет нулевой.
1-е изображение: INPUT Raster
2-е изображение: OUTPUT Raster
3-е изображение: я хочу получить такой вывод
-dstalpha
это нормально для использования с изображениями (он в основном добавляет альфа-полосу в GeoTIFF и маскирует область). Тем не менее, значения данных остаются в исходном диапазоне (в этом случае я предполагаю, что это значение 0). Если вы хотите работать с этим как с растровыми значениями (не с изображениями),-dstalpha
это НЕПРАВИЛЬНЫЙ подход. Ответ @ Curlew является гораздо более предпочтительным вариантом. Кроме того, я нашел-crop_to_cutline
вариант очень опасным, если вам нужно сохранить точное наложение (размер пикселя и интервал) с входным растром. Я предпочитаю устанавливать-te
параметры (ограничивающий прямоугольник), чтобы держать координаты под полным контролем.Попробуйте указать значение nodata из входного растра и установить его для вывода. Кроме того, добавьте опцию -crop_to_cutline, чтобы сделать точные кадрирования. Подробнее о вариантах здесь .
источник
Вы можете использовать опцию растрового клипа в QGIS, которая запускает gdalwarp в фоновом режиме и настраивает нужные вам параметры.
http://www.qgistutorials.com/en/docs/raster_mosaicing_and_clipping.html
источник