1 votos

gdal2tiles_parallel parece ralentizarse significativamente con imágenes de alta resolución.

Tengo 3 imágenes que he estado tratando de 'tileize'

  • 1 86,000*41,000
  • 2 86,000*21,000

ambos son simples .pngs

He estado usando el versión paralela de gdal2tiles en una caja DigitalOcean con 20cores y 64GB de Ram(Ubuntu 14.04 x64) con el paquete gdal-pin instalado.

Siempre que intento poner las imágenes en mosaico con el comando

python gdal2tiles_parallel.py -v -p raster -k Something.vrt -z 1-7 -r lanczos

Empieza bien, pero después de un minuto o dos se vuelve más lento que un caracol. Unas pocas imágenes por minuto. ¿Hay alguna opción de configuración que me falta o es simplemente la imagen demasiado grande? Las que voy a procesar son de 800mb a 1,5gb.

2voto

oldbeamer Puntos 926

He estado experimentando este problema al intentar convertir una trama de 86400x33600 en mosaicos (zoom 0-10) con el script gdal2tiles_parallel.py. Creo que he encontrado una manera de evitar la desaceleración, aunque no explica por qué se produjo en el primer lugar.

Yo inicialmente intentaría ejecutar con el siguiente comando. La secuencia de comandos de salida ~ 15k archivos (~ 50 MB) en cuestión de minutos y luego reducir la velocidad a unos pocos archivos por minuto a pesar de mostrar todos los procesadores funcionando a plena capacidad. La ralentización se producía previsiblemente cada vez que reiniciaba el script.

Este es el comando que utilicé para reducir la velocidad:

python gdal2tiles_parallel.py -w all -k -z 0-10 -a 255 myinput.vrt myoutput

He descubierto que la eliminación de los argumentos para las salidas de metadatos como -w todos y -k (para web y KML respectivamente) parecen solucionar la ralentización.

Así, el script se ejecuta a una velocidad más rápida y consistente con el siguiente comando:

python gdal2tiles_parallel.py -z 0-10 -a 255 myinput.vrt myoutput

Esta solución tiene el efecto secundario de no generar los archivos web y kml que normalmente genera gdal2tiles, los cuales puede que quieras utilizar para ver tu superposición en mosaico. Simplemente copiando los archivos html de otra ejecución gdal2tiles_parallel sobre un subconjunto a la nueva carpeta funcionó para mí. Es posible que tenga que editar el código html para alterar los niveles de zoom min-max para dar cabida a sus nuevos azulejos. Sin embargo, no creo que esta solución de copiar y pegar funcione para el KML.

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