Kepler.gl を使ってジオデータを簡単に可視化する


PostgreSQL のジオデータ、つまり地理情報システムを取り扱うための拡張モジュールである PostGis を扱う機会が多いのですが、その際サクッとデータを地図にマッピングしたいことがあります。

Kepler.gl というオープンソースの地理空間情報分析に使えるツールで、簡単にこれが実現できるので紹介します。

ステップ

  1. CSV でジオデータを出力する
  2. CSV を Kepler.gl にアップロードする

以上です!超簡単!

CSV でジオデータを出力する

ジオデータをテキスト形式で出力するには PostGIS の ST_AsText を、そして PostgreSQL のデータを CSV として吐き出すために psql\COPY を使います。

以下のテーブルのデータをマッピングしたいとします。

CREATE TABLE geographical_boundary (
    label TEXT DEFAULT NULL,
    boundary GEOGRAPHY NOT NULL
);

CSV にするには以下のコマンドを psql 内で実行するだけで良いです。

\COPY (SELECT label, ST_AsText(boundary) AS boundary FROM geographical_boundary) TO 'output.csv' with csv HEADER

これで output.csv がカレントディレクトリに生成されます。ヘッダーは必須なので HEADER をコマンドにつけておきましょう。

CSV を Kepler.gl にアップロードする

Kepler にアクセスし、GET STARTED をクリックします。

そして CSV ファイルをここにドラッグアンドドロップしてアップロード!

終了です!

データの保存

画像で出力したり、Mapbox のアカウントに保存したりすることができるようです。
おそらくデータ分析などをしっかりして、その結果を共有する際には Mapbox に保存する必要があると思います。

まとめ

CSV で出力して、ドラッグアンドドロップするだけです。
超簡単にマッピングができるので、データの検証などで可視化が必要な際に重宝します。