PostGIS : してログ

PostGIS で遊んでみたくなったので、CentOS7 で環境を作ってみた。

yum install postgresql-server
postgresql-setup initdb

yum install epel-release

yum install proj proj-devel proj-epsg
yum install gdal
yum install postgis

firewall-cmd --add-service=postgresql --permanent
firewall-cmd --reload

systemctl start postgresql
systemctl enable postgresql

以前のバージョンでは、テンプレートを元に新しい空間データベースを作成しましたが、PostgreSQL 9.1 の CREATE EXTENSION で機能拡張としてインストールする形になりました。このため、PostGIS 2.1 では従前のテンプレートが無く、代わりにデータベースを作成した後、下記のコマンドにより空間データベースを構築します。

create extension postgis;

他にも、経路探索を行う pgrouting、トポロジー型をサポートする postgis_topology などがあるようです。また、日本では使えませんが、ジオコーディング用の機能拡張も用意されています。これらも同様に、CREATE EXTENSION で必要に応じてインストールできます。

WGS84 はよく使うので 4326 とすぐに出てくるけど、他のはなかなか覚えづらいので、まとめておきます。

最近では、Google Maps で用いられている投影法(EPSG:900913)を使うことも多く PostGIS の spatial_ref_sys にも SRID=900913 として定義がありました。前のバージョンだと自前でパラメータ入れなければならなかったので、記事に残しおこうと思ったらすでに入ってたって言う感じです。字面が Google を表しているので、この覚え方は簡単です。

Google
900913
主要SRID一覧
  • JGD2000(GRS80楕円体)
    緯度経度
    4612 : 緯度経度
    UTM座標系
    3097 : 51N
    3098 : 52N
    3099 : 53N
    3100 : 54N
    3101 : 55N
    平面直角座標
    2443 : 1系 長崎県、鹿児島県の一部
    2444 : 2系 福岡県、佐賀県、熊本県、鹿児島県の一部
    2445 : 3系 山口県、島根県、広島県
    2446 : 4系 香川県、愛媛県、徳島県、高知県
    2447 : 5系 兵庫県、鳥取県、岡山県
    2448 : 6系 京都府、大阪府、福井県、滋賀県、三重県、奈良県、和歌山県
    2449 : 7系 石川県、富山県、岐阜県、愛知県
    2450 : 8系 新潟県、長野県、山梨県、静岡県
    2451 : 9系 東京都の一部、福島県、栃木県、茨城県、埼玉県、千葉県、群馬県、神奈川県
    2452 : 10系 青森県、秋田県、山形県、岩手県、宮城県
    2453 : 11系 北海道の一部
    2454 : 12系 北海道の一部
    2455 : 13系 北海道の一部
    2456 : 14系 東京都の一部(小笠原)
    2457 : 15系 沖縄県の一部
    2458 : 16系 沖縄県の一部
    2459 : 17系 沖縄県の一部
    2460 : 18系 東京都の一部(沖ノ鳥島)
    2461 : 19系 東京都の一部(南鳥島)
  • WGS84系(WGS84楕円体)
    緯度経度
    4326 : 緯度経度
    UTM座標系
    32651 : 51N
    32652 : 52N
    32653 : 53N
    32654 : 54N
    32655 : 55N
    32656 : 56N
  • EPSG:900913(半径6378137m真球)※Google Maps / 電子国土
    球体メルカトル
    900913
  • 日本測地系(ベッセル楕円体)
    緯度経度
    4301 : 緯度経度
    UTM座標系
    102151 : 51N
    102152 : 52N
    102153 : 53N
    102154 : 54N
    102155 : 55N
    102156 : 56N
    平面直角座標系
    30161 : 1系 長崎県、鹿児島県の一部
    30162 : 2系 福岡県、佐賀県、熊本県、鹿児島県の一部
    30163 : 3系 山口県、島根県、広島県
    30164 : 4系 香川県、愛媛県、徳島県、高知県
    30165 : 5系 兵庫県、鳥取県、岡山県
    30166 : 6系 京都府、大阪府、福井県、滋賀県、三重県、奈良県、和歌山県
    30167 : 7系 石川県、富山県、岐阜県、愛知県
    30168 : 8系 新潟県、長野県、山梨県、静岡県
    30169 : 9系 東京都の一部、福島県、栃木県、茨城県、埼玉県、千葉県、群馬県、神奈川県
    30170 : 10系 青森県、秋田県、山形県、岩手県、宮城県
    30171 : 11系 北海道の一部
    30172 : 12系 北海道の一部
    30173 : 13系 北海道の一部
    30174 : 14系 東京都の一部(小笠原)
    30175 : 15系 沖縄県の一部
    30176 : 16系 沖縄県の一部
    30177 : 17系 沖縄県の一部
    30178 : 18系 東京都の一部(沖ノ鳥島)
    30179 : 19系 東京都の一部(南鳥島)