Folium ライブラリを使うと,緯度と経度の情報を与えて,Jupyter Lab や Jupyter Notebook 上で OpenStreetMap を用いた地図を描くことができるようになります.
Folium は Anaconda Prompt などに pip
コマンドを入力してインストールします.
(base) C:\Users\Student>pip install folium ⏎
Collecting folium
Downloading folium-0.14.0-py2.py3-none-any.whl (102 kB)
|████████████████████████████████| 102 kB 3.3 MB/s
Collecting branca>=0.6.0
Downloading branca-0.6.0-py3-none-any.whl (24 kB)
Requirement already satisfied: jinja2>=2.9 in c:\users\student\anaconda3\lib\site-packages (from folium) (2.11.3)
Requirement already satisfied: requests in c:\users\student\anaconda3\lib\site-packages (from folium) (2.27.1)
Requirement already satisfied: numpy in c:\users\student\anaconda3\lib\site-packages (from folium) (1.21.5)
Requirement already satisfied: MarkupSafe>=0.23 in c:\users\student\anaconda3\lib\site-packages (from jinja2>=2.9->folium) (2.0.1)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\student\anaconda3\lib\site-packages (from requests->folium) (2021.10.8)
Requirement already satisfied: idna<4,>=2.5 in c:\users\student\anaconda3\lib\site-packages (from requests->folium) (3.3)
Requirement already satisfied: charset-normalizer~=2.0.0 in c:\users\student\anaconda3\lib\site-packages (from requests->folium) (2.0.4)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\users\student\anaconda3\lib\site-packages (from requests->folium) (1.26.9)
Installing collected packages: branca, folium
Successfully installed branca-0.6.0 folium-0.14.0
(base) C:\Users\Student>
インストールされたライブラリのバージョンを確認します.
(base) C:\Users\Student>pip list | find "folium" ⏎
folium 0.14.0
(base) C:\Users\Student>
Jupyter Notebook や Jupyter Lab でも pip
コマンドでインストールできます.
インストール
pip install folium
Jupyter Notebook や Jupyter Lab 上で Folium をインポートした後,中心にしたい緯度と経度を指定して地図を描いてみます.なお,zoom_start
は 0 から 18 まで指定できます.また,表示した地図の拡大率や中心を自由に操作できることも確認してください.
import folium
m = folium.Map(location=[35.000, 135.000], zoom_start=7)
m
OpenStreetMap® is open data, licensed under the Open Data Commons Open Database License (ODbL) by the OpenStreetMap Foundation (OSMF).
次のようにすると地図上にマーカーを配置することができます.
m = folium.Map(location=[35.000, 135.000], zoom_start=7)
folium.Marker(location=[35.000, 135.000]).add_to(m)
m
OpenStreetMap® is open data, licensed under the Open Data Commons Open Database License (ODbL) by the OpenStreetMap Foundation (OSMF).
作成した地図は HTML 形式で書き出すことができます.実際に書き出された HTML ファイルはこのようになります(初回の読み込みには時間を要するすることがあります).
HTML 形式で書き出す
m.save("map.html")
タイルを指定しなければ OpenStreetMap
のタイルが使用されます.
m = folium.Map(location=[35.000, 135.000], zoom_start=15)
m
OpenStreetMap® is open data, licensed under the Open Data Commons Open Database License (ODbL) by the OpenStreetMap Foundation (OSMF).
次のようにして標準の OpenStreetMap
タイルを指定することも可能です.もちろん上と同じ結果になるはずです.
m = folium.Map(location=[35.000, 135.000], zoom_start=15, tiles="OpenStreetMap")
m
OpenStreetMap® is open data, licensed under the Open Data Commons Open Database License (ODbL) by the OpenStreetMap Foundation (OSMF).
Stamen がいくつかのタイルを提供しています.指定するタイルを Stamen Terrain
(地形図)に変更します.
m = folium.Map(location=[35.000, 135.000], zoom_start=15, tiles="Stamen Terrain")
m
Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL.
指定するタイルを Stamen Toner
(白黒)に変更します.
m = folium.Map(location=[35.000, 135.000], zoom_start=15, tiles="Stamen Toner")
m
Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL.
ズームを変更して指定するとともに Stamen Watercolor
(水彩画風)タイルを指定します.
m = folium.Map(location=[35.000, 135.000], zoom_start=4, tiles="Stamen Watercolor")
m
Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA.