Conversion d'énormes géotiffes en mosaïque de tuiles

9

J'essaie de convertir un géotiff compressé LZW de 20 Go en un tilepyramid en utilisant gdal2tiles. Malheureusement, gdal2tiles ne semble pas être en mesure de gérer cela, après l'avoir exécuté pendant 10 heures, il n'a pas encore atteint le premier "point". J'ai essayé cela avec un fichier plus petit (1 Go) et cela a bien fonctionné. Ma question est maintenant, existe-t-il un autre logiciel qui me permet de faire cela (commercial ou open source)? On peut créer des tuiles à partir de GlobalMapper, mais je ne peux pas charger le fichier de 20 Go en mémoire.

AndreJ
la source

Réponses:

4

Si vous utilisez un ordinateur avec un processeur multicœur, vous pouvez trouver Parallel GDAL2Tiles (ppgdal2tiles) utile. Dans ce type d'ordinateurs, ppgdal2tiles devrait fonctionner plus rapidement que la version "single-core". Citant la page Web ppgdal2tiles:

"La version standard de GDAL2Tiles utilise un seul cœur de traitement à la fois.

Si vous avez un ordinateur avec plus de processeurs (ou l'un des processeurs Mutli-Core d'Intel ou AMD), plusieurs processus peuvent être démarrés pour utiliser la puissance de calcul totale de votre ordinateur pour terminer le rendu des tuiles le plus rapidement possible. "

dariapra
la source
Et vous pouvez certainement demander de l'aide à Petr pour résoudre ce problème et soutenir le projet s'il en est un. -> maptiler.com
reloué
Le lien fourni est mort.
mrgloom
4

J'ai eu le même problème il y a quelques semaines à peine. Pour une fois, vous utilisez l'option

--config GDAL_CACHEMAX 2047

(doit rester en dessous de 2048 pour le moment!) Et deuxièmement, vous pouvez copier le script gdal2tiles.py vers un autre emplacement et modifier la boucle for qui itère sur les tuiles pour compter en arrière. dans ma version de gdal2tiles qui est à la ligne 1174:

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

changer en:

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

puis utilisez les deux scripts avec les mêmes arguments en même temps et ajoutez -e (c.-à-d. continuez, ne supprimez pas les fichiers déjà existants) Notez que vous devez quitter l'un des scripts à mesure qu'ils arrivent à 50% d'achèvement (de la base tuiles), ou vous obtiendrez des tuiles cassées. Si vous oubliez, recherchez simplement tous les fichiers de taille 0, supprimez-les et recommencez avec le commutateur -e;)

espérons que cela a aidé


la source
Une question: pourquoi GDAL_CACHEMAX doit-il rester en dessous de 2047? Je l'utilise avec bonheur avec 8 Go ou plus pour gdalwarp et autres ...
markusN
1

Essayez le deuxième correctif de ce problème pour une version parallèle de gdal2tiles.py en utilisant le module «multiprocessing»: http://trac.osgeo.org/gdal/ticket/4379

J'ai obtenu une accélération de 5,5 x sur un processeur à 6 cœurs.

Stefan Talpalaru
la source
1

J'espère que FME pourra le faire. Il peut certainement faire le tuilage - et je suis convaincu qu'il peut gérer les grandes tailles de fichiers. La partie de pyramide raster est assez simple, voir l' exemple de pyramide raster dans les pages d'exemples et de démos.

Vous pouvez obtenir une copie d'évaluation pour l'essayer en premier

Mark Ireland, Product Evangelist, Safe Software

Mark Ireland
la source
1
c'est une publicité limite. Pour le repousser hors de la clôture en une réponse solide, veuillez résumer comment on utiliserait FME pour produire des tuiles et un lien vers la documentation qui couvre directement le problème des PO plutôt que juste la première page. Merci.
matt wilkie
Désolé. Ce n'était pas censé l'être. La partie de pyramide raster est assez simple ( fmepedia.safe.com/articles/Samples_and_Demos/… ). J'étais juste un peu vague car la question était plus sur la performance et je ne voulais pas m'engager alors que je ne l'avais pas essayé personnellement. C'est pourquoi j'ai invité le PO à l'essayer directement.
Mark Ireland