- +
描述:平移。
示例:
gbase=# SELECT box '((0,0),(1,1))' + point '(2.0,0)' AS RESULT;
result
-------------
(3,1),(2,0)
(1 row)
- -
描述:平移。
示例:
gbase=# SELECT box '((0,0),(1,1))' - point '(2.0,0)' AS RESULT;
result
---------------
(-1,1),(-2,0)
(1 row)
- *
描述:伸展/旋转。
示例:
gbase=# SELECT box '((0,0),(1,1))' * point '(2.0,0)' AS RESULT;
result
-------------
(2,2),(0,0)
(1 row)
- /
描述:收缩/旋转。
示例:
gbase=# SELECT box '((0,0),(2,2))' / point '(2.0,0)' AS RESULT;
result
-------------
(1,1),(0,0)
(1 row)
- #
描述:两个图形交面。
示例:
gbase=# SELECT box '((1,-1),(-1,1))' # box '((1,1),(-2,-2))' AS RESULT;
result
---------------
(1,1),(-1,-1)
(1 row)
- #
描述:图形的路径数目或多边形顶点数。
示例:
gbase=# SELECT # path'((1,0),(0,1),(-1,0))' AS RESULT;
result
--------
3
(1 row)
- @-@
描述:图形的长度或者周长。
示例:
gbase=# SELECT @-@ path '((0,0),(1,0))' AS RESULT;
result
--------
2
(1 row)
- @@
描述:图形的中心。
示例:
gbase=# SELECT @@ circle '((0,0),10)' AS RESULT;
result
--------
(0,0)
(1 row)
- <->
描述:两个图形之间的距离。
示例:
gbase=# SELECT circle '((0,0),1)' <-> circle '((5,0),1)' AS RESULT;
result
--------
3
(1 row)
- &&
描述:两个图形是否重叠(有一个共同点就为真)。
示例:
gbase=# SELECT box '((0,0),(1,1))' && box '((0,0),(2,2))' AS RESULT;
result
--------
t
(1 row)
- <<
描述:图形是否全部在另一个图形的左边(没有相同的横坐标)。
示例:
gbase=# SELECT circle '((0,0),1)' << circle '((5,0),1)' AS RESULT;
result
--------
t
(1 row)
- >>
描述:图形是否全部在另一个图形的右边(没有相同的横坐标)。
示例:
gbase=# SELECT circle '((5,0),1)' >> circle '((0,0),1)' AS RESULT;
result
--------
t
(1 row)
- &<
描述:图形的最右边是否不超过在另一个图形的最右边。
示例:
gbase=# SELECT box '((0,0),(1,1))' &< box '((0,0),(2,2))' AS RESULT;
result
--------
t
(1 row)
- &>
描述:图形的最左边是否不超过在另一个图形的最左边。
示例:
gbase=# SELECT box '((0,0),(3,3))' &> box '((0,0),(2,2))' AS RESULT;
result
--------
t
(1 row)
- <<|
描述:图形是否全部在另一个图形的下边(没有相同的纵坐标)。
示例:
gbase=# SELECT box '((0,0),(3,3))' <<| box '((3,4),(5,5))' AS RESULT;
result
--------
t
(1 row)
- |>>
描述:图形是否全部在另一个图形的上边(没有相同的纵坐标)。
示例:
gbase=# SELECT box '((3,4),(5,5))' |>> box '((0,0),(3,3))' AS RESULT;
result
--------
t
(1 row)
- &<|
描述:图形的最上边是否不超过另一个图形的最上边。
示例:
gbase=# SELECT box '((0,0),(1,1))' &<| box '((0,0),(2,2))' AS RESULT;
result
--------
t
(1 row)
- |&>
描述:图形的最下边是否不超过另一个图形的最下边。
示例:
gbase=# SELECT box '((0,0),(3,3))' |&> box '((0,0),(2,2))' AS RESULT;
result
--------
t
(1 row)
- <^
描述:图形是否低于另一个图形(允许两个图形有接触)。
示例:
gbase=# SELECT box '((0,0),(-3,-3))' <^ box '((0,0),(2,2))' AS RESULT;
result
--------
t
(1 row)
- >^
描述:图形是否高于另一个图形(允许两个图形有接触)。
示例:
gbase=# SELECT box '((0,0),(2,2))' >^ box '((0,0),(-3,-3))' AS RESULT;
result
--------
t
(1 row)
- ?#
描述:两个图形是否相交。
示例:
gbase=# SELECT lseg '((-1,0),(1,0))' ?# box '((-2,-2),(2,2))' AS RESULT;
result
--------
t
(1 row)
- ?-
描述:图形是否处于水平位置。
示例:
gbase=# SELECT ?- lseg '((-1,0),(1,0))' AS RESULT;
result
--------
t
(1 row)
- ?-
描述:图形是否水平对齐。
示例:
gbase=# SELECT point '(1,0)' ?- point '(0,0)' AS RESULT;
result
--------
t
(1 row)
- ?|
描述:图形是否处于竖直位置。
示例:
gbase=# SELECT ?| lseg '((-1,0),(1,0))' AS RESULT;
result
--------
f
(1 row)
- ?|
描述:图形是否竖直对齐。
示例:
gbase=# SELECT point '(0,1)' ?| point '(0,0)' AS RESULT;
result
--------
t
(1 row)
- ?-|
描述:两条线是否垂直。
示例:
gbase=# SELECT lseg '((0,0),(0,1))' ?-| lseg '((0,0),(1,0))' AS RESULT;
result
--------
t
(1 row)
- ?||
描述:两条线是否平行。
示例:
gbase=# SELECT lseg '((-1,0),(1,0))' ?|| lseg '((-1,2),(1,2))' AS RESULT;
result
--------
t
(1 row)
- @>
描述:图形是否包含另一个图形。
示例:
gbase=# SELECT circle '((0,0),2)' @> point '(1,1)' AS RESULT;
result
--------
t
(1 row)
- <@
描述:图形是否被包含于另一个图形。
示例:
gbase=# SELECT point '(1,1)' <@ circle '((0,0),2)' AS RESULT;
result
--------
t
(1 row)
- ~=
描述:两个图形是否相同。
示例:
gbase=# SELECT polygon '((0,0),(1,1))' ~= polygon '((1,1),(0,0))' AS RESULT;
result
--------
t
(1 row)