Folium とGeoJson を使って 都道府県の形を描画する の続きです。
TopoJSON は
GeoJSONの拡張であり、トポロジーを記述する。
この記事では「 都道府県のTopoJSON」を使って 都道府県の形を地図に描画する
「 都道府県のTopoJSON」は下記のものを使用する
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