Gdalwarp Schnittlinie zusammen mit Shapefile


26

Ich versuche, meine Rasterdatei gemäß einer Shapefile-Geometrie zu beschneiden. Ich benutze den folgenden Code

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

Es entsteht jedoch eine schwarze Farbe außerhalb der Shapefile-Geometrie. Ich gebe hier das Beispiel. Im ersten Bild, das ich ausschneiden möchte. Das zweite Bild ist das resultierende Raster, aber ich möchte das 3. Raster, bei dem die Außenseite der Geometrie null ist.

1. Bild: INPUT Raster

1. Bild: INPUT Raster

2. Bild: OUTPUT Raster

2. Bild: OUTPUT Raster

Bildbeschreibung hier eingeben

3. Bild: Ich möchte so eine Ausgabe bekommen

Antworten:


34

Sie müssen die -dstalphaOption verwenden, um gdalwarpzB:

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

Dies fügt dem Ausgangs-TIFF ein Alpha-Band hinzu, das den außerhalb der Schnittlinie liegenden Bereich maskiert.

Eine späte Antwort, aber hoffentlich hilft es jemandem, der das gleiche Problem hat.


2
ohne den -srcnodata <in> -dstnodata <out> -Hinweis von Curlew hat es bei mir nicht funktioniert.
Jens

2
Gut, -dstalphaist in Ordnung mit Bildern zu verwenden (es fügt im Grunde ein Alpha-Band in GeoTIFF hinzu und maskiert den Bereich). Datenwerte verbleiben jedoch im Quellband (in diesem Fall ist es vermutlich der Wert 0). Wenn Sie mit diesen Werten als Rasterwerte arbeiten möchten (keine Bilder), -dstalphaist der Ansatz FALSCH. @ Curlew-Antwort ist eine viel bessere Option. Außerdem fand ich die -crop_to_cutlineOption sehr gefährlich, wenn Sie eine genaue Überlagerung (Pixelgröße und Abstand) mit dem Eingabe-Raster benötigen. Ich bevorzuge es, -teOptionen (Begrenzungsrahmen) festzulegen, um die Koordinaten unter Kontrolle zu halten.
2.

20

Versuchen Sie, den Knotenwert aus Ihrem Eingabe-Raster anzugeben und ihn auch für die Ausgabe festzulegen. Fügen Sie außerdem die Option -crop_to_cutline hinzu, um genaue Ernten vorzunehmen. Mehr zu den Optionen hier .

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

1
Können Sie ein bisschen mehr ausarbeiten? Was wird als <in> und <out> verwendet?
Devils Dream

<in> ist der Nodata-Wert Ihres Eingabe-Rasters und <out> für Ihr Ausgabe-Raster. Bitte werfen Sie einen Blick auf den bereitgestellten Link, wo Sie alle Informationen und Optionen (Ausgabeformat, Quelle, Umfang, ...) finden
Curlew

2

Sie können die Rasterclip-Option in QGIS verwenden, die gdalwarp im Hintergrund ausführt und die richtigen Optionen für Sie konfiguriert.

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


Ich möchte ein *** tif-Format
Devils Dream

Die Schritte, die in dem obigen Link beschrieben werden, sollten Ihnen eine TIF-Ausgabe geben.
Spatialthoughts

1
Der Link scheint tot zu sein.
Vadim Ovchinnikov

1
@ VadimOvchinnikov blätterte ein bisschen und fand, wo es verschoben wurde,
reparierte
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.