【ぽすとじす】

PostGIS とは?

💡 PostgreSQLに地図の力を!位置情報の世界標準
📌 このページのポイント
PostGIS(PostgreSQL + 空間機能) PostgreSQL 通常のSQL機能 数値・文字列・日付... B-treeインデックス + PostGIS 拡張 POINT, POLYGON, LINE型 ST_Distance, ST_Contains GiSTインデックス(空間) 主な空間関数 ST_Distance 2点間の距離 ST_Contains 範囲内に含む? ST_Intersects 重なる? ST_Area 面積計算
PostGISのイメージ
ひよこ ひよこ

PostGISって何ができるの?

ペンギン先生 ペンギン先生

PostgreSQLで地図や位置情報を扱えるようにする拡張だよ。たとえば「現在地から半径1km以内のカフェを検索」や「この土地は洪水危険区域に含まれるか」みたいな空間クエリが書けるようになるんだ

ひよこ ひよこ

普通のSQL位置情報を扱うのとはどう違うの?

ペンギン先生 ペンギン先生

緯度経度を数値で保存するだけなら普通のSQLでもできるけど、地球は丸いから距離計算には球面三角法が必要なんだ。PostGISならST_Distance関数一つで正確な距離が計算できるよ

ひよこ ひよこ

どんなサービスで使われてるの?

ペンギン先生 ペンギン先生

OpenStreetMap(オープンな地図プロジェクト)のバックエンドがPostGISだよ。他にも配車アプリ、不動産サイト、物流システム、防災マップなど、位置情報を扱うサービスの裏側で広く使われているんだ

ひよこ ひよこ

インストールは難しいの?

ペンギン先生 ペンギン先生

PostgreSQLがあれば CREATE EXTENSION postgis; の一行で有効化できるよ。AWS RDSやCloud SQLなどのマネージドDBでも対応しているから、クラウドでも簡単に使えるんだ

ひよこ ひよこ

空間インデックスも使えるんだよね?

ペンギン先生 ペンギン先生

もちろん!GiSTインデックスを使って空間検索を高速化できるよ。何百万件のポイントデータから「この範囲内のデータ」を一瞬で取得できるんだ。ラスターデータ(衛星画像など)や3Dデータも扱えるから、GIS分野ではデファクトスタンダードなんだよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「PostGIS」って出てきたら「PostgreSQLを地図・位置情報対応にする拡張」と思えればだいたいOK!
📖 おまけ:英語の意味
「PostGIS (PostgreSQL + GIS)」 = PostgreSQL用地理情報システム
💬 PostgreSQLのPostとGIS(Geographic Information System:地理情報システム)を組み合わせた名前だよ
← 用語集にもどる