cutline gdalwarp bersama dengan shapefile

26

Saya mencoba untuk klip file Raster saya sesuai dengan geometri shapefile. Saya menggunakan kode berikut

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

Tapi itu menghasilkan warna hitam di luar batas geometri shapefile. Saya memberi contoh di sini. Pada Gambar pertama yang ingin saya klip. Gambar kedua adalah raster yang dihasilkan tetapi saya ingin Raster ke-3 di mana bagian luar geometri akan menjadi nol.

Gambar 1: INPUT Raster

Gambar 1: INPUT Raster

Gambar 2: Raster OUTPUT

Gambar 2: Raster OUTPUT

masukkan deskripsi gambar di sini

Gambar 3: Saya ingin mendapatkan output seperti ini

Iblis Mimpi
sumber

Jawaban:

34

Anda perlu menggunakan -dstalphaopsi untuk gdalwarpmisalnya:

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

Ini akan menambahkan pita alpha ke tiff keluaran yang menutupi area yang berada di luar cutline.

Jawaban yang terlambat, tapi semoga akan membantu orang lain dengan masalah yang sama.

Homme Zwaagstra
sumber
2
tanpa petunjuk -srcnodata <in> -dstnodata <out> oleh Curlew itu tidak berfungsi untuk saya.
Jens
2
Baiklah, -dstalphaboleh digunakan dengan citra (pada dasarnya menambahkan Pita alfa di GeoTIFF dan menutupi area tersebut). Namun, nilai data tetap di pita sumber (dalam hal ini saya kira, itu adalah nilai 0). Jika Anda ingin bekerja dengan ini sebagai nilai raster (bukan citra), -dstalphapendekatan SALAH. @ Jawaban curlew adalah pilihan yang lebih disukai. Juga, saya menemukan -crop_to_cutlineopsi yang sangat berbahaya, jika Anda perlu menjaga overlay yang tepat (ukuran piksel dan jarak) dengan input raster. Saya lebih suka mengatur -teopsi (kotak pembatas) untuk menjaga koordinat di bawah kendali penuh.
jurajb
20

Cobalah untuk menentukan nilai nodata dari raster input Anda dan atur juga untuk output. Selanjutnya tambahkan opsi -crop_to_cutline untuk membuat pemangkasan yang tepat. Lebih lanjut tentang opsi di sini .

gdalwarp -srcnodata <in> -dstnodata <out> -crop_to_cutline -cutline INPUT.shp INPUT.tif OUTPUT.tif
Curlew
sumber
1
Bisakah Anda menguraikan lebih sedikit? Apa yang digunakan sebagai <in> dan <out>?
Setan Mimpi
<in> adalah input raster nilai nodata Anda dan <out> untuk raster output Anda. Silakan lihat tautan yang disediakan di mana Anda dapat menemukan semua informasi dan opsi (format output, sumber, luas, ...)
Curlew
2

Anda dapat menggunakan opsi klip raster di QGIS yang menjalankan gdalwarp di latar belakang dan mengonfigurasi opsi yang tepat untuk Anda.

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

spatialthoughts
sumber
Saya ingin format ***. Tif
Devils Dream
Langkah-langkah yang diuraikan dalam tautan di atas akan memberi Anda output .tif.
spatialthoughts
1
Tautannya tampaknya sudah mati.
Vadim Ovchinnikov
1
@VadimOvchinnikov melihat-lihat sedikit dan menemukan di mana ia dipindahkan, memperbaikinya
DarkCygnus