¿Cómo optimizar la representación de mosaico de Openstreetmap?

8

Actualmente estoy tratando de representar Agua (3.198.333 registros) y fronteras mundiales detalladas (procesado_p) para el mundo. Tengo éxito en renderizar ambas capas, pero no estoy contento con el rendimiento.

Mi configuración actual es la siguiente:

  • Instancia de Amazon EC2 (m2.2xlarge)
  • 34,2 GB de memoria
  • 13 unidades de cálculo EC2 (4 núcleos virtuales con 3.25 unidades de cálculo EC2 cada uno)
  • 850 GB de almacenamiento de instancias
  • Plataforma de 64 bits
  • Rendimiento de E / S: alto
  • Mapnik, 4 hilos
  • Configuración de Postgresql basada en estos puntos de referencia
  • Índice GiST en su lugar para todas mis capas

Algunas de mis ideas para aumentar el rendimiento :

  • Simplificando mis características
  • No renderice baldosas de agua: cuando la carga con capas abiertas puede configurar la falla de carga en color azul
  • Divida las características del agua del mundo en varias secciones y explíquele explícitamente a mapnik sus límites. Por ejemplo, si divido las características del agua de América del Norte, cuando Mapnik genera mosaicos para Australia, no debería consultar a América del Norte para ver si alguna de sus características está en los mosaicos.
  • Mi segunda idea es un poco más loca. Dado que Mapnik realiza una consulta espacial para cada mosaico con el fin de encontrar características para procesar, puedo realizar esta consulta de antemano para todas mis capas. Supongo que esto ahorraría algo de potencia de procesamiento.

Mi pregunta: ¿Qué más puedo hacer para optimizar la representación de mosaicos?

RK
fuente
¿Has visto algunos consejos para "Optimizar el renderizado con PostGIS" en github.com/mapnik/mapnik/wiki/OptimizeRenderingWithPostGIS ?
Mapperz
Hola mapperz Sí, me aseguré de cargar solo las características del agua en mi base de datos. Entonces, todos mis polígonos y líneas ya están prefiltrados y son características de agua. También aspiré mi base de datos y apliqué los índices sugeridos.
Hola, no he usado Mapnik antes, pero si es posible almacenar en caché mosaicos en algunos niveles de zoom o para ciertas áreas, mejorará el rendimiento.
dango

Respuestas: