地理空間データの分析は、地図作成、都市計画、環境保護といった幅広い分野で不可欠な技術となっています。
しかし、その複雑さから手を出しにくいと感じている方も少なくありません。
GeoPandasは、Pythonのパワフルなライブラリであり、
地理空間データの分析をよりアクセスしやすく、効率的に行うことができます。
この記事では、GeoPandasについて初心者でも理解できるように解説します。
本記事の内容
- GeoPandasとは?
- GeoPandasのインストール
- GeoPandasの動作確認
それでは、上記に沿って解説していきます。
GeoPandasとは?
GeoPandasとは、Pythonで地理空間データを扱うためのオープンソースライブラリです。
Pandasライブラリを基にしています。
地理情報システム(GIS)データの読み込み、加工、分析が可能です。
Shapefile、GeoJSON、GPKGといった様々なフォーマットのデータを扱えます。
地図上でのデータの可視化機能も提供します。
空間結合や幾何学演算など、高度な地理空間分析機能を備えています。
Pythonのデータ分析エコシステムとシームレスに統合されています。
これにより、地理空間データの扱いが簡単かつ効率的になります。
GeoPandasは、地図製作、環境管理、都市計画など多岐にわたる分野で利用されています。
GeoPandasのインストール
現時点(2024年2月)の最新バージョンは、0.14.3となります。
更新頻度は高く、活発なプロジェクトだと言えます。
GeoPandasのシステム要件は、次のようにざっくりしています。
ただし、Python公式開発サイクルには従いましょう。
バージョン | リリース日 | サポート期限 |
3.8 | 2019年10月14日 | 2024年10月 |
3.9 | 2020年10月5日 | 2025年10月 |
3.10 | 2021年10月4日 | 2026年10月 |
3.11 | 2022年10月24日 | 2027年10月 |
3.12 | 2023年10月2日 | 2028年10月 |
加えて、依存ライブラリの要件も注意が必要です。
GeoPandasは、次のライブラリに依存しています。
- pandas
- shapely
- fiona
- pyproj
- packaging
そして、pandasとpyprojはPython 3.9以降が必須となっています。
したがって、最新版のGeoPandasはPython 3.9以降が必須となります。
ということで、今回は次のバージョンのPythonを用います。
> python -V Python 3.10.4
インストールは、次のコマンドを実行するだけです。
pip install geopandas
処理が終わったら、GeoPandasのインストールは完了です。
GeoPandasの動作確認
まずは、データを用意しましょう。
次のページから、都道府県のデータをダウンロードします。
ここでは、北海道を選択。
そして、ダウンロードしたzipを解凍します。
geojsonという拡張子のデータを利用します。
プログラムから利用しやすい場所に、移動させておきます。
読み込んだデータの最初の5行を表示してみましょう。
import geopandas as gpd gdf = gpd.read_file("N03-23_01_230101.geojson") print(gdf.head())
上記を実行した結果は、以下。
N03_001 N03_002 ... N03_007 geometry 0 北海道 石狩振興局 ... 01101 POLYGON ((141.34233 43.06682, 141.34285 43.066... 1 北海道 石狩振興局 ... 01102 POLYGON ((141.40839 43.18395, 141.40833 43.183... 2 北海道 石狩振興局 ... 01103 POLYGON ((141.44707 43.15616, 141.44694 43.155... 3 北海道 石狩振興局 ... 01104 POLYGON ((141.46244 43.10010, 141.46265 43.100... 4 北海道 石狩振興局 ... 01105 POLYGON ((141.38463 43.04670, 141.38479 43.046... [5 rows x 6 columns]
これにより、データの構造や内容を確認できます。
Pandasと同じように扱えますね。
これだけでは面白くないので、このデータを利用して地図を表示してみましょう。
そのためには、Matplotlibのインストールが別途必要になります。
Matplotlibがインストール済みなら、次のコードで地図を出力できます。
# GeoPandasをインポートする import geopandas as gpd # Matplotlibのpyplotをインポートする import matplotlib.pyplot as plt # GeoJSONファイルを読み込んでGeoDataFrameを作成する # ここでは、"N03-23_01_230101.geojson"というファイル名のデータを読み込んでいます gdf = gpd.read_file("N03-23_01_230101.geojson") # GeoDataFrameをプロットする # この時、地理空間データが地図上に可視化されます gdf.plot() # プロットした地図を"map.png"というファイル名で保存する # plt.savefigを使用して画像ファイルとして出力します plt.savefig('map.png')
上記コードを実行すると、北海道の地図(map.png)が出力できます。
Pythonは何でもできますね。
何でもできるライブラリが、充実していると言った方が正確でしょうか。