[PYTHON] [Pour les débutants] Script en 10 lignes (1.folium)

[Pour les débutants] Script dans les 10 lignes (1. Tracer la carte avec le folium)

Si vous utilisez diverses bibliothèques avec python, j'ai pensé: "C'est pratique parce que vous pouvez faire une petite chose avec un peu de code, et vous pouvez créer un petit script avec un peu de 5 étapes", donc c'est juste une liste de python et d'autres commandes. Je peux trouver ceci, mais je publierai un script en 10 étapes sur une base irrégulière.

En tant que ** 1 **, j'aimerais publier un script qui trace une carte autour de Ginza à 3 endroits avec des marqueurs utilisant "folium (une bibliothèque python qui trace une carte à partir de python en utilisant leaflet). Je vais. Dans ce script, j'ai tracé les 3 endroits suivants.

--Yurakucho Station: informations de localisation [35.6749187,139.7606366] --Ginza Corridor Street: informations sur l'emplacement [35.6703699.139.7573871] --Ginza-SIX: informations de localisation [35.6695908, 139.7618857]

【environnement】 LinuxMint19.3 python: 3.6.9 pip3: 9.0.1 pandas: 1.0.3 jupyter-lab: 2.1.0 folium: 0.10.1


** 1. Préparez les informations de localisation ** -Les informations de position du lieu à tracer ont été appelées avec la carte de google, et la chaîne de caractères de l'url a été copiée avec la souris. C'était plus facile que de vérifier "À propos de cet emplacement" sur la carte Google, car chaque emplacement à tracer géographiquement est proche. ** ・ Au fait, la latitude est "latitude" et la longitude "longtude" **, et si vous recherchez, elles seront affichées dans cet ordre. À titre d'exemple, dans le cas de Corridor Street, il s'agissait de "latitude: 35.6749187, longitude: 139.7573871". Nous stockerons cette valeur à chaque emplacement de la trame de données.

** La syntaxe minimale pour le folium est la suivante. ** ** map = folium.Map (location = [latitude, longitude du point de référence], zoom_start = agrandissement initial) map

** 2. Codage ** Le code s'exécute en jupyter et la carte est tracée en jupyter.

jupyter



#Exemple de code pour tracer autour de Ginza
# 1.Importer la bibliothèque

import folium
import pandas as pd

# 2.Stockage des informations de position dans la trame de données et traitement de l'affichage des marqueurs
plot_location = pd.DataFrame({
    'ginza':['Yurakucho_station','GinzaCorridorSteet','GinzaSix'],
    'latitude':[35.6749187 ,35.6703699 ,35.66695908],
    'longtude':[139.7606366 ,139.7573871 ,139.7618857],})

map = folium.Map(location=[35.6749187,139.7606366], zoom_start = 15)
for i, r in plot_location.iterrows():
    folium.Marker(location=[r['latitude'], r['longtude']], popup=r["ginza"]).add_to(map)

# 3.Carte graphique
map

La carte de la région de Ginza est maintenant tracée. L'image ci-dessous est une capture d'écran, mais elle est tracée dans un cahier Jupyter. Cliquez sur Corridor Street. Je pense que cela dépend de l'environnement, mais je ne pouvais pas l'afficher en japonais.

Le texte de ce pop-up est l'endroit où placer le marqueur, mais dans "2. Stockage des informations de position dans le bloc de données et traitement de l'affichage du marqueur", la partie qui décrit chaque point correspond. 'ginza':['Yurakucho_station','GinzaCorridorSteet','GinzaSix'],

Les informations de localisation sont stockées dans le "bloc de données", mais si vous les transmettez directement à folium, vous pouvez en faire un script de 3 lignes. Cependant, si vous utilisez une "trame de données", vous pouvez préparer un ensemble de données et augmenter le nombre de bases. Il semble que certains des ancêtres qui y ont fait référence sont stockés dans "csv" etc.

ginza_map.png

Si vous voulez sauvegarder la carte tracée, vous pouvez la sortir en "html" en exécutant ** "save" en plus comme indiqué ci-dessous. ** **

save


#Ecrire la carte tracée en html
map.save("map_giza.html")

3. [Supplément] Environnement

Ce "folium" est une bibliothèque très utile, mais cela ne fonctionnait pas comme prévu selon l'environnement. Pour référence, voici des informations sur l'environnement dans lequel ce script a été exécuté. Ce ne sont que des informations sur l'environnement de développement, mais cela dépend de l'environnement du navigateur car il utilise un navigateur Web. En fait, certains terminaux n'ont pas été tracés ailleurs. Je pense que c'est probablement un problème de navigateur.

-Une partie de la sortie est supprimée.

environnement


less /etc/lsb-release

DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=19.3
DISTRIB_DESCRIPTION="Linux Mint 19.3 Tricia"

(py3_env) $ pip3 --version
pip 9.0.1 from /home/xxx/py3_env/lib/python3.6/site-packages (python 3.6)
(py3_env)$ python -V
Python 3.6.9

$ pip3 show pandas
Name: pandas
Version: 1.0.3
Home-page: https://pandas.pydata.org
Requires: python-dateutil, pytz, numpy
 
(py3_env)$ pip3 show jupyterlab
Name: jupyterlab
Version: 2.1.0
Home-page: http://jupyter.org
Requires: notebook, tornado, jinja2, jupyterlab-server

(py3_env)$ pip3 show folium
Name: folium
Version: 0.10.1
Home-page: https://github.com/python-visualization/folium
Requires: numpy, jinja2, requests, branca

** Ce qui précède est un tracé cartographique utilisant le folium. ** **

Recommended Posts

[Pour les débutants] Script en 10 lignes (1.folium)
[Pour les débutants] Script dans les 10 lignes (8. Carte graphique avec folium [2]
[Pour les débutants] Script dans 10 lignes (4. Connexion de python à sqlite3)
Script dans les 10 lignes (2.vimrc)
[Pour les débutants] Script dans les 10 lignes (3. Lecteur de données / conversion csv)
[Pour les débutants] Script dans les 10 lignes (5. Rééchantillonnage des données de séries chronologiques à l'aide de pandas)
[Pour les débutants] Script dans les 10 lignes (7. Script qui génère le csv à partir de la table sqlite3 avec bash
Paramètres Spacemacs (pour les débutants)
Manuel python pour les débutants
Algorithme Dikstra pour les débutants
OpenCV pour les débutants en Python
Flux d'apprentissage pour les débutants en Python
CNN (1) pour la classification des images (pour les débutants)
Construction de l'environnement Python3 (pour les débutants)
Vue d'ensemble de Docker (pour les débutants)
Python #function 2 pour les super débutants
Les bases de Seaborn pour les débutants ④ Pairplot
Grammaire de base Python pour les débutants
Pandas 100 coups pour les débutants en Python
Python #function 1 pour les super débutants
#List Python pour les super débutants
~ Conseils pour les débutants de Python présentés avec amour par Pythonista ③ ~
[Pour les débutants de Kaggle] Titanic (LightGBM)
Mémorandum de commande Linux [pour les débutants]
Raccourci Linux pratique (pour les débutants)