【ぽすとじす】
PostGIS とは?
最終更新:
💡 PostgreSQLに、地図や位置を調べる力を加える
PostgreSQLに地理空間データの保存・検索・分析機能を追加する拡張。点・線・ポリゴンなどを扱い、距離や位置関係をSQLで調べられる。
📌 このページのポイント
- PostgreSQLに空間データの型・関数・インデックスの機能を追加する
- 点・線・ポリゴンなどを保存し、距離や重なり、範囲内かどうかを調べる
- geometryとgeographyで距離の計算方法や単位が異なるため、型と座標系を確認する
- GiSTなどの空間インデックスを活用でき、QGISなどの地理情報ツールと連携できる
PostGISって何ができるの?
緯度と経度を数値で保存するのとは違うの?
位置の形や関係を扱う型と関数が加わるよ。ただし、距離の計算には条件がある。ST_Distanceはgeometryなら座標系の単位による平面距離、geographyなら標準では楕円体上の距離をメートルで返す。緯度経度を入れれば必ずメートルになるわけではないんだ。
半径1km以内の店はどう探すの?
指定した距離以内かを調べるST_DWithinが使えるよ。geographyなら距離の指定単位はメートル。geometryでは座標系の単位を使うから、1kmのつもりで1000と書く前に、型と座標系をそろえる必要があるんだ。
PostgreSQLがあればすぐ使える?
データが多くても一瞬で検索できる?
GiSTなどの空間インデックスで候補を絞り、詳しい位置関係を計算する仕組みが使えるよ。ただし、検索条件やデータ量によって効果は変わる。地図の表示そのものはQGISなどのツールとも組み合わせられるんだ。
まとめ:ざっくりこれだけ覚えればOK!
「PostGIS」って出てきたら「PostgreSQLを地図・位置情報対応にする拡張」と思えればだいたいOK!
📖 おまけ:英語の意味
「PostGIS (PostgreSQL + GIS)」 = PostgreSQL用地理情報システム
💬 PostgreSQLのPostとGIS(Geographic Information System:地理情報システム)を組み合わせた名前だよ