Tengo una base de datos que rastrea una gran cantidad de entidades. Cada entidad tiene un 'área de cobertura' o 'área de captación', un radio en millas desde un código postal específico del Reino Unido, por ejemplo
Leyton office 4.3m E11 4LL
Stratford office 5.2m E15 6ZZ
East Ham office 2.1m E4 8QQ
Quiero convertir esto en un mapa de intensidad geográfica: un mapa de una región sombreada o coloreada para indicar el número de entidades que cubren cada punto en el mapa. La segmentación en regiones pequeñas también es aceptable.
Este es probablemente un proyecto único, por lo que es poco probable que mi organización proporcione dinero para comprar software. Eso significa que las soluciones cero o al menos de bajo costo son preferibles.
free-software
heat-map
Jimmy Breck-McKye
fuente
fuente
Respuestas:
Quizás estos enlaces te ayuden:
¿Cómo construir mapas de calor efectivos?
con QGIS: http://alexsciuto.com/blog/2010/11/how-to-make-your-own-heat-map-pt-1-gathering-the-materials/
Script de Python: http://www.sethoscope.net/heatmap/
http://sk53-osm.blogspot.com/2011/01/heat-maps-from-osm-pois.html
Perdón por una respuesta no elaborada.
fuente
Supongo que desea un mapa de densidad de cuán "bien cubierta" está cada área, es decir, ¿cuántas oficinas está cerca, incorporando el "radio" de esas oficinas?
En realidad, puede hacer todo esto dentro de PostgreSQL, o al menos dentro de PostGIS , que es una extensión gratuita. Le sugiero que se apodere de eso y lea algunos de los documentos.
Probablemente necesitará geocodificar sus códigos postales. Una solución simple es descargar el conjunto de datos Ordnance Survey Code Point ( https://www.ordnancesurvey.co.uk/opendatadownload/products.html ) (que es gratuito) y dar a sus puntos la base de datos de una ubicación de código postal, utilizando PostGIS funciones: necesitará usar ST_GeomFromText () y leer sobre las coordenadas de texto conocido probablemente.
Por lo tanto, debe tener una tabla espacial de todos sus puntos.
Luego puede almacenarlos (crear un radio alrededor de cada punto) en una nueva tabla espacial utilizando la función ST_Buffer.
Debería crear una superposición de polígonos no superpuestos en PostGIS; consulte Separar polígonos basados en la intersección con PostGIS . Esto debería segmentar el conjunto de datos en pequeñas regiones como usted dice arriba.
Luego, debe consultar cuántos de los búferes se cruzan entre sus nuevas regiones segmentadas. Esta será una consulta SQL bastante complicada, pero debería ser posible.
Este es un procedimiento bastante complicado, como puede ver incluso para alguien con experiencia en SIG, y existen muchas dificultades, como proyecciones, etc. oferta.
Probablemente, una manera mucho más fácil sería tomar una cuadrícula de puntos regularmente espaciada y calcular la distancia promedio para decir, las cinco oficinas más cercanas, y codificar por color cada cuadrado de cuadrícula por distancia promedio. Sin embargo, esto no tomaría en cuenta el "radio" de las oficinas - no estoy seguro de lo que esto representa - influencia?
fuente
Puede hacerlo simplemente en línea utilizando Mapsdata.co.uk
La aplicación lee datos de .xls o .csv y está preprogramada para convertir datos geográficos, como los códigos postales del Reino Unido. Podría hacer varias imágenes: una podría ser un mapa de burbujas utilizando el área de captación como valor, alfileres con opacidad para mostrar la densidad o un mapa de calor. En todas las opciones, puede cambiar la opacidad, el color, etc. y luego exportarlo como PNG o como iframe html para usarlo en otras páginas web.
¿Necesita georreferenciar el tamaño de las burbujas? Esto también se puede lograr con algunos ajustes.
fuente