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 d'un code postal britannique spécifié, par exemple
Leyton office 4.3m E11 4LL
Stratford office 5.2m E15 6ZZ
East Ham office 2.1m E4 8QQ
Je veux transformer cela en 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 sur 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 des logiciels. Cela signifie que des solutions nulles ou au moins à faible coût sont préférables.
free-software
heat-map
Jimmy Breck-McKye
la source
la source
Réponses:
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 ..
la source
Je suppose que vous voulez une carte de densité de la façon dont "chaque zone est bien couverte", c'est-à-dire combien de bureaux elle est proche, en incorporant le "rayon" de ces bureaux?
Vous pouvez réellement faire tout cela dans PostgreSQL, ou au moins dans PostGIS , qui est une extension gratuite. Je vous suggère de mettre la main dessus et de lire certains des documents.
Vous devrez alors probablement géocoder vos codes postaux. Une solution simple consiste à télécharger l'ensemble de données Ordnance Survey Code Point ( https://www.ordnancesurvey.co.uk/opendatadownload/products.html ) (qui est gratuit) et à attribuer à vos points la base de données un emplacement de code postal, en utilisant PostGIS fonctions - vous devrez utiliser ST_GeomFromText () et vous renseigner probablement sur les coordonnées de texte bien connues.
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 qui ne se chevauchent pas 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 le dites ci-dessus.
Ensuite, vous devez interroger le nombre de tampons qui intersectent chacun vos nouvelles régions segmentées. Ce sera une requête SQL assez compliquée, mais cela devrait être possible.
Il s'agit d'une procédure assez compliquée, comme vous pouvez le voir même pour une personne expérimentée dans les SIG, et il existe de nombreux pièges, tels que des projections, etc., donc je considérerais votre besoin avant de commencer, mais il peut bien y avoir de meilleures solutions que quelqu'un d'autre peut offre.
Un moyen beaucoup plus facile consisterait probablement à prendre une grille de points régulièrement espacée et à calculer la distance moyenne, c'est-à-dire les cinq bureaux les plus proches, et à coder par couleur chaque carré de la grille par la distance moyenne. Cependant, cela ne tiendrait pas compte du "rayon" des bureaux - vous ne savez pas ce que cela représente - de l'influence?
la source
Vous pouvez le faire simplement en ligne en utilisant Mapsdata.co.uk
L'application lit les données à partir de .xls ou .csv et est préprogrammée pour convertir les géo-données telles que les codes postaux britanniques. Vous pouvez faire plusieurs visuels: l'un peut être une carte à bulles utilisant la zone de captage comme valeur, des épingles avec opacité pour afficher la densité ou une carte thermique. Dans toutes les options, vous pouvez modifier l'opacité, la couleur, etc., puis exporter en PNG ou en 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.
la source