LoginSignup
3
3

More than 5 years have passed since last update.

PostgreSQL幾何データ演算子

Posted at
2点間の距離を調べる
select point(5, 5) <-> point(10, 10)  ;-- →2点間の距離
包含判定
select box(point(0, 0), point(10, 10)) ~ box(point(5, 5), point(20, 20)) ;--含まれるか → 偽
select box(point(0, 0), point(10, 10)) ~ box(point(0, 0), point(20, 20)) ;--含まれるか → 真
重なり判定
select box(point(0, 0), point(10, 10)) && box(point(5, 5), point(20, 20)) ;--重なっているか → 真
はみ出し判定
select box(point(0, 0), point(10, 10)) &< box(point(5, 5), point(20, 20)) ;--右にはみ出しているか → 真
select box(point(0, 0), point(10, 10)) &> box(point(5, 5), point(20, 20)) ;--左にはみ出しているか → 偽
select box(point(0, 0), point(10, 10)) &<| box(point(5, 5), point(20, 20)) ;--上にはみ出しているか → 真
select box(point(0, 0), point(10, 10)) |&> box(point(5, 5), point(20, 20)) ;--下にはみ出しているか → 偽

簡単なレコメンドやクラスタリングを行うのに使える。
http://shimz.me/blog/sql/2556

3
3
0

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
3
3