見出し画像

【備忘】kepler.gl とstreamlitで日本地図をコロプレスマップで表示する方法(1)

目的:自社商品の県ごとのシェアを可視化したい。また、競合他社の製品データも閲覧できるダッシュボードを作成する。

言語:python
仕様:github、visual Studio Code 、streamlit
※これらの連携方法は、ここでは書きません。

【本日までに出来た事】
ステップ1.日本地図の表示。
ステップ2.県ごとに日本地図を区分したい。

様々な調査を行った結果、日本地図上でポインタを合わせた際に数値が表示されるインタラクティブな機能を提供できることから、「kepler.gl」の利用を決定しました。この機能をStreamlitを使用してダッシュボードに組み込み、他のデータと統合して一つのアプリケーションにすることを考えています。

【コード】
ステップ1.日本地#図の表示
ステップ2.県ごとに日本地図を区分したい。

#ライブラリーのインポート
rom streamlit_keplergl import keplergl_static
from keplergl import KeplerGl
import pandas as pd
import geopandas as gpd
from shapely.geometry import Polygon, MultiPolygon


st.write("This is a kepler.gl map in streamlit")

#初期地を設置する。
config = {
  "version":"v1",
  "config":{
    "mapState":{
         "bearing": 0,
         "latitude": 35.68944,
         "longitude": 139.69167,
         "pitch": 0,
         "zoom": 4
      }
   }
}

# GeoJSONデータをGeoDataFrameに変換
japan_geojson = gpd.read_file('japan.geojson')

#map1にconfigのデータで初期設定を行う。
map_1 = KeplerGl(config = config)
map_1.add_data(data=japan_geojson, name="Feature")
keplergl_static(map_1)

geojsionのデータ:
https://github.com/dataofjapan/land/blob/master/japan.geojson”  
から取得し、同フォルダに保存。

【結果】

ここまで作成することができました。様々なサイトやkepler.glのチュートリアルを参照し、3日間をかけてこれを完成させました。もし更に詳細な説明が必要な場合は、私が特に苦労したポイントを含め、ステップバイステップでの追加説明も検討しています。

いいなと思ったら応援しよう!