Metabaseのマップ機能を使ってみた

2020.05.22

今回は社内部門向け共有で使ってる Metabase でマップ機能があったのでそれを使ってみました。

動作環境

  • Metabase:v0.35.3
  • OS:Windows Server 2008 R2

設定手順

Metabaseの管理者画面に遷移して【マップ】を選択します。

【マップを追加する】をクリックしてマップの名前と日本地図のGeoJSONのURLを指定します。

日本地図のGeoJSONは以下のサイトから入手しました。

https://github.com/dataofjapan/land

必要な情報を設定して【マップを保存する】で設定自体は完了なのですが、JSONの中にある日本語が文字化けをしてしまってます。

プルダウン内の表示だけの問題かと思いましたが、実際データを表示させても都道府県のグラフには反映されないので文字化けのままではグラフ描画処理がうまく行ってないものと思われます。

ちなみに古いバージョンの Metabase(v0.28.6) で見てみたら文字化けはしてませんでした。

GeoJSONの中身(一部抜粋)

{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "properties": {
                "nam": "Kyoto Fu",
                "nam_ja": "京都府",
                "id": 26
            },
            "geometry": {
                "type": "MultiPolygon",
                "coordinates": [
                    [
                        [
                            [
                                135.036697387695,
                                35.537334442138686
                            ],
                            [
                                135.035202026367,
                                35.53973388671878
                            ],
                            [
                                135.03010559082,
                                35.53986740112302
                            ],
                            [
                                135.019607543945,
                                35.53826522827148
                            ],
                            [
                                135.00830078124997,
                                35.533931732177685
                            ],
                            [
                                135.00450134277298,
                                35.535598754882805
                            ],

こんな感じになっているので、京都府ならKyoto Fuになるようにクエリ対象テーブルのカラムにprefectures_roma列を追加してGeoJSON内に記載ある通りにデータを投入しました。

再度Metabaseの管理画面に遷移してプロパティを設定します。

ビュー側の設定をして完了です。

ダッシュボードで表示する

データの準備及び設定は完了したので、実際にデータを日本地図で表示してみます。

ダッシュボードらしくなりました。

まとめ

マップについては日本語がそのまま使えればサンプルデータは条件が整っていたのでスムーズに使えたんですが、GeoJSONに合わせてデータを用意するところがちょっと面倒でした。何か設定いじれば文字化けが回避できるのかもしれませんがそこまで時間が取れなかったので今回はこの辺で。