Tengo un proyecto que usa OpenLayers que muestra datos de radar en un mapa. Los datos del radar en sí son solo un montón de polígonos, cada uno de los cuales está lleno de uno de los 6 colores posibles. El objetivo es animar el radar en el mapa. Cada archivo contiene datos de radar durante un tiempo determinado y los archivos están separados por aproximadamente 5 minutos, por lo que mi enfoque actual es recorrer todos los archivos y cargarlos uno por uno en nuevas capas separadas. Una vez que se crea cada capa, tiene su visibilidad establecida en falso y se agrega al mapa. Luego animé las capas usando un temporizador que activa la visibilidad de una capa y desactiva la visibilidad de la capa anterior. Actualmente, las capas son todas capas vectoriales y los datos se cargan desde archivos KML, aunque los archivos de datos pueden tener prácticamente cualquier formato que funcione mejor para este proyecto.
El problema con este enfoque es que una vez que alcanzo un período de tiempo bastante grande (alrededor de 3 horas más o menos) de datos (equivalente a aproximadamente 36 capas), el consumo de memoria se vuelve bastante alto (alrededor de 250 mb). Se supone que el producto final puede manejar hasta 18 horas de datos en un bucle que, según el número anterior, requeriría más de 1 GB de memoria solo para la animación y probablemente bloquearía el navegador o al menos lo haría muy lento.
Intenté lo mismo usando capas WMS para cada capa, pero el rediseño fue demasiado lento (la animación cambia las capas cada 100 ms) y el consumo de memoria no fue mucho mejor que la versión vectorial.
He recorrido la red tratando de encontrar algún ejemplo de cómo hacer esto, pero hasta ahora estoy llegando con las manos vacías. ¿Alguien por ahí tiene alguna sugerencia sobre cómo hacer esto? Tomaré cualquier idea que tengas en este momento, ya que he estado atrapado en esto durante semanas y no tengo respuesta a la vista.
fuente
¿Ha considerado simplificar las capas vectoriales para reducir su tamaño de archivo? Si los polígonos contienen más vértices de los necesarios para su visualización, simplificarlos (suavizarlos) reducirá el tamaño del archivo con el costo de reducir los detalles. No estoy seguro de qué software tiene a su disposición, pero varias aplicaciones de escritorio SIG contienen una función de geoprocesamiento para simplificar las funciones.
fuente
Además de simplificar los datos (incluso un poco puede ahorrar mucho espacio), ¿ha probado MapServer o alguna otra forma de convertir sus datos en mosaicos con transparencia y crear una capa de mapa para colocarla encima de la capa de fondo? He visto este enfoque con mapas coropléticos que tienen cientos o cientos de miles de polígonos (o marcadores), pero aún no he podido probarlo yo mismo (debido al requisito del lado del servidor).
fuente