Affichage des données d'informations de position en Python --Essayez de tracer avec la bibliothèque d'affichage de carte (folium) -

1. 1. Au début#

Informations de localisation qui offrent de nombreuses possibilités de jouer un rôle actif, telles que la vérification des lignes de mouvement des personnes lors de la planification de l'ouverture d'un magasin. Avec la diffusion des dispositifs SNS et IoT, je pense qu'il y aura de plus en plus d'opportunités d'utiliser les informations de localisation pour l'analyse.

Cette fois, j'ai eu l'opportunité de tracer récemment les informations de localisation sur une carte et de les visualiser. Quand je l'ai recherché, il semble qu'il puisse être visualisé très facilement avec python.

Cette fois, j'ai essayé ce qui suit en utilisant les données du recensement.

2. Site de référence etc.

-Bibliothèque d'affichage de carte (cette fois, une bibliothèque appelée "Folium (v0.10.1)" est utilisée)
https://python-visualization.github.io/folium/index.html
* "Folium" semble fonctionner sur la carte appelée par OpenStreetMap, veuillez donc faire attention aux données que vous manipulez *
・ e-Stat: Point de contact général pour les statistiques gouvernementales (acquisition des données du recensement national)
http://nlftp.mlit.go.jp/isj/index.html
・ Service de téléchargement des informations de référence de localisation du ministère des Terres, des Infrastructures, des Transports et du Tourisme (acquisition des informations de latitude et de longitude)
https://www.e-stat.go.jp/

3. 3. Numéro d'article principal

  • ** folium.Map (params) **: crée une carte.
  • ** folium.Popup (params) **: affiche une fenêtre contextuelle.
  • ** folium.Marker (params) **: Tracer les repères sur la carte.
  • ** folium.plugins.HeatMap (params) **: Crée un calque pour afficher la carte thermique.

4. Exemple de code

● Tout d'abord, importez la bibliothèque.

import pandas as pd
import folium

● Chargez l'ensemble de données créé à l'avance.

df = pd.read_csv('my_data.csv', encoding='shift_jis')
df.head(10)

C'est un ensemble de données comme celui-ci. my_data.png

● L'utilisation de base du folium, ・ Affichage de la carte ・ Tracé des informations de position ・ Affichage de pop-up Je vais essayer.

#Création d'objets cartographiques
map = folium.Map(location=[35.710402, 139.810668], zoom_start=18)

#Créer un pop-up(「show=Toujours affiché comme "True")
p_up = folium.Popup('Tokyo Sky Tree', min_width=0, max_width=1000, show=True)

#Tracer sur l'objet de la carte
folium.Marker(location=[35.710402, 139.810668], popup=p_up).add_to(map)

#Affichage de la carte
map

map.png

● Enfin, affichons la carte de chaleur. Importez le plug-in pour afficher la carte thermique.

from folium.plugins import HeatMap

● La carte thermique peut être affichée en passant les informations de latitude et de longitude comme argument. Ajustez le rayon et le flou de chaque point pour le rendre un peu meilleur.

#Création d'objets cartographiques
map = folium.Map(location=[35.710402, 139.810668], zoom_start=5)

#Ajouter une couche de carte thermique à un objet cartographique
HeatMap(df[['latitude', 'longitude']], radius=5, blur=5).add_to(map)

#Affichage de la carte
map

map.png

● Actuellement, les données n'ont pas de sens simplement parce que les endroits avec un grand nombre d'enregistrements et une densité élevée sont rouges, donc pondérons-les avec "H22-H27 augmentation / diminution de la population".

#Création d'objets cartographiques
map = folium.Map(location=[35.710402, 139.810668], zoom_start=5)

#Ajouter une couche de carte thermique à l'objet cartographique en ajoutant un nombre d'augmentation / diminution de population à l'argument
HeatMap(df[['latitude', 'longitude', 'Nombre de changements démographiques de 2010 à 2015 [Personnes]']], radius=5, blur=5).add_to(map)

#Affichage de la carte
map

map.png

La rougeur des zones avec de grands changements de population est devenue plus forte.

5. Finalement#

comment était-ce? Avez-vous une image de la gestion des données de localisation?

Les données d'informations de localisation sont un domaine très utile, comme la société de vélos de location analysant la distance de conduite de l'utilisateur et le formulaire de conduite pour prendre une décision d'entrer dans l'entreprise de location de vélos, et le gouvernement analysant la ligne de mouvement au moment de l'événement pour sécuriser l'itinéraire de guidage d'évacuation. C'est un large éventail de données.

J'espère que vous l'essaierez!

Recommended Posts