はじめに
皆さんは、Foliumという地図上に位置情報を可視化するライブラリを知っていますか。
Foliumというのは、Leafletというjavascriptの地図ライブラリをPythonから使えるようにしたものです。
html形式で地図を保存できるだけでなく、Jupyter上で綺麗に位置情報を可視化することができる便利なライブラリです。
この記事ではJupyterでのFoliumの簡単な使い方をまとめました。
Jupyterで地図上に位置情報を可視化
準備
ここから先ではJupyterLabを使います。
まずは、pip install folium
でFoliumをインストールしておきましょう。
インストールできたらJupyterを開き、Foliumのimportをしましょう。
ついでに、この記事で用いる位置情報をそれぞれ変数に格納します。
import folium
tokyo_station = [35.681236, 139.767125]
tokyo_tower = [35.658581, 139.745433]
gri = [35.6597, 139.75195]
位置情報の座標はそれぞれ[緯度, 経度]
として宣言しています。
ちなみに、各座標は
・東京駅
・東京タワー
・GRI
の2020年3月現在における位置を表しています。
地図の表示
次に、上の地図をJupyter上に表示してみます。
以下のコードをセルに入力して実行してみましょう。
m = folium.Map(location=gri,
tiles='OpenStreetMap',
zoom_start=13)
m
folium.Map
の部分で地図レイヤを作成して表示しています。
location
は地図の中心となる座標、
tiles
は表示する地図のタイルを指定しています。
ここではtiles
としてOpenStreetMapを使用していますが、StamenやMapboxなども使うことができます。
マーカーや座標を繋いだ線の表示
次はこの地図上に上の画像のように位置情報を可視化します。
座標を示すマーカー、線、ポリゴン、円などを表示できます。
ここではマーカーと線を表示してみます。 以下のコードをセルに入力して実行してみましょう。
marker = folium.Marker(
location=[35.6597, 139.75195],
popup='hogehoge',
icon=folium.Icon(color='orange'))
line = folium.vector_layers.PolyLine(
locations=[tokyo_station,
gri,
tokyo_tower],
color='black',
weight=10)
# マーカーと線の地図レイヤへの追加
m.add_child(marker)
m.add_child(line)
m
最初にfolium.Marker
の部分でマーカーを作成しています。
location
は座標、
popup
はクリックしたときに表示されるポップアップのテキスト、
icon
はマーカーとして表示するアイコンを指定しています。
次にfolium.vector_layers.PolyLine
の部分で線を作成しています。
locations
は線を引くための座標の系列、
color
は線の色、
weight
は線の太さ(ピクセル数)を指定しています。
これらのマーカーや線を.add_child
で地図レイヤの子として追加することで、地図上に表示することができます。
おわりに
いかがだったでしょうか?
PythonとFoliumでお手軽に、地図上に位置情報を可視化することができました。
地図上にマーカーなどを表示することで、位置だけでなく、周りにどのようなものがあるかを表示することもできます。
ぜひ試してみてください。