відрізок gdalwarp разом із filefile


26

Я намагаюся вирізати мій файл растру відповідно до геометрії формфайлу. Я використовую наступний код

gdalwarp -cutline INPUT.shp INPUT.tif OUTPUT.tif

Але це отримує чорний колір за межами розміру геометрії форми. Я наводжу приклад тут. У першому Зображенні, яке я хочу вирізати. Друге зображення - це растровий результат, але я хочу, щоб 3-й растр, де зовнішня частина геометрії буде нульовою.

1-е зображення: Введення растра

1-е зображення: Введення растра

2-е зображення: Растровий вихід

2-е зображення: Растровий вихід

введіть тут опис зображення

3-е зображення: Я хочу отримати такий результат

Відповіді:


34

Вам потрібно скористатися -dstalphaпараметром, gdalwarpнаприклад:

gdalwarp -cutline INPUT.shp -crop_to_cutline -dstalpha INPUT.tif OUTPUT.tif

Це додасть альфа-діапазону до вихідного тифу, який маскує область, що виходить за межі лінії розрізу.

Пізня відповідь, але, сподіваємось, це допоможе комусь іншому з тією ж проблемою.


2
без підказки -srcnodata <in> -dstnodata <out> Curlew для мене це не спрацювало.
Jens

2
Що ж, -dstalphaдобре використовувати для зображень (це в основному додає альфа-діапазон в GeoTIFF і маскує область). Однак значення даних залишаються у вихідному діапазоні (у цьому випадку я гадаю, що це значення 0). Якщо ви хочете працювати з цим у вигляді растрових значень (а не зображень), -dstalphaце WRONG підхід. @ Curlew відповідь є набагато кращим варіантом. Крім того, я знайшов -crop_to_cutlineваріант дуже небезпечним, якщо вам потрібно зберегти точне накладання (розмір пікселя та інтервал) з вхідним растром. Я вважаю за краще встановити -teпараметри (обмежувальне поле), щоб тримати координати під повним контролем.
jurajb

20

Спробуйте вказати значення nodata з вхідного растру та встановити його також для виводу. Крім того, додайте параметр -crop_to_cutline, щоб зробити точні врожаї. Детальніше про варіанти тут .

gdalwarp -srcnodata <in> -dstnodata <out> -crop_to_cutline -cutline INPUT.shp INPUT.tif OUTPUT.tif

1
Чи можете ви детальніше розробити? Що використовується як <in> і <out>?
Дьяволів сон

<in> - це значення вашого нодату для растрових даних і <out> для вихідного растру. Перегляньте надане посилання, де ви можете знайти всю інформацію та параметри (формат виводу, джерело, розмір, ...)
Curlew

2

Ви можете використовувати опцію растрового кліпу в QGIS, яка запускає gdalwarp у фоновому режимі і налаштовує правильні для вас варіанти.

http://www.qgistutorials.com/en/docs/raster_mosaicing_and_clipping.html


Я хочу ***. Tif формат
Devils Dream

Етапи, викладені у посиланні вище, повинні дати вихід .tif.
spatialthoughts

1
Посилання здається мертвою.
Вадим Овчинников

1
@VadimOvchinnikov трохи переглянув і виявив, куди його перемістили, виправив
DarkCygnus
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.