GBase 8c
其他
文章

GBase 8c 数据类型——几何类型转换函数

发表于2023-12-07 09:15:1431次浏览3个评论

l box(circle)
 

 

描述:将圆转换成矩形

返回类型:box

示例:

gbase=# SELECT box(circle '((0,0),2.0)') AS RESULT;

                                  result                                   

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

 (1.41421356237309,1.41421356237309),(-1.41421356237309,-1.41421356237309)

(1 row)

l box(point, point)

描述:将点转换成矩形

返回类型:box

示例:

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

   result    

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

 (1,1),(0,0)

(1 row)

l box(polygon)

描述:将多边形转换成矩形

返回类型:box

示例:

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

   result    

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

 (2,1),(0,0)

(1 row)

l circle(box)

描述:矩形转换成圆

返回类型:circle

示例:

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

            result             

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

 <(0.5,0.5),0.707106781186548>

(1 row)

l circle(point, double precision)

描述:将圆心和半径转换成圆

返回类型:circle

示例:

gbase=# SELECT circle(point '(0,0)', 2.0) AS RESULT;

  result   

-----------

 <(0,0),2>

(1 row)

l circle(polygon)

描述:将多边形转换成圆

返回类型:circle

示例:

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

                  result                   

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

 <(1,0.333333333333333),0.924950591148529>

(1 row)

l lseg(box)

描述:矩形对角线转化成线段

返回类型:lseg

示例:

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

     result     

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

 [(1,0),(-1,0)]

(1 row)

l lseg(point, point)

描述:点转换成线段

返回类型:lseg

示例:

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

     result     

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

 [(-1,0),(1,0)]

(1 row)

l slope(point, point)

描述:计算两个点构成直线的斜率

返回类型: double

示例:

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

 result

--------

      1

(1 row)

l path(polygon)

描述:多边形转换成路径

返回类型:path

示例:

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

       result        

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

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

(1 row)

l point(double precision, double precision)

描述:节点

返回类型:point

示例:

 gbase=# SELECT point(23.4, -44.5) AS RESULT;

    result    

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

 (23.4,-44.5)

(1 row)

l point(box)

描述:矩形的中心

返回类型:point

示例:

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

 result

--------

 (0,0)

(1 row)

l point(circle)

描述:圆心

返回类型:point

示例:

gbase=# SELECT point(circle '((0,0),2.0)') AS RESULT;

 result

--------

 (0,0)

(1 row)

l point(lseg)

描述:线段的中心

返回类型:point

示例:

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

 result

--------

 (0,0)

(1 row)

l point(polygon)

描述:多边形的中心

返回类型:point

示例:

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

        result         

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

 (1,0.333333333333333)

(1 row)

l polygon(box)

描述:矩形转换成4点多边形

返回类型:polygon

示例:

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

          result           

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

 ((0,0),(0,1),(1,1),(1,0))

(1 row)

l polygon(circle)

描述:圆转换成12点多边形

返回类型:polygon

示例:

gbase=# SELECT polygon(circle '((0,0),2.0)') AS RESULT;

                                                                                                                                                result                                                                                      

    

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

 ((-2,0),(-1.73205080756888,1),(-1,1.73205080756888),(-1.22464679914735e-16,2),(1,1.73205080756888),(1.73205080756888,1),(2,2.44929359829471e-16),(1.73205080756888,-0.999999999999999),(1,-1.73205080756888),(3.67394039744206e-16,-2),(-0.999999999999999,-1.73205080756888),(-1.73205080756888,-1))

(1 row)

l polygon(npts, circle)

描述:圆转换成npts点多边形

返回类型:polygon

示例:

gbase=# SELECT polygon(12, circle '((0,0),2.0)') AS RESULT;

                                                                                                                                                result                                                                                      

    

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

 ((-2,0),(-1.73205080756888,1),(-1,1.73205080756888),(-1.22464679914735e-16,2),(1,1.73205080756888),(1.73205080756888,1),(2,2.44929359829471e-16),(1.73205080756888,-0.999999999999999),(1,-1.73205080756888),(3.67394039744206e-16,-2),(-0.999999999999999,-1.73205080756888),(-1.73205080756888,-1))

(1 row)

l polygon(path)

描述:路径转换成多边形

返回类型:polygon

示例:

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

       result        

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

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

(1 row)

评论

登录后才可以发表评论
崔哥发表于 9个月前
给你点个赞
崔哥发表于 8个月前
虚心向前辈学习
用户头像
GBase用户28017发表于 6个月前
优秀