Quelle est la différence entre gdalwarp et gdal_merge pour le mosaïquage


14

Je voulais fusionner environ 20 fichiers de démonstration chacun autour de 100 Mo, et j'ai utilisé gdalwarp (je connais l'option de fichier virtuel):

gdalwarp $(list_of_tiffs) merged.tiff

Cependant, cette commande a pris très longtemps, et après environ 15 minutes, elle traitait la 5ème image de l'ensemble. Je le résilie.

J'ai ensuite trouvé que le script gdal_merge.py peut également être utilisé pour le mosaïquage, et je l'ai essayé:

gdal_merge.py $(list_of_tiffs)

qui s'est terminée en moins de 3 minutes.

Comme je m'attendais à ce que les deux commandes produisent le même résultat, je me demande quelle est la différence entre les deux, pourquoi gdalwarp prend autant de temps si le résultat est le même?

Réponses:


21

Bien que je ne sache pas pourquoi GDAL fournit ce chevauchement de fonctionnalités, assurez-vous de définir le cache pour gdalwarp pour le rendre très rapide:

# assuming 3G of cache here:
gdalwarp --config GDAL_CACHEMAX 3000 -wm 3000 $(list_of_tiffs) merged.tiff

Assurez-vous de ne pas définir plus de cache que d'avoir de RAM sur la machine.


Je n'avais aucune idée de ce commutateur de réglage, ce qui accélère en effet le processus. Pour la référence 3000 est 3 Go (plus d'informations trac.osgeo.org/gdal/wiki/UserDocs/GdalWarp ) J'ai construit NumPy avec MKL dans mon système Python, mais je dois encore gdalwarpfaire quelque chose de plus, car NumPy ne peut pas être plus rapide que C mise en œuvre, mais peut y parvenir.
zetah

est 3000 vraiment 3 Go ou devrait-il être 3072?
miln40

13

Je suis tombé sur cette question et une réponse potentielle lorsque je cherchais autre chose.

gdal_merge.py utilise le rééchantillonnage du plus proche voisin. Si vous souhaitez contrôler le rééchantillonnage utilisé, vous devez utiliser gdalwarp à la place.

source: trac.osgeo.org


5

gdal_merge.py charge tous les fichiers en mémoire avant de les traiter. il n'est donc pas en mesure de traiter des fichiers volumineux si votre mémoire est petite. voir ici

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.