GBase 8c V3.0.0数据类型——几何操作符

  1. +

描述:平移。

示例:

gbase=# SELECT box '((0,0),(1,1))' + point '(2.0,0)' AS RESULT;

   result    

-------------

 (3,1),(2,0)

(1 row)

  1. -

描述:平移。

示例:

gbase=# SELECT box '((0,0),(1,1))' - point '(2.0,0)' AS RESULT;

    result     

---------------

 (-1,1),(-2,0)

(1 row)

  1. *

描述:伸展/旋转。

示例:

gbase=# SELECT box '((0,0),(1,1))' * point '(2.0,0)' AS RESULT;

   result    

-------------

 (2,2),(0,0)

(1 row)

  1. /

描述:收缩/旋转。

示例:

 gbase=# SELECT box '((0,0),(2,2))' / point '(2.0,0)' AS RESULT;

   result    

-------------

 (1,1),(0,0)

(1 row)

  1. #

描述:两个图形交面。

示例:

gbase=# SELECT box '((1,-1),(-1,1))' # box '((1,1),(-2,-2))' AS RESULT;

 result

---------------

 (1,1),(-1,-1)

(1 row)

  1. #

描述:图形的路径数目或多边形顶点数。

示例:

gbase=# SELECT # path'((1,0),(0,1),(-1,0))' AS RESULT;

 result

--------

      3

(1 row)

  1. @-@

描述:图形的长度或者周长。

示例:

 gbase=# SELECT @-@ path '((0,0),(1,0))' AS RESULT;

 result

--------

      2

(1 row)

  1. @@

描述:图形的中心。

示例:

gbase=# SELECT @@ circle '((0,0),10)' AS RESULT;

 result

--------

 (0,0)

(1 row)

  1. <->

描述:两个图形之间的距离。

示例:

gbase=# SELECT circle '((0,0),1)' <-> circle '((5,0),1)' AS RESULT;

 result

--------

      3

(1 row)

  1. &&

描述:两个图形是否重叠(有一个共同点就为真)。

示例:

gbase=# SELECT box '((0,0),(1,1))' && box '((0,0),(2,2))' AS RESULT;

 result

--------

 t

(1 row)

  1. <<

描述:图形是否全部在另一个图形的左边(没有相同的横坐标)。

示例:

gbase=# SELECT circle '((0,0),1)' << circle '((5,0),1)' AS RESULT;

 result

--------

 t

(1 row)

  1. >>

描述:图形是否全部在另一个图形的右边(没有相同的横坐标)。

示例:

gbase=# SELECT circle '((5,0),1)' >> circle '((0,0),1)' AS RESULT;

 result

--------

 t

(1 row)

  1. &<

描述:图形的最右边是否不超过在另一个图形的最右边。

示例:

gbase=# SELECT box '((0,0),(1,1))' &< box '((0,0),(2,2))' AS RESULT;

 result

--------

 t

(1 row)

  1. &>

描述:图形的最左边是否不超过在另一个图形的最左边。

示例:

gbase=# SELECT box '((0,0),(3,3))' &> box '((0,0),(2,2))' AS RESULT;

 result

--------

 t

(1 row)

  1. <<|

描述:图形是否全部在另一个图形的下边(没有相同的纵坐标)。

示例:

gbase=# SELECT box '((0,0),(3,3))' <<| box '((3,4),(5,5))' AS RESULT;

 result

--------

 t

(1 row)

  1. |>>

描述:图形是否全部在另一个图形的上边(没有相同的纵坐标)。

示例:

gbase=# SELECT box '((3,4),(5,5))' |>> box '((0,0),(3,3))' AS RESULT;

 result

--------

 t

(1 row)

  1. &<|

描述:图形的最上边是否不超过另一个图形的最上边。

示例:

gbase=# SELECT box '((0,0),(1,1))' &<| box '((0,0),(2,2))' AS RESULT;

 result

--------

 t

(1 row)

  1. |&>

描述:图形的最下边是否不超过另一个图形的最下边。

示例:

 gbase=# SELECT box '((0,0),(3,3))' |&> box '((0,0),(2,2))' AS RESULT;

 result

--------

 t

(1 row)

  1. <^

描述:图形是否低于另一个图形(允许两个图形有接触)。

示例:

gbase=# SELECT box '((0,0),(-3,-3))' <^ box '((0,0),(2,2))' AS RESULT;

 result

--------

 t

(1 row)

  1. >^

描述:图形是否高于另一个图形(允许两个图形有接触)。

示例:

gbase=# SELECT box '((0,0),(2,2))' >^ box '((0,0),(-3,-3))'  AS RESULT;

 result

--------

 t

(1 row)

  1. ?#

描述:两个图形是否相交。

示例:

gbase=# SELECT lseg '((-1,0),(1,0))' ?# box '((-2,-2),(2,2))' AS RESULT;

 result

--------

 t

(1 row)

  1. ?-

描述:图形是否处于水平位置。

示例:

gbase=# SELECT ?- lseg '((-1,0),(1,0))' AS RESULT;

 result

--------

 t

(1 row)

  1. ?-

描述:图形是否水平对齐。

示例:

 gbase=# SELECT point '(1,0)' ?- point '(0,0)' AS RESULT;

 result

--------

 t

(1 row)

  1. ?|

描述:图形是否处于竖直位置。

示例:

gbase=# SELECT ?| lseg '((-1,0),(1,0))' AS RESULT;

 result

--------

 f

(1 row)

  1. ?|

描述:图形是否竖直对齐。

示例:

 gbase=# SELECT point '(0,1)' ?| point '(0,0)' AS RESULT;

 result

--------

 t

(1 row)

  1. ?-|

描述:两条线是否垂直。

示例:

gbase=# SELECT lseg '((0,0),(0,1))' ?-| lseg '((0,0),(1,0))' AS RESULT;

 result

--------

 t

(1 row)

  1. ?||

描述:两条线是否平行。

示例:

gbase=# SELECT lseg '((-1,0),(1,0))' ?|| lseg '((-1,2),(1,2))' AS RESULT;

 result

--------

 t

(1 row)

  1. @>

描述:图形是否包含另一个图形。

示例:

gbase=# SELECT circle '((0,0),2)' @> point '(1,1)' AS RESULT;

 result

--------

 t

(1 row)

  1. <@

描述:图形是否被包含于另一个图形。

示例:

gbase=# SELECT point '(1,1)' <@ circle '((0,0),2)' AS RESULT;

 result

--------

 t

(1 row)

  1. ~=

描述:两个图形是否相同。

示例:

gbase=# SELECT polygon '((0,0),(1,1))' ~= polygon '((1,1),(0,0))' AS RESULT;

 result

--------

 t

(1 row)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值