LoginSignup
10
3

More than 1 year has passed since last update.

Docker DesktopでPostGISを構築、QGISで接続〜可視化まで

Last updated at Posted at 2022-12-21

はじめに

普段は人流データを取り扱う企業にて、空間分析等を行うエンジニアとして在籍しています。
普段使うツールの中には皆様ご存じのPostGISがあり、勤務以外でも軽くいじりたい(PostGISで遊びたい)と考えていましたが、私自身のスキルと予算の限界があるのでローカル上で構築することを前提に調べまとめました。

すでにQiita上にはDockerでPostGISを構築する記事がいくつかありますが、この記事ではデータ投入、QGISから接続・可視化まで記載しています。

参考資料

今回はこちらの記事を参考にさせていただきました。

使用環境

OS: Mac OS 12.6 Monterey
model: MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)
Docker: Docker Desktop Version 4.15.0
PostgreSQL: 11.2.1
PostGIS: 2.5.2
QGIS: 3.22.11

手順

1.Dockerの導入

Dockerの公式サイトからDocker Desktopをインストール。

2.PostGISの構築

Docker Desktopのインストール後、ターミナルで docker pull mdillon/postgis を実行。
スクリーンショット 2022-12-21 9.46.21.jpg
実行完了のメッセージが出力されたら、Docker Desktopを開きimagesmdillon/postgisがpullされていることを確認し、ACTIONSにある実行ボタン(▶︎)をクリックし、コンテナを実行。
スクリーンショット 2022-12-21 9.41.13.jpg

Docker Desktopでは初めてコンテナを実行させる際に下の画像のように初期設定のポップアップが表示されるので、今回は下記のように設定。
スクリーンショット 2022-12-21 10.33.52.jpg

Ports: <任意のポート番号>
Enviorenment variables
 → PostgreSQLとしての環境設定

Variable: Value
POSTGRES_DB: test_postgis
POSTGRES_USER: user
POSTGRES_PASSWORD: password

入力完了したら下のRunを押して実行。

3.QGISからDocker上のPostGISへ接続

スクリーンショット 2022-12-21 10.47.41.jpg
2.でPostGISコンテナを実行後にDocker Desktopの Logs に上画像のメッセージが出力されたら、QGISを起動させ、データソースマネージャーを開く。メニュー内の PostGIS を右クリックして 新規接続 を選択。
スクリーンショット 2022-12-21 10.55.03.jpg

新規接続設定のポップアップ内にて2.で設定した値を入力し、テスト接続 を実行。接続できればポップアップ上部に「 <データベース名>への接続に成功しました 」と表示されるので、確認後ポップアップ最下部にある OK をクリックし接続設定を保存。
スクリーンショット 2022-12-21 10.59.05.jpg

保存後、データソースマネージャーの PostGIS に設定したデータベースが表示されるので以降はこちらを使用する。
スクリーンショット 2022-12-21 11.03.37.jpg

4. QGISからPostGISへデータをエクスポート

今回はQGISのプロセッシングツールボックスの レイヤ領域にランダム点群 で生成したポイントデータを使います。
スクリーンショット 2022-12-21 11.19.28.jpg

プロセッシングツールボックスで PostGISへエクスポート を選択し、ポップアップ内で設定してから実行。

スクリーンショット 2022-12-21 11.23.12.jpg
ログウィンドウで Success ...... と出たら処理は正常に完了。

5.PostGISに保存しているデータをQGISで可視化

QGISのデータソースマネージャーにある PostGISを選択すると下画像のようにメニューが表示されるので、4.でエクスポートした test_point をダブルクリック。これで画面にポイントデータが表示される。

スクリーンショット 2022-12-21 11.26.30.jpg
スクリーンショット 2022-12-21 11.29.08.jpg

終わりに

Dockerで構築する場合はdocker-compose.yamlを編集するのがセオリーですが、Docker Desktopでの環境構築の際には実行する時の初期設定で指定するというところ点に気をつけないといけないと思います。これで初心者でもある程度一通りの環境構築ができそうです。
次のタイミングでは、PostGISの機能をいくつか試してみます。

10
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
3