• GBase 8c V3.0.0数据类型——几何类型转换函数


    1. box(circle)

    描述:将圆转换成矩形

    返回类型:box

    示例:

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

                                      result                                   

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

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

    (1 row)

    1. box(point, point)

    描述:将点转换成矩形

    返回类型:box

    示例:

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

       result    

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

     (1,1),(0,0)

    (1 row)

    1. box(polygon)

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

    返回类型:box

    示例:

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

       result    

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

     (2,1),(0,0)

    (1 row)

    1. circle(box)

    描述:矩形转换成圆

    返回类型:circle

    示例:

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

                result             

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

     <(0.5,0.5),0.707106781186548>

    (1 row)

    1. circle(point, double precision)

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

    返回类型:circle

    示例:

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

      result   

    -----------

     <(0,0),2>

    (1 row)

    1. circle(polygon)

    描述:将多边形转换成圆

    返回类型:circle

    示例:

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

                      result                   

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

     <(1,0.333333333333333),0.924950591148529>

    (1 row)

    1. lseg(box)

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

    返回类型:lseg

    示例:

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

         result     

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

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

    (1 row)

    1. lseg(point, point)

    描述:点转换成线段

    返回类型:lseg

    示例:

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

         result     

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

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

    (1 row)

    1. slope(point, point)

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

    返回类型: double

    示例:

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

     result

    --------

          1

    (1 row)

    1. path(polygon)

    描述:多边形转换成路径

    返回类型:path

    示例:

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

           result        

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

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

    (1 row)

    1. point(double precision, double precision)

    描述:节点

    返回类型:point

    示例:

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

        result    

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

     (23.4,-44.5)

    (1 row)

    1. point(box)

    描述:矩形的中心

    返回类型:point

    示例:

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

     result

    --------

     (0,0)

    (1 row)

    1. point(circle)

    描述:圆心

    返回类型:point

    示例:

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

     result

    --------

     (0,0)

    (1 row)

    1. point(lseg)

    描述:线段的中心

    返回类型:point

    示例:

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

     result

    --------

     (0,0)

    (1 row)

    1. point(polygon)

    描述:多边形的中心

    返回类型:point

    示例:

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

            result         

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

     (1,0.333333333333333)

    (1 row)

    1. 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)

    1. 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)

    1. 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)

    1. polygon(path)

    描述:路径转换成多边形

    返回类型:polygon

    示例:

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

           result        

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

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

    (1 row)

  • 相关阅读:
    管道的介绍
    day50-正则表达式01
    Apache Flink Table Store 0.2.0 发布
    NFT 作品集推荐|Lululand《爱是永恒》
    特殊要求!2023年初级会计考试报名需要这些材料!
    面试题12:矩阵中的路径(回溯法)
    微信小程序学习(02)
    七月集训(20)BST
    Web3中文|NFT无法保障数字所有权?
    设计模式之访问者模式
  • 原文地址:https://blog.csdn.net/futianxia061112/article/details/125421012