更新时间:2024-06-29 GMT+08:00

几何类型转换函数

box(circle)

描述:将圆转换成矩形。

返回类型:box

示例:

1
2
3
4
5
SELECT box(circle '((0,0),2.0)') AS RESULT;
                                  result                                   
---------------------------------------------------------------------------
 (1.41421356237309,1.41421356237309),(-1.41421356237309,-1.41421356237309)
(1 row)

box(point, point)

描述:将点转换成矩形。

返回类型:box

示例:

1
2
3
4
5
SELECT box(point '(0,0)', point '(1,1)') AS RESULT;
   result    
-------------
 (1,1),(0,0)
(1 row)

box(polygon)

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

返回类型:box

示例:

1
2
3
4
5
SELECT box(polygon '((0,0),(1,1),(2,0))') AS RESULT;
   result    
-------------
 (2,1),(0,0)
(1 row)

circle(box)

描述:矩形转换成圆。

返回类型:circle

示例:

1
2
3
4
5
SELECT circle(box '((0,0),(1,1))') AS RESULT;
            result             
-------------------------------
 <(0.5,0.5),0.707106781186548>
(1 row)

circle(point, double precision)

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

返回类型:circle

示例:

1
2
3
4
5
SELECT circle(point '(0,0)', 2.0) AS RESULT;
  result   
-----------
 <(0,0),2>
(1 row)

circle(polygon)

描述:将多边形转换成圆。

返回类型:circle

示例:

1
2
3
4
5
SELECT circle(polygon '((0,0),(1,1),(2,0))') AS RESULT;
                  result                   
-------------------------------------------
 <(1,0.333333333333333),0.924950591148529>
(1 row)

lseg(box)

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

返回类型:lseg

示例:

1
2
3
4
5
SELECT lseg(box '((-1,0),(1,0))') AS RESULT;
     result     
----------------
 [(1,0),(-1,0)]
(1 row)

lseg(point, point)

描述:点转换成线段。

返回类型:lseg

示例:

1
2
3
4
5
SELECT lseg(point '(-1,0)', point '(1,0)') AS RESULT;
     result     
----------------
 [(-1,0),(1,0)]
(1 row)

path(polygon)

描述:多边形转换成路径。

返回类型:path

示例:

1
2
3
4
5
SELECT path(polygon '((0,0),(1,1),(2,0))') AS RESULT;
       result        
---------------------
 ((0,0),(1,1),(2,0))
(1 row)

point(double precision, double precision)

描述:结点。

返回类型:point

示例:

1
2
3
4
5
SELECT point(23.4, -44.5) AS RESULT;
    result    
--------------
 (23.4,-44.5)
(1 row)

point(box)

描述:矩形的中心。

返回类型:point

示例:

1
2
3
4
5
SELECT point(box '((-1,0),(1,0))') AS RESULT;
 result 
--------
 (0,0)
(1 row)

point(circle)

描述:圆心。

返回类型:point

示例:

1
2
3
4
5
SELECT point(circle '((0,0),2.0)') AS RESULT;
 result 
--------
 (0,0)
(1 row)

point(lseg)

描述:线段的中心。

返回类型:point

示例:

1
2
3
4
5
SELECT point(lseg '((-1,0),(1,0))') AS RESULT;
 result 
--------
 (0,0)
(1 row)

point(polygon)

描述:多边形的中心。

返回类型:point

示例:

1
2
3
4
5
SELECT point(polygon '((0,0),(1,1),(2,0))') AS RESULT;
        result         
-----------------------
 (1,0.333333333333333)
(1 row)

polygon(box)

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

返回类型:polygon

示例:

1
2
3
4
5
SELECT polygon(box '((0,0),(1,1))') AS RESULT;
          result           
---------------------------
 ((0,0),(0,1),(1,1),(1,0))
(1 row)

polygon(circle)

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

返回类型:polygon

示例:

1
2
3
4
5
6
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)

polygon(npts, circle)

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

返回类型:polygon

示例:

1
2
3
4
5
6
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)

polygon(path)

描述:路径转换成多边形。

返回类型:polygon

示例:

1
2
3
4
5
SELECT polygon(path '((0,0),(1,1),(2,0))') AS RESULT;
       result        
---------------------
 ((0,0),(1,1),(2,0))
(1 row)