postgisの概要(DB経由でshpを編集する技術)

概要

postgresSQLの拡張機能である、postgisを使うことで、shpファイルをDB経由で、sqlで編集することができます。

大量のデータを処理するときやsql、DBの知識がある方は使用すると良いと思います。

この記事では、postgisやインストール方法、使用方法などについて解説します。

 

postgisとは

オープンソースのデータベース管理システムであるPostgreSQLに、地理情報システム(GIS)の機能を追加する拡張機能です。

地理データを管理・操作・分析するための強力なツールとして広く使われています。

メリットとしては、下記が挙げられます。

  • 地理データを効率的に扱える。
  • GISソフトウェアを使わずにサーバーサイドでデータ処理が可能。
  • オープンソースなので、無料で利用可能。
  • 高度な分析やWebシステムと連携しやすい。

 

インストール方法

ソフトとしては、QGIS、postgresSQL(pgAdmin)、A5M2をインストールしておくと良いと思います。

 

QGIS

こちらのサイト(https://www.qgis.org/download/)より、インストールします。

 

PostgreSQL(pgAdmin)

こちらのサイト(https://www.postgresql.org/download/)より、インストールを行います。

インストールの手順などは、こちらのサイト(https://qiita.com/tom-sato/items/037b8f8cb4b326710f71)が参考になります。

 

A5Mk2

こちらのサイト(https://a5m2.mmatsubara.com/)よりダウンロードします。

sqlの入力に便利なソフトになります。

 

postgisのインストール

PostgreSQLインストール後に、stack builderからpostgisをインストールします。

詳しくは、こちらのサイト(https://zenn.dev/boiledorange73/books/b1de0a18073af70946e0/viewer/install-win)を参考にして頂くと良いと思います。

 

使用方法

まずは、DBの作成を行います。

pgAdminを起動します。

データベースの上で右クリック → 作成 → データベース… を選択します。

 

データベース名を入力して、保存をクリックします。

 

作成したデータバースの拡張の上で右クリック → 作成 → 拡張 を選択します。

 

名前にpostgisを入力し、保存をクリックします。

 

拡張にpostgisが追加されます。

 

続いて、shpをDBに取り込みます。

shp2pgsql-gui.exeを起動します。

おそらく、C:\Program Files\PostgreSQL\17\bin\postgisgui にあるかと思われます。

 

View connection detailsをクリックして、UsernameやDatabaseなどを入力します。

 

Add Fileをクリックして、shpを追加する、もしくは、shpファイルをドラッグアンドドロップすることで、Import Listに追加します。

ここで、Pathやshp名に日本語が入っていると上手く変換できないようなので、英語にしておくようにしましょう。

 

Table名やSRID(座標系)を指定します。SRIDはEPSGの番号を入力します。

 

 

Optionsをクリックして、encodingを選択します。

今回はShift-JISなので、cp932 とします。

 

Importをクックします。

うまくいくと、Shapefile import completed. と表示されます。

 

インポートされたデータを見てみます。

A5Mr2を起動します。

 

データベースを追加します。

データベースの上で右クリック → データベースの追加と削除 を選択します。

 

追加をクリックします。

 

PostgreSQL(直接接続)を選択します。

 

サーバー名やデータベース名などを入力します。

テスト接続をクリックして、成功したら、OKをクリックします。

 

データベースに追加されます。

 

publicのテーブルを選択すると、先ほどインポートしたshpのテーブルがあります。

 

shpに含まれる属性が表示されます。なお、geomという欄には、座標等の図形情報が入っています。

 

実際に登録したデータを見てみます。

QGISを起動します。

QGISのブラウザの欄のPostgreSQLを右クリック → 接続の新規作成 を選択します。

 

名前やホスト、ポートなどを入力し、接続テストをクリックします。

パスワードを入力後、接続に成功したら、OKをクリックします。

 

ブラウザ欄のPostgreSQLにDBが追加されます。

先ほど追加したshp名をクリックすると、レイヤが追加されます。

 

今回、例えば、条件を指定して、新たなレイヤを追加します。

樹種名が針広混交林のものを抽出します。

SQLは、

CREATE TABLE 新しいテーブル名 AS

SELECT 列1, 列2, …

FROM 元のテーブル名

WHERE 条件;

のようになります。

 

A5Mr2を起動し、DBを現在のデータベースに設定し、Queryに下記のように入力します。

そして、SQLを実行します(緑色の矢印で流せます)。

 

SQLを実行後、DBを再読込すると、新たにテーブルができております。

 

ブラウザの更新(矢印マーク)を行って、DBを読み込むと、先ほど作成したデータが追加されています。

 

大量のデータを扱うときや、sql、DBになれている人は使った方が楽だと思うので、ぜひご利用ください!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

error: Content is protected !!