访问器函数

访问器函数可用于从不同的字符串中获取BIGINT、DOUBLE或GEOMETRY类型的值。

  • ST_XMax:返回g1的X坐标上的最大值。

  • ST_YMax:返回g1的Y坐标上的最大值。

  • ST_XMin:返回g1的X坐标上的最小值。

  • ST_YMin:返回g1的Y坐标上的最小值。

  • ST_Distance:返回g1、g2之间的直线距离。

  • ST_Distance_Sphere:返回g1、g2之间的球面距离,可以指定球的半径Radius,Radius默认值为6370986米。

  • ST_Area:返回g1的欧几里得2维空间值。

  • ST_Centroid:返回g1的中心点对象。

  • ST_ConvexHull:返回g1的中最小化的凸Geometry对象。

  • ST_CoordDim:返回g1的中坐标尺寸。

  • ST_Dimension:返回g1中固有的Dimension,肯定小于或者等于coordinate dimension。

  • ST_IsClosed:如果LineString或者Muti-LineString的start和end是一致的,返回1(1为True,0为False)。

  • ST_IsEmpty:如果g1是一个空的geometrycollection,或polygon,point,返回0(0为True,1为False)。

  • ST_IsValid:返回g1是否为合法的格式,1为True。

  • Geometry_invalid_reason:返回g1是不是合法的格式的原因。

  • ST_Length:如果输入是LineString或者Multi-LineString的长度(计算是基于Euclidean),返回g1直线长度;如果输入是GEOGRAPHY类型的格式,返回的是球面上的Greate-circle的长度。

  • Line_locate_point:返回一个float值,标识的是给定点在线上的比率。

  • Line_interpolate_point:给定一个比率和线,返回这个比率的点。

  • Line_interpolate_points:给定一个比率和线,返回按照这个比率分割的所有点。

  • ST_NumInteriorRing:返回Polygon的内部环的集合的基数。

  • ST_InteriorRings:返回在指定几何体中找到的所有内部环的几何体数组,如果多边形没有内部环,则返回空数组。如果指定的几何体为空,则返回null。如果指定的几何体不是多边形,则会引发错误。

  • ST_NumGeometries:以整数形式返回集合中的几何体数。如果几何体是几何体的集合(例如GEOMETRYCOLLECTION或MULTI*对象),则返回几何体的数量。单个几何体返回1;空几何体返回0。对象中的空几何体计为一个几何体。

  • ST_GeometryN:返回位于指定整数索引的 GEOMETRY元素(作为GEOMETRY数据类型)。索引从1开始。如果指定的几何体是几何体集合(例如,GEOMETRYCOLLECTION或MULTI*对象),则将返回指定索引处的几何体。如果指定的索引小于1或大于集合中的元素总数,则返回null。

  • ST_PointN:返回指定整数索引处的指定行字符串顶点(作为点几何体数据类型)。索引从1开始。如果给定索引小于1或大于集合中的元素总数,则返回null。

  • ST_Geometries:返回指定集合中的几何体数组。如果指定的几何体不是多几何体,则返回一个元素数组。如果指定的几何体为空,则返回null。

  • ST_InteriorRingN:返回指定索引处的内部环元素(索引从1开始)。如果给定索引小于1或大于指定几何体中的内部环总数,则返回null。如果指定的几何体不是多边形,则引发错误。

  • ST_NumPoints:返回几何体中的点数。

  • ST_IsRing:当且仅当Line类型闭合且简单时返回1(1为True,0为False)。

  • ST_StartPoint:返回Line GEOMETRY数据类型中Point GEOMETRY数据类型的第一个点。

  • Simplify_geometry:使用Ramer-Douglas-Peucker算法返回的GEOMETRY数据类型是指定GEOMETRY的简化版本。避免创建无效的派生几何体(特别是多边形)。

  • ST_EndPoint:返回Line GEOMETRY数据类型中Point GEOMETRY数据类型的最后一个点。

  • ST_Points:从指定的线串几何体对象返回点数组。

  • ST_X:返回点的X坐标。

  • ST_Y:返回点的Y坐标。

  • ST_GeometryType:以VARCHAR形式返回几何体的类型。

ST_XMax

ST_XMax(g1)
  • 命令说明:返回g1的X坐标上的最大值。

  • 返回值类型:DOUBLE。

  • 示例:

    SELECT ST_XMax(ST_GeomFromText('POINT (1.5 2.5)'));

    返回结果:

    +----------------------------------------------+
    | ST_XMax(ST_GeomFromText('POINT (1.5 2.5)'))  |
    +----------------------------------------------+
    |                         1.5                  |  

ST_YMax

ST_YMax(g1)
  • 命令说明:返回g1的Y坐标上的最大值。

  • 返回值类型:DOUBLE。

  • 示例:

    SELECT ST_YMax(ST_GeomFromText('POINT (1.5 2.5)'));

    返回结果:

    +----------------------------------------------+
    | ST_YMax(ST_GeomFromText('POINT (1.5 2.5)'))  |
    +----------------------------------------------+
    |                         2.5                  |

ST_XMin

ST_XMin(g1)
  • 命令说明:返回g1的X坐标上的最小值。

  • 返回值类型:DOUBLE。

  • 示例:

    SELECT ST_XMin(ST_GeomFromText('MULTIPOINT (1 2, 2 4, 3 6, 4 8)'));

    返回结果:

    +-------------------------------------------------------------+
    | ST_XMin(ST_GeomFromText('MULTIPOINT (1 2, 2 4, 3 6, 4 8)')) |
    +-------------------------------------------------------------+
    |                         1.0                                 |

ST_YMin

ST_YMin(g1)
  • 命令说明:返回g1的Y坐标上的最小值。

  • 返回值类型:DOUBLE。

  • 示例:

    SELECT ST_YMin(ST_GeomFromText('MULTIPOINT (1 2, 2 4, 3 6, 4 8)'));

    返回结果:

    +-------------------------------------------------------------+
    | ST_YMin(ST_GeomFromText('MULTIPOINT (1 2, 2 4, 3 6, 4 8)')) |
    +-------------------------------------------------------------+
    |                        2.0                                  |

ST_Distance

ST_Distance(g1, g2)
  • 命令说明:返回g1、g2之间的直线距离。

  • 返回值类型:DOUBLE。

  • 示例:

    SELECT ST_Distance(ST_Point(1,1), ST_Point(2,2));       

    返回结果:

    +-------------------------------------------+
    | ST_Distance(ST_Point(1,1), ST_Point(2,2)) |
    +-------------------------------------------+
    |                        1.4142135623730951 |    

ST_Distance_Sphere

ST_Distance_Sphere(g1, g2 [, radius])
  • 命令说明:返回g1、g2之间的球面距离,可以指定球的半径Radius,Radius默认值为6370986米。

  • 返回值类型:DOUBLE。

  • 示例:

    SELECT ST_Distance_Sphere(point(1,1), point(2,2));

    返回结果:

    +--------------------------------------------+
    | ST_Distance_Sphere(point(1,1), point(2,2)) |
    +--------------------------------------------+
    |                         157225.08654191086 |

ST_Area

ST_Area(g1)
  • 命令说明:返回g1的欧几里得2维空间值。

  • 返回值类型:DOUBLE。

  • 示例:

    SELECT ST_Area(ST_GeometryFromText('POLYGON ((2 2, 2 6, 6 6, 6 2))'));

    返回结果:

    +------------------------------------------------------------------------+
    | ST_Area(ST_GeometryFromText('POLYGON ((2 2, 2 6, 6 6, 6 2))'))         |
    +------------------------------------------------------------------------+
    |                        16.0                                            |         

ST_Centroid

ST_Centroid(g1)
  • 命令说明:返回g1的中心点对象。

  • 返回值类型:GEOMETRY类型的对象,直接通过SELECT查询函数结果将显示乱码,使用ST_AsText函数可以将返回结果转换为可识别的文本。

  • 示例:

    SELECT ST_AsText(ST_Centroid(ST_GeometryFromText('POINT (3 5)')));

    返回结果:

    +-------------------------------------------------------------------+
    | ST_AsText(ST_Centroid(ST_GeometryFromText('POINT (3 5)')))        |
    +-------------------------------------------------------------------+
    |                       POINT (3 5)                                 |

ST_ConvexHull

ST_ConvexHull(g1)
  • 命令说明:返回g1的中最小化的凸Geometry对象。

  • 返回值类型:GEOMETRY类型的对象,直接通过SELECT查询函数结果将显示乱码,使用ST_AsText函数可以将返回结果转换为可识别的文本。

  • 示例:

    SELECT ST_AsText(ST_ConvexHull(ST_GeometryFromText('LINESTRING (20 20, 30 30)')));

    返回结果:

    +--------------------------------------------------------------------------------+
    | ST_AsText(ST_ConvexHull(ST_GeometryFromText('LINESTRING (20 20, 30 30)')))     |
    +--------------------------------------------------------------------------------+
    |               POLYGON ((1 1, 5 1, 6 6, 1 1))                                   |

ST_CoordDim

ST_CoordDim(g1)
  • 命令说明:返回g1的中坐标尺寸。

  • 返回值类型:TINYINT。

  • 示例:

    SELECT ST_CoordDim(ST_GeometryFromText('POLYGON ((1 1, 1 4, 4 4, 4 1))')); 

    返回结果:

    +--------------------------------------------------------------------------------+
    | ST_CoordDim(ST_GeometryFromText('POLYGON ((1 1, 1 4, 4 4, 4 1))'))             |
    +--------------------------------------------------------------------------------+ 
    |             2                                                                  |

ST_Dimension

ST_Dimension(g1)
  • 命令说明:返回g1中固有的Dimension,肯定小于或者等于Coordinate Dimension。

  • 返回值类型:TINYINT。

  • 示例:

    SELECT ST_Dimension(ST_GeometryFromText('POLYGON ((1 1, 1 4, 4 4, 4 1))'));

    返回结果:

    +--------------------------------------------------------------------------------+
    | ST_Dimension(ST_GeometryFromText('POLYGON ((1 1, 1 4, 4 4, 4 1))'))            |
    +--------------------------------------------------------------------------------+ 
    |             2                                                                  |

ST_IsClosed

ST_IsClosed(g1)
  • 命令说明:如果LineString或者Muti-LineString的start和end是一致的,返回1(1为True,0为False)。

  • 返回值类型:INT。

  • 示例:

    SELECT ST_IsClosed(ST_GeometryFromText('LINESTRING (1 1, 2 2, 1 3, 1 1)'));

    返回结果:

    +-------------------------------------------------------------------------------+
    | ST_IsClosed(ST_GeometryFromText('LINESTRING (1 1, 2 2, 1 3, 1 1)'))           |
    +-------------------------------------------------------------------------------+   
    |               1                                                               |

ST_IsEmpty

ST_IsEmpty(g1)
  • 命令说明:如果g1是一个空的GeometryCollection、Polygon或Point,返回0(0为True,1为False)。

  • 返回值类型:INT。

  • 示例:

    SELECT ST_IsEmpty(ST_GeometryFromText('POINT (1.5 2.5)'));

    返回结果:

    +-------------------------------------------------------------+
    | ST_IsEmpty(ST_GeometryFromText('POINT (1.5 2.5)'))          |
    +-------------------------------------------------------------+   
    |              0                                              |

ST_IsValid

ST_IsValid(g1)
  • 命令说明:返回g1是否为合法的格式,1为True。

  • 返回值类型:INT。

  • 示例:

    SELECT ST_IsValid(ST_GeometryFromText('LINESTRING (1 1, 2 2, 1 3, 1 1)'));

    返回结果:

    +------------------------------------------------------------------------+
    | ST_IsValid(ST_GeometryFromText('LINESTRING (1 1, 2 2, 1 3, 1 1)'))     |
    +-------------------------------------------------------------------- ---+   
    |                      1                                                 | 

Geometry_invalid_reason

Geometry_invalid_reason(g1)
  • 命令说明:返回g1是不是合法的格式的原因。

  • 返回值类型:VARCHAR。

  • 示例:

    SELECT Geometry_invalid_reason(ST_GeometryFromText('POLYGON ((0 0, 1 1, 0 1, 1 0, 0 0))'));

    返回结果:

    +----------------------------------------------------------------------------------------+
    | Geometry_invalid_reason(ST_GeometryFromText('POLYGON ((0 0, 1 1, 0 1, 1 0, 0 0))'))    |
    +----------------------------------------------------------------------------------------+   
    |     Intersecting or overlapping segments at or near (1.0 0.0) and (1.0 1.0)            |

ST_Length

ST_Length(g1)
  • 命令说明:如果输入是LineString或者Multi-LineString的长度(计算是基于Euclidean),返回g1直线长度;如果输入是GEOGRAPHY类型的格式,返回的是球面上的Greate-circle的长度。

  • 返回值类型:DOUBLE。

  • 示例:

    SELECT ST_Length(ST_GeometryFromText('LINESTRING (1 1, 1 2)'));

    返回结果:

    +----------------------------------------------------------+
    | ST_Length(ST_GeometryFromText('LINESTRING (1 1, 1 2)'))  |
    +----------------------------------------------------------+   
    |          1.0                                             | 

Line_locate_point

Line_locate_point(g1, g2)
  • 命令说明:返回一个float值,表示给定点在线上的比率。

  • 返回值类型:DOUBLE。

  • 示例:

    SELECT Line_locate_point(ST_GeometryFromText('LINESTRING (0 0, 0 1)'), ST_Point(0, 0.2));

    返回结果:

    +-------------------------------------------------------------------------------------+
    | Line_locate_point(ST_GeometryFromText('LINESTRING (0 0, 0 1)'), ST_Point(0, 0.2))   |
    +-------------------------------------------------------------------------------------+   
    |                                         0.2                                         | 

Line_interpolate_point

Line_interpolate_point(g1, d)
  • 命令说明:给定一个比率和线,返回这个比率的点。

  • 返回值类型:GEOMETRY类型的对象,直接通过SELECT查询函数结果将显示乱码,使用ST_AsText函数可以将返回结果转换为可识别的文本。

  • 示例:

    SELECT ST_AsText(Line_interpolate_point(ST_GeometryFromText('LINESTRING (0 0, 2 2)'), 0.5));

    返回结果:

    +----------------------------------------------------------------------------------------+
    | ST_AsText(Line_interpolate_point(ST_GeometryFromText('LINESTRING (0 0, 2 2)'), 0.5))   |
    +----------------------------------------------------------------------------------------+   
    |                                        POINT (1 1)                                     | 

Line_interpolate_points

Line_interpolate_points(g1, d)
  • 命令说明:给定一个比率和线,返回按照这个比率分割的所有点。

  • 返回值类型:GEOMETRY类型的对象,直接通过SELECT查询函数结果将显示乱码,使用transform函数将Lambda表达式应用到数组的每个元素。

  • 示例:

    SELECT transform(Line_interpolate_points(ST_GeometryFromText('LINESTRING (0 0, 1 1, 10 10)'), 0.4), x -> ST_AsText(x));

    返回结果:

    +-----------------------------------------------------------------------------------------------------------------+
    | transform(Line_interpolate_points(ST_GeometryFromText('LINESTRING (0 0, 1 1, 10 10)'), 0.4), x -> ST_AsText(x)) |
    +-----------------------------------------------------------------------------------------------------------------+   
    |      ["POINT (4.000000000000001 4.000000000000001)","POINT (8 8)"]                                               |

ST_NumInteriorRing

ST_NumInteriorRing(g1)
  • 命令说明:返回Polygon的内部环的集合的基数。

  • 返回值类型:BIGINT。

  • 示例:

    SELECT ST_NumInteriorRing(ST_GeometryFromText('POLYGON ((0 0, 0 5, 5 5, 5 0, 0 0))'));

    返回结果:

    +-------------------------------------------------------------------------------------+
    | ST_NumInteriorRing(ST_GeometryFromText('POLYGON ((0 0, 0 5, 5 5, 5 0, 0 0))'))      |
    +-------------------------------------------------------------------------------------+   
    |                                      0                                              | 

ST_InteriorRings

ST_InteriorRings(g1)
  • 命令说明:返回在指定几何体中找到的所有内部环的几何体数组,如果多边形没有内部环,则返回空数组。如果指定的几何体为空,则返回 null。如果指定的几何体不是多边形,则会引发错误。

  • 返回值类型:Array[GEOMETRY[GEOMETRY]。

  • 示例:

    SELECT ST_InteriorRings(ST_GeometryFromText('POLYGON EMPTY'));

    返回结果:

    +----------------------------------------------------------------------+
    | ST_InteriorRings(ST_GeometryFromText('POLYGON EMPTY'))               |
    +----------------------------------------------------------------------+   
    |                                    null                              | 

ST_NumGeometries

ST_NumGeometries(g1)
  • 命令说明:以整数形式返回集合中的几何体数。如果几何体是几何体的集合 (例如GEOMETRYCOLLECTION或MULTI* 对象),则返回几何体的数量。单个几何体返回1;空几何体返回0。对象中的空几何体计为一个几何体。

  • 返回值类型:INT。

  • 示例:

    SELECT ST_NumGeometries(ST_GeometryFromText('POINT (1 2)'));

    返回结果:

    +----------------------------------------------------------------------+
    | ST_NumGeometries(ST_GeometryFromText('POINT (1 2)'))                 |
    +----------------------------------------------------------------------+   
    |                                    1                                 | 

ST_GeometryN

ST_GeometryN(g, i)
  • 命令说明:返回位于指定整数索引的GEOMETRY元素(作为GEOMETRY数据类型)。索引从1开始。如果指定的几何体是几何体集合(例如,GEOMETRYCOLLECTION或MULTI*对象),则返回指定索引处的几何体。如果指定的索引小于1或大于集合中的元素总数,则返回null。

  • 返回值类型:GEOMETRY类型的对象,直接通过SELECT查询函数结果将显示乱码,使用ST_AsText函数可以将返回结果转换为可识别的文本。

  • 示例:

    SELECT ST_ASText(ST_GeometryN(ST_GeometryFromText('POINT (1 2)'), 1));

    返回结果:

    +---------------------------------------------------------------------------------+
    |   ST_ASText(ST_GeometryN(ST_GeometryFromText('POINT (1 2)'), 1))                |
    +---------------------------------------------------------------------------------+   
    |                  POINT (1 2)                                                    |  

ST_PointN

ST_PointN(g, i)
  • 命令说明:返回指定整数索引处的指定行字符串顶点(作为点几何体数据类型)。索引从1开始。如果给定索引小于1或大于集合中的元素总数,则返回null。

  • 返回值类型:GEOMETRY类型的对象,直接通过SELECT查询函数结果将显示乱码,使用ST_AsText函数可以将返回结果转换为可识别的文本。

  • 示例:

    SELECT ST_ASText(ST_PointN(ST_GeometryFromText('LINESTRING(1 2, 3 4, 5 6, 7 8)'), 3));

    返回结果:

    +---------------------------------------------------------------------------------------+
    |   ST_ASText(ST_PointN(ST_GeometryFromText('LINESTRING(1 2, 3 4, 5 6, 7 8)'), 3))      |
    +---------------------------------------------------------------------------------------+   
    |                  POINT (5 6)                                                          |  

ST_Geometries

ST_Geometries(g)
  • 命令说明:返回指定集合中的几何体数组。如果指定的几何体不是多几何体,则返回一个元素数组。如果指定的几何体为空,则返回null。

  • 返回值类型:GEOMETRY类型的对象,直接通过SELECT查询函数结果将显示乱码,使用transform函数将Lambda表达式应用到数组的每个元素。

  • 示例:

    SELECT transform(ST_Geometries(ST_GeometryFromText('POINT (1 5)')), x -> ST_ASText(x));   

    返回结果:

    +---------------------------------------------------------------------------------------+
    |   transform(ST_Geometries(ST_GeometryFromText('POINT (1 5)')), x -> ST_ASText(x))     |
    +---------------------------------------------------------------------------------------+   
    |                  POINT (1 5)                                                          | 

ST_InteriorRingN

ST_InteriorRingN(g, d)
  • 命令说明:返回指定索引处的内部环元素(索引从1开始)。如果给定索引小于1或大于指定几何体中的内部环总数,则返回null。如果指定的几何体不是多边形,则引发错误。

  • 返回值类型:GEOMETRY类型的对象,直接通过SELECT查询函数结果将显示乱码,使用ST_AsText函数可以将返回结果转换为可识别的文本。

  • 示例:

    SELECT ST_ASText(ST_InteriorRingN(ST_GeometryFromText('POLYGON ((0 0, 0 3, 3 3, 3 0, 0 0), (1 1, 1 2, 2 2, 2 1, 1 1))'), 1)); 

    返回结果:

    +-----------------------------------------------------------------------------------------------------------------------------+
    |    ST_ASText(ST_InteriorRingN(ST_GeometryFromText('POLYGON ((0 0, 0 3, 3 3, 3 0, 0 0), (1 1, 1 2, 2 2, 2 1, 1 1))'), 1))    |
    +-----------------------------------------------------------------------------------------------------------------------------+   
    |                 LINESTRING (1 1, 1 2, 2 2, 2 1, 1 1)                                                                        | 

ST_NumPoints

 ST_NumPoints(g)
  • 命令说明:返回几何体中的点数(类型为BIGINT)。

  • 返回值类型:BIGINT。

  • 示例:

    SELECT  ST_NumPoints(ST_GeometryFromText('POINT (1 2)'));                    

    返回结果:

    +-------------------------------------------------------------------------+
    |     ST_NumPoints(ST_GeometryFromText('POINT (1 2)'))                    |
    +-------------------------------------------------------------------------+   
    |                 1                                                       |

ST_IsRing

ST_IsRing(g)
  • 命令说明:当且仅当line类型闭合且简单时返回1(1为True,0为False)。

  • 返回值类型:INT。

  • 示例:

    SELECT  ST_IsRing(ST_GeometryFromText('LINESTRING (1 1, 1 3, 2 3, 2 1, 1 1)'));           

    返回结果:

    +---------------------------------------------------------------------------------+
    |     ST_IsRing(ST_GeometryFromText('LINESTRING (1 1, 1 3, 2 3, 2 1, 1 1)'))      |
    +---------------------------------------------------------------------------------+   
    |                 1                                                               |  

ST_StartPoint

ST_StartPoint(g)
  • 命令说明:返回Line Geometry数据类型中Point Geometry数据类型的第一个点。

  • 返回值类型:GEOMETRY类型的对象,直接通过SELECT查询函数结果将显示乱码,使用ST_AsText函数可以将返回结果转换为可识别的文本。

  • 示例:

    SELECT  ST_AsText(ST_StartPoint(ST_GeometryFromText('LINESTRING (8 4, 4 8, 5 6)')));   

    返回结果:

    +-------------------------------------------------------------------------------------+
    |     ST_AsText(ST_StartPoint(ST_GeometryFromText('LINESTRING (8 4, 4 8, 5 6)')))     |
    +-------------------------------------------------------------------------------------+   
    |                 POINT (8 4)                                                         | 

Simplify_geometry

Simplify_geometry(g, d)
  • 命令说明:使用Ramer-Douglas-Peucker算法返回的GEOMETRY数据类型是指定GEOMETRY的简化版本。避免创建无效的派生几何体(特别是多边形)。

  • 返回值类型:GEOMETRY类型的对象,直接通过SELECT查询函数结果将显示乱码,使用ST_AsText函数可以将返回结果转换为可识别的文本。

  • 示例:

    SELECT  ST_AsText(Simplify_geometry(ST_GeometryFromText('POLYGON ((1 0, 2 1, 3 1, 3 1, 4 1, 1 0))'), 1.5));  

    返回结果:

    +-----------------------------------------------------------------------------------------------------------+
    |     ST_AsText(Simplify_geometry(ST_GeometryFromText('POLYGON ((1 0, 2 1, 3 1, 3 1, 4 1, 1 0))'), 1.5))    |
    +-----------------------------------------------------------------------------------------------------------+   
    |                  POLYGON ((1 0, 4 1, 2 1, 1 0)))                                                          | 

ST_EndPoint

ST_EndPoint(g)
  • 命令说明:返回Line Geometry数据类型中Point Geometry数据类型的最后一个点。

  • 返回值类型:GEOMETRY类型的对象,直接通过SELECT查询函数结果将显示乱码,使用ST_AsText函数可以将返回结果转换为可识别的文本。

  • 示例:

    SELECT ST_AsText(ST_EndPoint(ST_GeometryFromText('LINESTRING (8 4, 4 8, 5 6)')));  

    返回结果:

    +-----------------------------------------------------------------------------------+
    | ST_AsText(ST_EndPoint(ST_GeometryFromText('LINESTRING (8 4, 4 8, 5 6)')))         |
    +-----------------------------------------------------------------------------------+   
    |                  POINT (5 6)                                                      | 

ST_Points

ST_Points(g)
  • 命令说明:从指定的线串几何体对象返回点数组。

  • 返回值类型:GEOMETRY类型的对象,直接通过SELECT查询函数结果将显示乱码,使用transform函数将Lambda表达式应用到数组的每个元素。

  • 示例:

    SELECT transform(ST_Points(ST_GeometryFromText('POINT (0 0)')), x -> ST_AsText(x));  

    返回结果:

    +-----------------------------------------------------------------------------------+
    | transform(ST_Points(ST_GeometryFromText('POINT (0 0)')), x -> ST_AsText(x))       |
    +-----------------------------------------------------------------------------------+   
    |                  ["POINT (0 0)"]                                                  | 

ST_X

ST_X(g)
  • 命令说明:返回点的X坐标。

  • 返回值类型:DOUBLE。

  • 示例:

    SELECT ST_X(ST_GeometryFromText('POINT (1 2)'));  

    返回结果:

    +------------------------------------------------+
    |ST_X(ST_GeometryFromText('POINT (1 2)'))        |
    +------------------------------------------------+   
    |                1.0                             | 

ST_Y

ST_Y(g)
  • 命令说明:返回点的Y坐标。

  • 返回值类型:DOUBLE。

  • 示例:

    SELECT ST_Y(ST_GeometryFromText('POINT (1 2)'));

    返回结果:

    +------------------------------------------------+
    |ST_Y(ST_GeometryFromText('POINT (1 2)'))        |
    +------------------------------------------------+   
    |                2.0                             | 

ST_GeometryType

ST_GeometryType(g1)
  • 命令说明:返回几何体的类型。

  • 返回值类型:VARCHAR。

  • 示例:

    SELECT ST_GeometryType(ST_Point(1, 4));  

    返回结果:

    +---------------------------------------+
    |ST_GeometryType(ST_Point(1, 4))        |
    +---------------------------------------+   
    |                 ST_Point              |