Sé que esa pregunta es bastante vaga, pero por favor tengan paciencia conmigo. Estoy tratando de tener una idea de qué tipo de rendimiento del producto, específicamente el tiempo, las personas han visto para diversas metodologías que han utilizado para crear mosaicos de mapas de google / bing. Existen varios métodos para hacerlo (por ejemplo, gdal2tiles, FME, maptiler, etc.). Un intento inicial de simplemente tomar un PNG grande y crear mosaicos usando imagemagick, en un servidor Linux bastante decente, arrojó algunos tiempos de procesamiento bastante largos, por lo que quería ver qué usan otras personas en la producción. Sería necesario generar nuevos mosaicos al menos diariamente, por lo que el tiempo de respuesta es bastante crítico.
El único requisito real es que puede ejecutarse en un servidor Linux. Obviamente, gratis es mejor, pero no quiero limitarme a eso. La entrada puede ser datos de cuadrícula / ráster sin procesar o una imagen grande. La salida debe ser mosaicos de imágenes capaces de usarse tal cual en google o bing maps.
Solo por el bien de la comparación, diré que los tiempos deben ser para el nivel de zoom 7 del mapa de Google.
Aprecio la ayuda de todos y nuevamente quiero disculparme por lo vago que parece esta pregunta.
ACTUALIZACIÓN: En cuanto a las entradas, actualmente tengo múltiples fuentes de datos (en bruto) en varios formatos: netCDF, GRIB, GRIB2. Además de los datos en bruto en sí, también tengo la capacidad de generar imágenes realmente grandes de esos datos que luego podrían dividirse en mosaicos.
Idealmente, solo estaría cortando la imagen, pero estoy dispuesto a intentar lo que sea que me dé los resultados más rápidos.
fuente
Respuestas:
Estos son algunos de mis resultados para el siguiente archivo ráster:
$ time gdal2tiles [...]
$ time [pngnq && pngcrush por cada ficha, 4500 en total]
Sí, eso es en minutos: optimicé el tamaño de salida, no la velocidad. La máquina es una Intel Xeon virtual de 2x3GHz, 4G de memoria. (Y claramente, gdal2tiles podría hacer uso de cierta paralelización).
fuente
Estaba teniendo problemas para
gdal2tiles
tomar bastante tiempo para procesar un tiff bastante grande (380MB, 39K x 10K píxeles) en los mosaicos de Google para rangos de zoom 0-12. En Ubuntu 12.04 de 64 bits sin multiprocesamiento, tomó casi todo el día (8 horas) procesar el tiff en 1.99 millones de mosaicos a 3.3GB. Como @Stephan Talpalaru menciona anteriormente, hacer lagdal2tiles
carrera en paralelo es la clave. Haga una copia de seguridad de su originalgdal2tiles.py
, luego instale el parche desde el directorio que albergagdal2tiles.py
(el mío era/usr/local/bin
):Ahora corre
gdal2tiles
como lo haces normalmente. Obtuve un aumento increíble en el rendimiento, con mis 4 núcleos (Intel Core i7 3.4GHz) vinculados:Entonces, de ~ 8 horas a 39 MINUTOS . Cambiador de juego.
fuente
Pruebe la versión paralela de gdal2tiles.py: http://trac.osgeo.org/gdal/ticket/4379
fuente
Usted mencionó FME y hay algunos números sobre la creación de mosaicos de mapas en FMEpedia
Es un artículo largo, así que saqué las partes relevantes:
Esto está utilizando un proceso de múltiples máquinas con el servidor FME. También puede consultar esta publicación de Paul Bissett en el blog de WeoGeo: http://www.weogeo.com/blog/Scaling_FME_Engines_on_WeoGeo.html
Tiene una gran película que muestra cómo procesar datos como este en la nube, básicamente disparando un montón de máquinas virtuales de Amazon para distribuir la carga de procesamiento y hacerlo muy rápidamente.
fuente