Una proyección global tipo cuadrícula para crear mapas de calor

11

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. ingrese la descripción de la imagen aquí

Muchas gracias.

GIS-Jonathan
fuente
De ninguna manera es necesariamente una respuesta completa o perfecta, pero es posible que desee buscar en Google el Sistema de Referencia de la Red Militar o al menos la Red Nacional de EE. UU. Fgdc.gov/usng para obtener algunas ideas sobre cómo esas organizaciones han manejado al menos desafíos similares. Nuevamente, no necesariamente perfecto, pero puede ser una buena referencia para su trabajo. Espero eso ayude.
John
@ John - Gracias; Me encontré con la red militar en mis propias búsquedas, pero usa letras y números, así que no estoy seguro de que sea adecuado. El material de USNG parece interesante, pero no estoy buscando crear el mío.
GIS-Jonathan
1
Parte de la información sobre la naturaleza de los datos y el propósito del mapa de calor ayudará a enfocar las respuestas, que pueden (y deberían) variar según las propiedades geográficas que desee conservar en los mapas: orientación, rumbo, área, forma, etc. Sin embargo, dado que la reproyección de datos espaciales es relativamente rápida y fácil, uno podría verse obligado a descontar estos problemas y centrarse en los más fundamentales de sesgo y precisión: ¿Qué planea hacer sobre el MAUP? ¿Planea sacar alguna inferencia de los datos agrupados en estas celdas de la cuadrícula? ¿Por qué debe ser una estructura de datos vectoriales ?
whuber
¿Podría aclarar cuál es la dimensionalidad espacial de los datos subyacentes? es decir, ¿los datos son fundamentalmente puntuales y solo están agregados a la celda, o son realmente reales?
AnserGIS
@whuber: los datos se utilizarán para la representación general para usuarios legos, no para ninguna forma de análisis espacial. Por lo tanto, no existe una preferencia particular en relación con qué propiedades geográficas se mantienen / pierden y MAUP es irrelevante, ya que estoy buscando una generalización general de los datos. Solo necesito los cuadrados de cuadrícula para superponer perfectamente algo como los mosaicos de OSM. Mi deseo por el vector es porque lo estoy almacenando en una base de datos y es mucho más fácil de manipular.
GIS-Jonathan

Respuestas:

3

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.

Russell en ISC
fuente
3

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

radouxju
fuente
¿Planea calcular la densidad en el plano proyectado o en una superficie esférica y simplemente mostrarla de esta manera? Además, ¿los datos rectangulares deben distribuirse entre más de una celda de cuadrícula?
AnserGIS
@AnserGIS: el cálculo se realizará en un plano proyectado. Los datos rectangulares pueden cubrir múltiples celdas de cuadrícula. Vea también la edición para más información.
GIS-Jonathan
2

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. La nomenclatura de las celdas de cuadrícula de cuarto de grado es recursiva.

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.

ragnvald
fuente
1
Gracias por compartir; idea interesante. Ciertamente parece que podría ser útil para esto. ¿Asumo que no sería demasiado esfuerzo alterarlo para que fuera puramente numérico? es decir, no "E" o "N"? Eso probablemente permitiría una agregación de células más fácil y más eficiente, especialmente en el meridiano o el ecuador.
GIS-Jonathan
Una buena razón para mantener los caracteres (texto) es hacerlo legible por humanos. Para su uso en atlas y referencias humanas, sirve bien el propósito. Por supuesto, sería posible usando esto, por ejemplo, esta representación: E = 0, W = 1, S = 0, N = 1, A = 1, B = 2, C = 3 y D = 4. Algunos fragmentos de código bien escritos en python u otro lenguaje de script relevante deberían ser capaces de "superar" los desafíos de meridianos / ecuadores a un bajo costo. Por supuesto, dependiendo de su nivel de operación QDGC y el tamaño del conjunto de datos.
ragnvald