17 votos

¿Cuál es la diferencia entre gdalwarp y gdal_merge para la creación de mosaicos?

Quería fusionar unos 20 dem tiffs cada uno de unos 100MB, y he usado gdalwarp (conozco la opción de archivo virtual):

gdalwarp $(list_of_tiffs) merged.tiff

Sin embargo, este comando tardó mucho tiempo, y después de unos 15 minutos estaba procesando la quinta imagen del conjunto. Lo terminé.

Entonces descubrí que el script gdal_merge.py puede usarse también para hacer mosaicos, y lo probé:

gdal_merge.py $(list_of_tiffs)

que se completó en menos de 3 minutos.

Como esperaba que ambos comandos produjeran el mismo resultado, me pregunto cuál es la diferencia entre los dos, ¿por qué gdalwarp tarda tanto si el resultado es el mismo?

23voto

Aunque no sé por qué GDAL proporciona este solapamiento en la funcionalidad, asegúrate de configurar la caché para gdalwarp para hacerlo realmente rápido:

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

Asegúrese de no definir más caché de la que tiene RAM en la máquina.

0 votos

No tenía ni idea de este interruptor de ajuste, que efectivamente acelera el proceso. Para referencia 3000 es 3GB (más información trac.osgeo.org/gdal/wiki/UserDocs/GdalWarp ) Tengo NumPy construir con MKL en mi sistema Python, pero todavía gdalwarp debe estar haciendo algo más, ya que NumPy no puede ser más rápido que la implementación en C, aunque puede alcanzarlo.

15voto

Marin Vinčić Puntos 81

Acabo de encontrarme con esta pregunta y una posible respuesta cuando buscaba otra cosa.

gdal_merge.py utiliza el remuestreo del vecino más próximo. Si desea controlar sobre el remuestreo utilizado, debe utilizar gdalwarp en su lugar.

fuente: trac.osgeo.org

7voto

Jim Puntos 61

Gdal_merge.py carga todos los archivos en memoria antes de procesarlos. por lo tanto no es capaz de procesar archivos grandes si tu memoria es pequeña. ver ici

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X