linia gdalwarp wraz z plikiem kształtu

26

Próbuję wyciąć mój plik Raster zgodnie z geometrią pliku kształtu. Korzystam z następującego kodu

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

Ale powoduje to powstanie czarnego koloru poza zakresem geometrii pliku kształtu. Podaję tutaj przykład. Na pierwszym obrazie, który chcę wyciąć. Drugi obraz to wynikowy raster, ale chcę trzeciego rastra, gdzie zewnętrzna geometria będzie zerowa.

1. zdjęcie: Raster WEJŚCIE

1. zdjęcie: Raster WEJŚCIE

2. zdjęcie: Raster WYJŚCIE

2. zdjęcie: Raster WYJŚCIE

wprowadź opis zdjęcia tutaj

3. obraz: Chcę uzyskać taki wynik

Devils Dream
źródło

Odpowiedzi:

34

Musisz użyć -dstalphaopcji, aby gdalwarpnp .:

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

Spowoduje to dodanie pasma alfa do wyjściowej tiff, która maskuje obszar znajdujący się poza linią cięcia.

Późna odpowiedź, ale mam nadzieję, że pomoże komuś innemu z tym samym problemem.

Homme Zwaagstra
źródło
2
bez -srcnodata <in> -dstnodata <out> podpowiedzi Curlew, to nie działało dla mnie.
Jens
2
Cóż, -dstalphamożna używać ze zdjęciami (w zasadzie dodaje pasmo alfa w GeoTIFF i maskuje obszar). Jednak wartości danych pozostają w paśmie źródłowym (w tym przypadku myślę, że jest to wartość 0). Jeśli chcesz pracować z tym jako wartości rastrowe (a nie zdjęcia), -dstalphajest to NIEPRAWIDŁOWE podejście. Odpowiedź @ Curlew jest znacznie lepszą opcją. Ponadto znalazłem -crop_to_cutlineopcję bardzo niebezpieczną, jeśli chcesz zachować dokładną nakładkę (rozmiar w pikselach i odstępy) w rastrze wejściowym. Wolę ustawić -teopcje (ramkę ograniczającą), aby zachować współrzędne pod pełną kontrolą.
jurajb
20

Spróbuj określić wartość nodata z wejściowego rastra i ustawić ją również dla danych wyjściowych. Ponadto dodaj opcję -crop_to_cutline, aby uzyskać dokładne uprawy. Więcej informacji o opcjach tutaj .

gdalwarp -srcnodata <in> -dstnodata <out> -crop_to_cutline -cutline INPUT.shp INPUT.tif OUTPUT.tif
Kulik
źródło
1
Czy możesz rozwinąć nieco więcej? Co jest używane jako <in> i <out>?
Devils Dream
<w> to wartość węzłowa danych wejściowych rastrów, a <nazwa> wartości wyjściowej rastra. Proszę spojrzeć na podany link, gdzie można znaleźć wszystkie informacje i opcje (format wyjściowy, źródła, zakres, ...)
Kulik
2

Możesz użyć opcji klipu rastrowego w QGIS, która uruchamia gdalwarp w tle i konfiguruje odpowiednie opcje dla Ciebie.

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

myśli przestrzenne
źródło
Chcę format ***. Tif
Devils Dream
Kroki opisane w powyższym linku powinny dać ci plik .tif.
przemyślenia przestrzenne
1
Link wydaje się martwy.
Vadim Ovchinnikov
1
@VadimOvchinnikov przejrzał trochę i znalazł, gdzie został przeniesiony, naprawił
DarkCygnus