Conversione di enormi geotiff in tilepyramid


9

Sto cercando di convertire un geotiff compresso LZW da 20 GB in un tilepyramid usando gdal2tiles. Sfortunatamente, gdal2tiles sembra non essere in grado di gestirlo, dopo averlo eseguito per 10 ore non ha ancora raggiunto il primo "punto". Ho provato questo con un file più piccolo (1 GB) e ha funzionato bene. La mia domanda ora è: esiste qualche altro software che mi permetta di farlo (commerciale o open source)? È possibile creare riquadri da GlobalMapper, ma non riesco a caricare il file da 20 GB in memoria.

Risposte:


4

Se stai usando un computer con processore multicore puoi trovare utili Parallel GDAL2Tiles (ppgdal2tiles). In questo tipo di computer, ppgdal2tiles dovrebbe funzionare più velocemente della versione "single-core". Citando la pagina web ppgdal2tiles:

"La versione standard di GDAL2Tiles utilizza solo un core di elaborazione alla volta.

Nel caso in cui si disponga di un computer con più processori (o uno dei processori Mutli-Core di Intel o AMD), è possibile avviare diversi processi per utilizzare tutta la potenza di elaborazione del computer per completare il rendering delle piastrelle il più rapidamente possibile. "


E puoi certamente chiedere aiuto a Petr per risolvere questo problema e supportare il progetto se lo è. -> maptiler.com
relet

Il link fornito è morto.
mrgloom,

4

Ho avuto lo stesso problema solo poche settimane fa. Per una volta, usi l'opzione

--config GDAL_CACHEMAX 2047

(per il momento deve rimanere al di sotto del 2048!) E in secondo luogo, è possibile copiare lo script gdal2tiles.py in un'altra posizione e modificare il for-loop che scorre sulle tessere per contare all'indietro. nella mia versione di gdal2tiles che è alla linea 1174:

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

cambia in:

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

quindi usa entrambi gli script con gli stessi argomenti allo stesso tempo e aggiungi -e (cioè continua, non eliminare i file già esistenti) Nota, devi chiudere uno degli script mentre arrivano al completamento del 50% (della base tessere), o otterrai tessere rotte. Se si dimentica, basta cercare tutti i file con dimensione 0, eliminarli e ricominciare da capo - con l'opzione -e;)

spero che abbia aiutato


Una domanda: perché GDAL_CACHEMAX deve rimanere al di sotto del 2047? Lo uso felicemente con almeno 8 GB per gdalwarp e simili ...
markusN


1

Spero che FME sia in grado di farlo. Certamente può fare la piastrellatura - e sono sicuro che possa gestire file di grandi dimensioni. La parte piramidale raster è piuttosto semplice, vedi esempio di piramide raster nelle pagine di esempi e demo.

Puoi ottenere una copia di valutazione per provarla prima

Mark Ireland, Product Evangelist, Safe Software


1
questa è una pubblicità borderline. Per spingerlo fuori dal recinto in una risposta solida, si prega di riassumere come si dovrebbe usare FME per produrre tessere e collegarsi alla documentazione che copre direttamente il problema dei PO piuttosto che solo la prima pagina. Grazie.
matt wilkie,

Scusate. Non doveva esserlo. La parte piramidale raster è piuttosto semplice ( fmepedia.safe.com/articles/Samples_and_Demos/… ). Ero solo un po 'vago perché la domanda era più sulle prestazioni e non volevo impegnarmi quando non l'avevo provato personalmente. Ecco perché ho invitato l'OP a provarlo direttamente.
Mark Ireland,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.