PostgreSQL のジオデータ、つまり地理情報システムを取り扱うための拡張モジュールである PostGis を扱う機会が多いのですが、その際サクッとデータを地図にマッピングしたいことがあります。
Kepler.gl というオープンソースの地理空間情報分析に使えるツールで、簡単にこれが実現できるので紹介します。
ステップ
- CSV でジオデータを出力する
- 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 で出力して、ドラッグアンドドロップするだけです。
超簡単にマッピングができるので、データの検証などで可視化が必要な際に重宝します。