jiku log

データサイエンスの核心を掴む : 学びと発見の記録

「PythonでつくるWebアプリのつくり方」を読む ~Chap.4 実践Webアプリを作ってみよう ④地図データアプリ ~

はじめに

クジラ飛行机、 杉山 陽一、遠藤 俊輔 著「PythonでつくるWebアプリのつくり方」を読み,Pythonを使ったWebアプリ開発の基礎を学ぶことにした。

本記事は,「chapter4 実践Webアプリを作ってみよう」における,地図データを活用したアプリに関する読書メモである。

本記事を読むことで得られること

本記事を読むことで得られることは,主に以下の内容である。

  • 地図情報を扱うためのライブラリやAPI

04 地図上に気象データを表示しよう

要点

地図表示用のライブラリ

本節では,地図表示用のアプリを紹介している。Pythonで地図データアプリを扱うためのアプリには,以下のようなものが存在する。

japanmapを使って日本地図を可視化した結果は以下のようになる。

japanmapの使用例
geopandas

geopandasも日本地図を扱うためのライブラリである。これを使う際には,事前に国土交通省の国土数値情報ダウンロードサイト(国土数値情報 | 行政区域データ)から,必要なデータをダウンロードする。

本節で利用するN03-20240101_GML.zipのダウンロード
Folium

Foliumを使うと,Pythonからオンライン地図サービスのOpenStreetMap(OpenStreetMap)を使うことができる。また,任意の緯度・経度に複数のマーカーを配置することができる。
Foliumでは,地図情報をHTMLファイルに保存する関数があるので,このHTMLファイルを用いることでWebアプリ上で地図を手軽に描画できる。

Foliumによる地図作成

本節の気付き : 国土交通省の行政区域データ

国土交通省の国土数値情報ダウンロードサイト(国土数値情報 | 行政区域データ)から,N03-20240101_GML.zipをダウンロードし,zipファイルを解凍すると,.geojsonファイルや.xmlファイルなどが得られる。

本節では,「N03-20240101.geojson」ファイルを扱うが,このファイルの内容を確認すると,json形式で地形情報が記録されていることが確認できた。

なお描画用のスクリプトを実行すると,GeoJSONのデータサイズが大きいので,描画されるまで時間がかかった。

geopandasで日本地図を描画した結果

本節の気付き : 地図上に最高気温を表示する

気象情報API

気象情報を提供するAPIは,クジラWeb APIで公開されていた。こちらでは,気象情報以外にも,郵便番号やIPアドレスを取得するAPIが存在していた。

まとめと感想

今回は,「chapter4 実践Webアプリを作ってみよう」における,地図データを活用したアプリについてまとめた。

地図情報を扱うためのライブラリやAPIは複数存在するので,用途に応じて上手く使い分けていきたい。

本記事を最後まで読んでくださり,どうもありがとうございました。