伊豆諸島の島の一覧 の続きです。
前回は 「伊豆諸島の島の一覧」をJsonファイルにした。
この記事では 伊豆諸島の島の形を描画する。
やり方は Folium と GeoJson を使って 東京都島嶼部の島の形を描画する とほぼ同じ。
地図タイルは国土地理院の淡色地図を使用した。
島のポリゴンは、下記を使用した。
島ごとのGeoJsonファイルはない。
市区町村ごとのGeoJsonファイルになっている。
伊豆諸島は、 概ね 一島一町村になっている。
町村の形が島の形である。
「式根島」は例外で、 独自の自治体がなく、「新島村」に属している。
「新島村」のGeoJsonファイルに、 「新島」と「式根島」のポロゴンが含まれている。
市区町村のGeoJsonの一覧を forループで処理する。
伊豆諸島の自治体なら描画する
for item2 in list_prefectures : pref_code = item2['code'] pref_kanji = item2['kanji'] list_cities = item2['cities'] print(pref_kanji) # 東京都なら if pref_kanji != TOKYO: continue for item3 in list_cities: name = item3['N03_004'] filepath = item3['filepath'] url_geojson = urllib.parse.urljoin(url_raw_base, filepath) # 伊豆諸島なら if name in towns: print(name) gjson = folium.GeoJson( url_geojson, style_function=style_function_random).add_to(map) folium.features.GeoJsonPopup( fields=['N03_004'], labels=False ).add_to(gjson)
島の位置に 円形マーカー( CircleMarker) を表示する
for item in list_islands: name_island = item['name_island'] lat = item['lat'] lon = item['lon'] print(name_island) # Popup popup = folium.Popup(name_island, max_width= WIDTH) # CircleMarker folium.CircleMarker( location = [lat, lon], radius= RADIUS, popup = popup, color= COLOR, fill= True, fill_color= FILL_COLOR, ).add_to(map)
https://github.com/ohwada/World_Countries/tree/main/japan_municipaliy/folium/tokyo/izu_islands_shape