Suite

Comment puis-je transformer mes données en carte thermique/carte d'intensité ?

Comment puis-je transformer mes données en carte thermique/carte d'intensité ?


J'ai une base de données qui suit un grand nombre d'entités. Chaque entité a une "zone de couverture" ou une "zone de chalandise" - un rayon en miles à partir d'un code postal britannique spécifié, par exemple

Bureau de Leyton 4,3 m E11 4LL Bureau de Stratford 5,2 m E15 6ZZ Bureau d'East Ham 2,1 m E4 8QQ

Je veux en faire une carte d'intensité géographique - une carte d'une région qui est ombrée ou colorée pour indiquer le nombre d'entités qui couvrent chaque point de la carte. La segmentation en petites régions est également acceptable.

Il s'agit probablement d'un projet ponctuel, il est donc peu probable que mon organisation fournisse de l'argent pour acheter un logiciel. Cela signifie que des solutions nulles ou au moins à faible coût sont préférables.


Peut-être que ces liens vous aideront :

Comment construire des cartes thermiques efficaces ?

avec QGIS : http://alexsciuto.com/blog/2010/11/how-to-make-your-own-heat-map-pt-1-gathering-the-materials/

Script Python : http://www.sethoscope.net/heatmap/

http://sk53-osm.blogspot.com/2011/01/heat-maps-from-osm-pois.html

Désolé pour une réponse non élaborée…


Je suppose que vous voulez une carte de densité indiquant à quel point chaque zone est "bien couverte", c'est-à-dire combien de bureaux elle se trouve à proximité, incorporant le "rayon" de ces bureaux ?

Vous pouvez en fait faire tout cela dans PostgreSQL, ou au moins dans PostGIS, qui est une extension gratuite. Je vous suggère de vous en procurer et de lire certains des documents.

Vous devrez alors probablement géocoder vos codes postaux. Une solution simple consiste à télécharger le jeu de données Ordnance Survey Code Point (https://www.ordnancesurvey.co.uk/opendatadownload/products.html) (qui est gratuit) et donner à vos points la base de données un emplacement de code postal, en utilisant PostGIS fonctions - vous aurez besoin d'utiliser ST_GeomFromText() et de vous renseigner sur les coordonnées du texte bien connu probablement.

Vous devriez donc avoir une table spatiale de tous vos points.

Vous pouvez ensuite les tamponner (créer un rayon autour de chaque point) dans une nouvelle table spatiale à l'aide de la fonction ST_Buffer.

Vous devrez ensuite créer une superposition de polygones sans chevauchement dans PostGIS - voir Séparer les polygones en fonction de l'intersection à l'aide de PostGIS. Cela devrait segmenter l'ensemble de données en petites régions comme vous l'avez dit ci-dessus.

Ensuite, vous devez demander combien de tampons croisent chacune de vos nouvelles régions segmentées. Ce sera une requête SQL assez compliquée, mais cela devrait être possible.

C'est une procédure assez compliquée comme vous pouvez le voir même pour une personne expérimentée en SIG, et il y a de nombreux pièges, tels que des projections, etc. offrir.

Un moyen beaucoup plus simple serait probablement de prendre une grille de points régulièrement espacés et de calculer la distance moyenne pour dire, les cinq bureaux les plus proches, et de coder en couleur chaque carré de grille par distance moyenne. Cependant, cela ne prendrait pas en compte le "rayon" des bureaux - pas sûr de ce que cela représente - influence ?


Vous pouvez le faire simplement en ligne en utilisant Mapsdata.co.uk

L'application lit les données de .xls ou .csv et est préprogrammée pour convertir des données géographiques telles que les codes postaux britanniques. Vous pouvez créer plusieurs visuels : l'un peut être une carte à bulles utilisant la zone de chalandise comme valeur, des épingles avec une opacité pour montrer la densité ou une carte thermique. Dans toutes les options, vous pouvez modifier l'opacité, la couleur, etc., puis exporter au format PNG ou au format iframe html pour une utilisation dans d'autres pages Web.

Avez-vous besoin de géoréférencer la taille des bulles ? Cela peut également être réalisé avec quelques ajustements.