[PYTHON] Versuchen Sie es mit Geopandas

Was ist das

[StatsFragments](http: // sinhrks) anstelle von ** Geopandas **, eingeführt in PyData.Tokyo Meetup # 9 - "Geographic Information Data" Ich habe es mit Bezug auf .hatenablog.com / entry / 2015/07/18/215951) versucht.

Installation

Es ist einfach, wenn Sie Anaconda einsetzen und conda-forge von Anaconda cloud verwenden. Ein Befehl unter [^ 1].

bash


conda install -y geopandas -c conda-forge

Wir haben auch ein Docker-Image [tsutomu7 / geopandas] vorbereitet (https://hub.docker.com/r/tsutomu7/geopandas/). Sie sollten in der Lage sein, dies wie folgt zu tun. (Bitte aktualisieren Sie Ihren Browser nach dem Start des Jupyter-Servers.)

bash


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

Versuchen Sie es mit Jupyter

Vorbereitung. Abflachen ist ein Array von Arrays.

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,))]

Die Version von Geopandas ist 0.2.1, die aktuellste Version.

python3


gpd.__version__
>>>
'0.2.1'

Laden Sie Tokio-Daten von Earth Map Japan herunter.

python3


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

Schauen Sie sich die ersten drei Zeilen an.

python3


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

Die Geometrie enthält Polygondaten. Zeichnen Sie mit Matplotlib.

python3


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

image

Dieses Mal mit Bokeh zeichnen. Das Geometrie-Polygon ist eine Mischung aus Shapely.geometry.Polygon.Polygon und Shapely.geometry.multipolygon.MultiPolygon. Reduzieren Sie es also zu einem Polygon-Array.

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

Geokodierung hat nicht funktioniert.

Referenzlink

[^ 1]: Sie können dies auch mit "conda install -y pyproj shapeely fiona; pip install geopandas" tun.

das ist alles

Recommended Posts

Versuchen Sie es mit Geopandas
Versuchen Sie es mit Docker-Py
Versuchen Sie es mit einem Ausstecher
Versuchen Sie es mit PDFMiner
Versuchen Sie es mit Selen
Versuchen Sie es mit scipy
Versuchen Sie es mit pandas.DataFrame
Versuchen Sie es mit Django-Swiftbrowser
Versuchen Sie es mit matplotlib
Versuchen Sie es mit tf.metrics
Versuchen Sie es mit PyODE
[Azure] Versuchen Sie, Azure-Funktionen zu verwenden
Versuchen Sie es jetzt mit virtualenv
Versuchen Sie es mit W & B.
Versuchen Sie es mit Django templates.html
[Kaggle] Versuchen Sie es mit LGBM
Versuchen Sie es mit dem Feed-Parser von Python.
Versuchen Sie es mit Pythons Tkinter
Versuchen Sie es mit Tweepy [Python2.7]
Versuchen Sie es mit Pytorchs collate_fn
Versuchen Sie, PythonTex mit Texpad zu verwenden.
[Python] Versuchen Sie, Tkinters Leinwand zu verwenden
Versuchen Sie es mit Jupyters Docker-Image
Versuchen Sie es mit Scikit-Learn (1) - K-Clustering nach Durchschnittsmethode
Versuchen Sie die Funktionsoptimierung mit Hyperopt
Versuchen Sie es mit matplotlib mit PyCharm
Versuchen Sie es mit Azure Logic Apps
Versuchen Sie es mit Kubernetes Client -Python-
[Kaggle] Versuchen Sie es mit xg boost
Versuchen Sie es mit der Twitter-API
Versuchen Sie es mit OpenCV unter Windows
Versuchen Sie, Jupyter Notebook dynamisch zu verwenden
Versuchen Sie es mit AWS SageMaker Studio
Versuchen Sie, automatisch mit Selen zu twittern.
Versuchen Sie es mit SQLAlchemy + MySQL (Teil 1)
Versuchen Sie es mit der Twitter-API
Versuchen Sie es mit SQLAlchemy + MySQL (Teil 2)
Versuchen Sie es mit der Vorlagenfunktion von Django
Versuchen Sie es mit der PeeringDB 2.0-API
Versuchen Sie es mit der Entwurfsfunktion von Pelican
Versuchen Sie es mit pytest-Overview und Samples-
Versuchen Sie es mit Folium mit Anakonda
Versuchen Sie es mit der Admin-API von Janus Gateway
[Statistik] [R] Versuchen Sie, die Teilungspunktregression zu verwenden.
Versuchen Sie es mit Spyder, das in Anaconda enthalten ist
Versuchen Sie es mit Designmustern (Exporter Edition)
Versuchen Sie es mit Pillow auf iPython (Teil 1)
Versuchen Sie es mit Pillow auf iPython (Teil 2)
Versuchen Sie es mit der Pleasant-API (Python / FastAPI).
Versuchen Sie es mit LevelDB mit Python (plyvel)
Versuchen Sie, Nagios mit pynag zu konfigurieren
Versuchen Sie, die Remote-Debugging-Funktion von PyCharm zu verwenden
Versuchen Sie es mit ArUco mit Raspberry Pi
Versuchen Sie es mit billigem LiDAR (Camsense X1)
[Sakura-Mietserver] Versuchen Sie es mit einer Flasche.
Versuchen Sie es mit Pillow auf iPython (Teil 3).
Stärkung des Lernens 8 Versuchen Sie, die Chainer-Benutzeroberfläche zu verwenden
Versuchen Sie, Statistiken mit e-Stat abzurufen
Versuchen Sie es mit der Aktions-API von Python argparse
Versuchen Sie es mit dem Python Cmd-Modul
Versuchen Sie, Pythons networkx mit AtCoder zu verwenden