Folium とTopoJson を使って 都道府県の形を描画する

Folium とGeoJson を使って 都道府県の形を描画する の続きです。

TopoJSON

GeoJSONの拡張であり、トポロジーを記述する。

この記事では「 都道府県のTopoJSON」を使って 都道府県の形を地図に描画する

都道府県のTopoJSON」は下記のものを使用する

Data of Japan

FoliumでGeoJSONを扱うには

folium: TopoJson を使う。

使い方は folium: GeoJson
とほぼ同じだが違いもある。

 URL や ファイルパス が指定できない。

folium.GeoJson ではURL や ファイルパスを指定すると GeoJson ファイルを読み込んだ。

folium.TopoJson の第1引数の data に指定できるのは

file、dict、または str

folium.TopoJson では下記のようにする

URL

folium.TopoJson(
    json.loads(requests.get( URL_TOPOJSON).text), 
    object_path = 'objects.japan'
)

ファイルパス

folium.TopoJson(
    data = open(    FILE_TOPOJSON, encoding='utf-8'),
    object_path =  'objects.japan',
)

object_path を指定する

object_path には TopoJson の目的とするオブジェクトのパスを指定する。

例: 「objects.myobject」

style_function と ポップアップ

これは folium.GeoJson と同じ

gjson = folium.TopoJson(
    data=open(    FILE_TOPOJSON, encoding='utf-8'),
    object_path = OBJECT_PATH,
    name = NAME, 
    style_function=style_function
).add_to(map)
folium.features.GeoJsonPopup( fields=['nam_ja'], labels=False ).add_to(gjson)

プログラムはGitHubに公開した。

https://github.com/ohwada/World_Countries/tree/main/folium/topojson