foliumで国土地理院のサイトで提供されている、タイルの情報を地図の上に重ねる方法を紹介します。
調べてみると、ベースマップのタイルを変える方法は見付かるのですが、別のレイヤーをオーバーレイする方法は見つからなかったので。
foliumの細かい話は省略です。
folium.raster_layers.TileLayer
タイルを重ねて表示するにはfolium.raster_layers.TileLayer
というクラスを使います。
具体的にはこんな感じです。
fmap1 = folium.Map(
location=[35.1158021, 139.0839284],
tiles = "OpenStreetMap",
zoom_start = 15,
width = 800, height = 800
)
folium.raster_layers.TileLayer(
tiles='https://disaportaldata.gsi.go.jp/raster/05_dosekiryukeikaikuiki/{z}/{x}/{y}.png',
fmt='image/png',
attr="hogehoge",
tms=False,
overlay=True,
control=True,
opacity=0.7
).add_to(fmap1)
folium.LayerControl().add_to(fmap1)
パラメータでハマりそうなところをいくつか書いておきます。
tiles
ハマる、というほどではないんですが、似たようなことが出きるWmsTileLayer
では、url
という引数になっています。
attr
例ではhogehoge
としていますが、右下に出る権利表示です。
このパラメータが空だと動かないんですが、エラーを見た時にattributeのことだと思うと混乱します。
特に外に公開する場合などはhogehoge
とかせずちゃんと書きましょう。
tms
タイルの座標を決める方式のようです。
とりあえず、両方試して正しそうな方を選ぶのがよいかと。