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