Ich versuche, eine große ECW zu schneiden (Details unten), aber die Rasterdatei ist zu groß, um vollständig verarbeitet zu werden.
Einige Details der ECW unten
Treiber: ECW / ERDAS Compressed Wavelets (SDK 5.0)
Dateigröße: 50 GB Größe ist 450000, 565081 Pixelgröße: 0,15 0,15 COLORSPACE = RGB COMPRESSION_RATE_TARGET = 9 VERSION = 2 Anzahl der Bänder: 4
Der Bereich, den ich ausschneiden möchte, ist ungefähr 1/5 der Originaldatei.
Hier sind die Methoden, die ich ohne Erfolg ausprobiert habe:
Benutzte Arcgis, um das ecw in tiff / anderen Formaten zu speichern ... (Ich gab schnell auf)
Verwendet Qgis und sein Clipper-Tool ... die Dateierstellung blieb bei etwa 40% stecken.
Verwendet gdal_translate aus OSGeo4W mit anderen Optionen als Qgis. (Versuchte, dass der Gedanke, dass möglicherweise etwas Speicher freigegeben wird, ohne Qgis zu verwenden, der Trick wäre)
Ich habe gdal_retile verwendet und gedacht, ich würde das Bild in Stücke schneiden und das Bild nehmen, das ich wollte. Der Befehl "gdal_retile -ps 10000 10000 -of ecw -tileIndex tile.shp -targetDir input.ecw Dies stürzte noch schneller ab"
Hat jemand eine Idee?
Zur Info starte ich Windows 7 64bit auf einem i5-3470 3.2Ghz mit 16gb RAM.
Sie können es direkt mit dem gdal-Tool gdal_translate schneiden, wenn Sie die Koordinaten Ihres Interessengebiets kennen, wenn es georeferenziert ist:
Wenn nicht, verwenden Sie die
-srswin
Flagge wie folgt:gdal_translate -srcwin [xoff yoff xsize ysize] infile outfile.
Eine andere Möglichkeit besteht darin, mit gdalbuildvrt ein "virtuelles" Raster (von einigen Kilobyte) zu erstellen , das auf Ihren ursprünglichen Datensatz verweist .
Leider benötigen Sie eine georeferenzierte Datei für die Verwendung von gdalbuildvrt.
Vergessen Sie nach dem Clip nicht, Pyramiden für eine einfache Anzeige zu erstellen. Mit dem folgenden Befehl werden externe Pyramiden erstellt, die mit dem DEFLATE- Algorithmus (verlustfrei) komprimiert wurden :
Als letzten Schritt können Sie auch die Statistiken berechnen, um einige dumme Probleme mit einem bestimmten kommerziellen Programm zu vermeiden:
quelle
gdaladdo -ro input.vrt 2 4 8 16
danngdaladdo -ro --config COMPRESS_OVERVIEW DEFLATE input.vrt 2 4 8 16
. Mein Ziel ist es, mit einer ECW zu enden, also habe ich versucht,gdal_translate -of ECW input.vrt output.ecw
folgenden Fehler zu bekommen:0ERROR 6: GDALDriver::Create() ... no create method implemented for this format.
gdalinfo --formats
. Wenn Sie die ECW nicht in der Liste sehen, versuchen Sie diese Anweisungen: faunalia.pt/node/438Ein direkter "Clip"
gdalwarp
sollte funktionieren (ich weiß, dass dies eine sehr alte Frage ist: 18 Monate IRL sind wie eine geologische Epoche in Internetjahren).Ich habe eine 70-Gbit-Antenne (ECW, 94000 x 81000 Pixel bei 10 cm / Pixel), und GDAL kann sie mit einem Shapefile beliebig beschneiden
gdalwarp -cutline [clipfile] -crop_to_cutline [infile] [outfile]
in der Windows-Befehlszeile. (Mir ist klar, dass für diese Lösung ein Shapefile für den interessierenden Zielbereich erstellt werden muss, aber das ist nicht die größte Herausforderung, die GIS bekannt ist.)
Das Extrahieren eines Teils in der Größe eines halben Vorortes dauert ~ 0,4 Sekunden. Das Aufteilen der Datei in Viertel dauert 4 Sekunden. Die technischen Daten meines Computers unterscheiden sich nicht wesentlich (i7-4770 bei 3,4 GHz, 16 GB RAM, Win7-64 Ultimate).
quelle