Umwandlung riesiger Geotiffs in Kachelpyramide

9

Ich versuche, einen komprimierten Geotiff mit 20 GB LZW mithilfe von gdal2tiles in eine Kachelpyramide umzuwandeln. Leider scheint gdal2tiles nicht in der Lage zu sein, dies zu tun, nachdem es 10 Stunden lang ausgeführt wurde, hat es immer noch nicht den ersten "Punkt" erreicht. Ich habe dies mit einer kleineren Datei (1 GB) versucht und es hat gut funktioniert. Meine Frage ist jetzt, gibt es eine andere Software, die mir dies ermöglicht (kommerziell oder Open Source)? Man kann Kacheln aus GlobalMapper erstellen, aber ich kann die 20-GB-Datei nicht in den Speicher laden.

AndreJ
quelle

Antworten:

4

Wenn Sie einen Computer mit Multicore-Prozessor verwenden, ist Parallel GDAL2Tiles (ppgdal2tiles) hilfreich. In dieser Art von Computern sollten ppgdal2tiles schneller ausgeführt werden als die "Single-Core" -Version. Zitieren der ppgdal2tiles-Webseite:

"Die Standardversion von GDAL2Tiles verwendet jeweils nur einen Verarbeitungskern.

Wenn Sie einen Computer mit mehr Prozessoren haben (oder einen der Mutli-Core-Prozessoren von Intel oder AMD), können mehrere Prozesse gestartet werden, um die volle Rechenleistung Ihres Computers zu nutzen und das Kachel-Rendering so schnell wie möglich abzuschließen. "

Dariapra
quelle
Und Sie können Petr sicherlich um Hilfe bei diesem Problem bitten und das Projekt unterstützen, wenn es eines ist. -> maptiler.com
Relet
Vorausgesetzt, der Link ist tot.
Mrgloom
4

Ich hatte vor ein paar Wochen das gleiche Problem. Ausnahmsweise nutzen Sie die Option

--config GDAL_CACHEMAX 2047

(muss vorerst unter 2048 bleiben!) Und zweitens können Sie das Skript gdal2tiles.py an einen anderen Speicherort kopieren und die for-Schleife ändern, die über die Kacheln iteriert, um rückwärts zu zählen. In meiner Version von gdal2tiles steht das in Zeile 1174:

for ty in range(tmaxy, tminy-1, -1):

ändern:

for ty in range(tminy, tmaxy+1):

Verwenden Sie dann beide Skripte mit denselben Argumenten gleichzeitig und fügen Sie -e hinzu (dh fahren Sie fort, löschen Sie keine bereits vorhandenen Dateien). Beachten Sie, dass Sie eines der Skripte beenden müssen, wenn sie zu 50% fertig sind (der Basis) Fliesen), oder Sie erhalten kaputte Fliesen. Wenn Sie es vergessen haben, suchen Sie einfach nach allen Dateien mit der Größe 0, löschen Sie sie und beginnen Sie von vorne - mit der Option -e;)

hoffe das hat geholfen


quelle
Eine Frage: Warum muss GDAL_CACHEMAX unter 2047 bleiben? Ich benutze es gerne mit 8 GB oder mehr für GDALWARP und dergleichen ...
MarkusN
1

Probieren Sie den zweiten Patch aus diesem Problem für eine parallele Version von gdal2tiles.py mit dem Modul 'Multiprocessing' aus: http://trac.osgeo.org/gdal/ticket/4379

Ich habe eine 5,5-fache Beschleunigung auf einer 6-Kern-CPU.

Stefan Talpalaru
quelle
1

Ich würde hoffen, dass FME das kann. Es kann sicherlich die Kacheln erledigen - und ich bin zuversichtlich, dass es die großen Dateigrößen bewältigen kann. Der Teil mit der Rasterpyramide ist ziemlich einfach, siehe Beispiel für die Rasterpyramide auf den Beispiel- und Demoseiten.

Sie können eine Testversion erhalten , um sie zuerst anzuprobieren

Mark Ireland, Produktevangelist, sichere Software

Mark Irland
quelle
1
Dies ist eine Grenzwerbung. Um es zu einer soliden Antwort zu machen, fassen Sie bitte zusammen, wie man FME verwenden würde, um Kacheln zu erstellen, und verlinken Sie auf eine Dokumentation, die das OP-Problem direkt und nicht nur auf der Titelseite abdeckt. Vielen Dank.
Matt Wilkie
Es tut uns leid. Sollte nicht sein. Der Teil der Rasterpyramide ist ziemlich einfach ( fmepedia.safe.com/articles/Samples_and_Demos/… ). Ich war nur ein wenig vage, da die Frage eher die Leistung betraf und ich mich nicht festlegen wollte, wenn ich es nicht persönlich versucht hatte. Deshalb habe ich das OP eingeladen, es direkt zu versuchen.
Mark Ireland