[PYTHON] Essayez d'utiliser des géopandas

Qu'est-ce que c'est

[StatsFragments](http: // sinhrks) au lieu de ** geopandas ** introduit dans PyData.Tokyo Meetup # 9- "Geographic Information Data" Je l'ai essayé en référence à .hatenablog.com / entry / 2015/07/18/215951).

Installation

C'est facile si vous mettez Anaconda et utilisez conda-forge de Anaconda cloud. Une commande sous [^ 1].

bash


conda install -y geopandas -c conda-forge

Nous avons également préparé une image Docker tsutomu7 / geopandas. Vous devriez pouvoir le faire comme suit. (Veuillez actualiser votre navigateur après le démarrage du serveur Jupyter)

bash


firefox http://localhost:8888 &
docker run -it --rm -p 8888:8888 tsutomu7/geopandas sh -c "jupyter notebook --ip=*"

Essayez avec Jupyter

Préparation. flatten est un tableau de tableaux.

python3


%matplotlib inline
import numpy as np, pandas as pd, geopandas as gpd
from bokeh.plotting import output_notebook, show, figure
output_notebook()
flatten = lambda i: [a for b in i for a in (flatten(b) if hasattr(b,'__iter__') else (b,))]

La version de geopandas est la 0.2.1, qui est la dernière en ce moment.

python3


gpd.__version__
>>>
'0.2.1'

Téléchargez les données de Tokyo sur Earth Map Japan.

python3


!wget --no-check-certificate https://github.com/dataofjapan/land/raw/master/tokyo.geojson

Jetez un œil aux trois premières lignes.

python3


df = gpd.read_file('tokyo.geojson')
df[:3]
area_en area_ja code geometry ward_en ward_ja
0 Tokubu Zone métropolitaine 131211.0 POLYGON ((139.821051 35.815077, 139.821684 35.... Adachi Ku
1 Tokubu Zone métropolitaine 131059.0 POLYGON ((139.760933 35.732206, 139.761002 35.... Bunkyo Ku
2 Tokubu Zone métropolitaine 131016.0 POLYGON ((139.770135 35.705352, 139.770172 35.... Chiyoda Ku

La géométrie contient des données de polygone. Dessinez avec matplotlib.

python3


df[df['area_en'] == 'Tokubu'].plot();

image

Cette fois, dessinez avec bokeh. Le polygone de géométrie est un mélange de shapely.geometry.polygon.Polygon et de shapely.geometry.multipolygon.MultiPolygon, donc aplatissez-le dans un tableau Polygon.

python3


xy = [i.exterior.coords.xy for i in flatten(df[df.area_en == 'Tokubu'].geometry)]
p = figure(plot_width=400, plot_height=300)
p.patches([tuple(i[0]) for i in xy], [tuple(i[1]) for i in xy], 
          fill_color='white', line_color="black", line_width=0.5)
show(p);

image

Le géocodage n'a pas fonctionné.

Lien de référence

[^ 1]: Vous pouvez aussi le faire avec "conda install -y pyproj shapely fiona; pip install geopandas".

c'est tout

Recommended Posts

Essayez d'utiliser des géopandas
Essayez d'utiliser docker-py
Essayez d'utiliser Cookiecutter
Essayez d'utiliser PDFMiner
Essayez d'utiliser Selenium
Essayez d'utiliser scipy
Essayez d'utiliser pandas.DataFrame
Essayez d'utiliser django-swiftbrowser
Essayez d'utiliser matplotlib
Essayez d'utiliser tf.metrics
Essayez d'utiliser PyODE
[Azure] Essayez d'utiliser Azure Functions
Essayez d'utiliser virtualenv maintenant
Essayez d'utiliser W & B
Essayez d'utiliser Django templates.html
[Kaggle] Essayez d'utiliser LGBM
Essayez d'utiliser l'analyseur de flux de Python.
Essayez d'utiliser Tkinter de Python
Essayez d'utiliser Tweepy [Python2.7]
Essayez d'utiliser collate_fn de Pytorch
Essayez d'utiliser PythonTex avec Texpad.
[Python] Essayez d'utiliser le canevas de Tkinter
Essayez d'utiliser l'image Docker de Jupyter
Essayez d'utiliser scikit-learn (1) - Clustering K par méthode moyenne
Essayez l'optimisation des fonctions à l'aide d'Hyperopt
Essayez d'utiliser matplotlib avec PyCharm
Essayez d'utiliser Azure Logic Apps
Essayez d'utiliser Kubernetes Client -Python-
[Kaggle] Essayez d'utiliser xg boost
Essayez d'utiliser l'API Twitter
Essayez d'utiliser OpenCV sur Windows
Essayez d'utiliser Jupyter Notebook de manière dynamique
Essayez d'utiliser AWS SageMaker Studio
Essayez de tweeter automatiquement en utilisant Selenium.
Essayez d'utiliser SQLAlchemy + MySQL (partie 1)
Essayez d'utiliser l'API Twitter
Essayez d'utiliser SQLAlchemy + MySQL (partie 2)
Essayez d'utiliser la fonction de modèle de Django
Essayez d'utiliser l'API PeeringDB 2.0
Essayez d'utiliser la fonction de brouillon de Pelican
Essayez d'utiliser pytest-Overview and Samples-
Essayez d'utiliser le folium avec anaconda
Essayez d'utiliser l'API Admin de la passerelle Janus
[Statistiques] [R] Essayez d'utiliser la régression par points de division.
Essayez d'utiliser Spyder inclus dans Anaconda
Essayez d'utiliser des modèles de conception (édition exportateur)
Essayez d'utiliser Pillow sur iPython (partie 1)
Essayez d'utiliser Pillow sur iPython (partie 2)
Essayez d'utiliser l'API de Pleasant (python / FastAPI)
Essayez d'utiliser LevelDB avec Python (plyvel)
Essayez d'utiliser pynag pour configurer Nagios
Essayez d'utiliser la fonction de débogage à distance de PyCharm
Essayez d'utiliser ArUco avec Raspberry Pi
Essayez d'utiliser LiDAR bon marché (Camsense X1)
[Serveur de location Sakura] Essayez d'utiliser flask.
Essayez d'utiliser Pillow sur iPython (partie 3)
Renforcer l'apprentissage 8 Essayez d'utiliser l'interface utilisateur de Chainer
Essayez d'obtenir des statistiques en utilisant e-Stat
Essayez d'utiliser l'API d'action de Python argparse
Essayez d'utiliser le module Python Cmd
Essayez d'utiliser le networkx de Python avec AtCoder