(https://www.esrij.com/products/arcgis-dashboards/ より引用)
esri社のArcGIS Dashboardのような地図上のデータのダッシュボードを作成できないか調べていた時に
GreppoというGISのWebアプリを作成する向けのオープンソースなPythonのフレームワークがありました。
Greppoはフロントエンドとバックエンドの効果的に組み合わせてアプリを作成することができます。フロントエンドとバックエンドを連携するためのAPIを提供しており、フロントエンドの対話型コンポーネントやバックエンドで使う変数を結びつける機能があります。
Greppoを使用するとフロントエンドとバックエンドと簡単に開発し、地図アプリを簡単に構築できます。
・Greppo公式サイト
https://greppo.io/
・Greppo クイックスタート
https://docs.greppo.io/quickstart.html
・Greppo GitHub
今回はGreppoでダッシュボードのアプリを作成してみます
開発環境
Python 3.11.4
pip 23.2.1
greppo 0.0.33
アプリ作成
OpenStreetMapを使用してアプリ上の地図の枠を作成します
from greppo import app
app.base_layer(
name="Open Street Map",
visible=True,
url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
subdomains=None,
attribution='(C) OpenStreetMap contributors',
)
app.base_layer(provider="CartoDB Positron")
サーバを起動します
greppo serve app.py
このような地図が表示されます
道路情報や建物の情報などのgeojsonファイルをgeopandasで読み込んだものを作成したGreppoの地図データに組み込むと以下の画像のようなダッシュボードが出来上がります
(https://dev.to/stangirala/greppo-all-you-need-is-4-minutes-to-build-an-interactive-geospatial-webapp-4jok より引用)
備考
ArcGIS Dashboard(esri社)
https://www.esrij.com/products/arcgis-dashboards/
※有料ですが21日のトライアルがあります