Estoy creando una aplicación donde necesito crear una cuadrícula de vectores que se utilizará para almacenar y mostrar un mapa de calor. Tiene los siguientes requisitos:
- Puede cubrir todo el planeta.
- La gran mayoría de los cuadrados de la cuadrícula no tendrán valores.
- No quiero tener que almacenar la red en sí; Me gustaría calcularlo sobre la marcha.
- La escala de los datos utilizados con la cuadrícula podría variar enormemente.
- Anticipo querer cuadrículas desde 1 km de ancho hasta 100 km de ancho. (Sé cuánto serán (~ 510 millones por 1 km, ~ 51,000 por 100 km)).
- Los valores se acumularán / agregarán para cada cuadrícula.
- Idealmente, podría usar fácilmente celdas de cuadrícula más pequeñas para calcular valores para las más grandes en lugar de almacenar los valores de celdas de cuadrícula más grandes.
- Usaré OpenLayers para cubrirlo con OpenStreetMap.
- Lo almacenaré en SpatiaLite o SQLite, por lo que preferiblemente es compatible con aquellos nativamente (es decir, para SpatiaLite = un CRS compatible; o para SQLite = un sistema basado en números puros).
Entonces mi pregunta es: ¿Qué proyección debo usar para esta cuadrícula?
Además, ¿hay una buena manera de diseñar esto? ¿Alguien sabe de una buena solución potencial para este problema o ha resuelto algo similar antes? O puede señalarme en una dirección útil.
Editar caso de uso: básicamente estoy agregando cuadros delimitadores de varias formas y tamaños diferentes. Pueden ser desde unas pocas hectáreas hasta miles de kilómetros cuadrados de tamaño. También pueden estar en diferentes proyecciones.
A continuación se muestra una versión a medida del tipo de cosas que pretendo lograr automáticamente a mayor escala.
Muchas gracias.
fuente
Respuestas:
Los mosaicos estándar de OSM están en Mercator esférico (SRID = 3857), por lo que probablemente será más fácil construir su cuadrícula utilizando la misma proyección.
Si usa SM, puede almacenar los datos en el nivel de zoom más alto que OSM admite, o en el nivel de zoom de nivel más alto que permitirá a los usuarios acercarse. Si la cobertura es escasa, use una estructura de datos a lo largo de las líneas de
XIndex, YIndex, Count
donde los índices son los índices en la cuadrícula de mosaico en el nivel de zoom deseado, el recuento es el recuento de entidades que se cruzan con ese mosaico, y no incluye entradas para puntos donde el recuento es cero. Luego, simplemente puede seleccionar el recuento por índice o en niveles de zoom inferiores, seleccione la suma del recuento por rango de índice sabiendo que si la consulta no devuelve nada, el recuento es cero para la región dada.
Esto es, por supuesto, una abstracción, estoy asumiendo un nivel de software entre esto y su renderizador de mapas de calor. Más descripción de cómo representará el mapa de calor me ayudaría a dar mejores consejos.
fuente
El valor almacenado en una celda de un mapa de calor a menudo se normaliza por su área. En este caso, sugeriría una proyección de área igual para que pueda agregarla fácilmente a una escala mayor
fuente
Esta es una respuesta a cómo podría diseñar un mapa de calor. Mi sugerencia es que busque en el sistema de celda cuadrícula de cuarto de grado . QDGC representa una forma de hacer (casi) cuadrados de áreas iguales que cubren un área específica para representar cualidades específicas del área cubierta. Los cuadrados mismos se basan en los cuadrados de grados que cubren la tierra. Alrededor del ecuador tenemos 360 líneas de líneas longitudinales, y del polo norte al sur tenemos 180 líneas latitudinales. Juntos, esto nos da 64800 segmentos o baldosas que cubren la tierra. La forma de los cuadrados se vuelve más rectangular cuanto más al norte llegamos. En los polos no son cuadrados ni rectangulares, sino que terminan en triángulos alargados.
Las celdas de la cuadrícula se pueden dividir en cuatro, y las celdas de la cuadrícula resultantes se dividen nuevamente en cuatro. El sistema proporciona al usuario una convención de nomenclatura predecible. Al calcular las áreas para las diferentes celdas de la cuadrícula, deberían ser adecuadas para presentaciones dependientes del área.
Información más detallada y referencias a otros sistemas también están disponibles en un artículo que publiqué hace algunos años. El estándar se utiliza en varios atlas africanos para obtener información ambiental.
Los archivos de forma para diferentes continentes y países están disponibles para descargar en mi sitio de blog.
He jugado con la idea de extender el estándar, de modo que las celdas de la cuadrícula por encima o por debajo de una cierta latitud se puedan dividir en dos, proporcionando así un producto de mapa más agradable visualmente cuando se usa.
fuente