Qual è la differenza tra gdalwarp e gdal_merge per il mosaico


14

Volevo unire circa 20 dem tiffs ciascuno intorno a 100 MB e ho usato gdalwarp (conosco l'opzione del file virtuale):

gdalwarp $(list_of_tiffs) merged.tiff

Tuttavia, questo comando ha richiesto molto tempo e dopo circa 15 minuti stava elaborando la quinta immagine dal set. Lo interrompo.

Ho quindi scoperto che lo script gdal_merge.py può essere utilizzato anche per il mosaico, e l'ho provato:

gdal_merge.py $(list_of_tiffs)

che è stato completato in meno di 3 minuti.

Come mi aspettavo che entrambi i comandi avrebbero prodotto lo stesso risultato, mi chiedo quale sia la differenza tra i due, sul perché gdalwarp impiega così tanto tempo se il risultato è lo stesso?

Risposte:


21

Anche se non so perché GDAL fornisce questa sovrapposizione di funzionalità, assicurati di impostare la cache per gdalwarp per renderlo davvero veloce:

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

Assicurati di non definire più cache che avere RAM sul computer.


Non avevo idea di questo interruttore di sintonia, che in effetti accelera il processo. Per riferimento 3000 è 3 GB (maggiori informazioni trac.osgeo.org/gdal/wiki/UserDocs/GdalWarp ) Ho NumPy compilato con MKL nel mio sistema Python, ma gdalwarpdevo ancora fare qualcosa di più, poiché NumPy non può essere più veloce di C implementazione, sebbene possa raggiungerlo.
zetah,

è 3000 davvero 3 GB o dovrebbe essere 3072?
miln40,

13

Mi è capitato di imbattermi in questa domanda e in una potenziale risposta quando cercavo qualcos'altro.

gdal_merge.py usa il ricampionamento del vicino più vicino. Se vuoi il controllo sul ricampionamento usato, dovresti usare invece gdalwarp.

fonte: trac.osgeo.org


5

gdal_merge.py carica tutti i file in memoria prima di elaborarli. pertanto non è in grado di elaborare file di grandi dimensioni se la memoria è piccola. vedi qui

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.