更新时间:2022-04-24 GMT+08:00
分享

地理访问函数

st_boundary

Geometry st_boundary(Geometry geom)

返回geom边界的Geometry。如果geom为空,则返回空的Geometry。

示例:

  • 查询命令:

    select st_astext(st_boundary(st_geomFromWKT(location))) from geotbl where id='1'

  • 查询结果:
    LINESTRING (30 10, 40 40, 20 40, 10 20, 30 10)

st_coordDim

Int st_coordDim(Geometry geom)

返回Geometry geom坐标的维数。

示例:

  • 查询命令:

    select st_coordDim(st_boundary(st_geomFromWKT(location))) from geotbl where id='2'

  • 查询结果:
    2

st_dimension

Int st_dimension(Geometry geom)

返回此Geometry对象的固有维度,该维度必须小于或等于坐标维度。

示例:

  • 查询命令:

    select st_dimension(st_boundary(st_geomFromWKT(location))) from geotbl where id='2'

  • 查询结果:
    1

st_envelope

Geometry st_envelope(Geometry geom)

返回表示geom边界框的Geometry。

示例:

  • 查询命令:

    select st_astext(st_envelope(st_geomFromWKT(location))) from geotbl where id='1'

  • 查询结果:
    POLYGON ((10 10, 10 40, 40 40, 40 10, 10 10))

st_exteriorRing

LineString st_exteriorRing(Geometry geom)

返回geom外部环的LineString;如果geom不是Polygon,则返回null。

示例:

  • 查询命令:

    select st_astext(st_exteriorRing(st_geomFromWKT(location))) from geotbl where id='1'

  • 查询结果:
    LINESTRING (30 10, 40 40, 20 40, 10 20, 30 10)

st_geometryN

Geometry st_geometryN(Geometry geom, Geometry n)

如果geom是GeometryCollection,则返回geom的第n个Geometry(从1开始的索引);如果不是,则返回geom。

示例:

  • 查询命令:

    select st_astext(st_geometryN(st_geomFromWKT(location),1)) from geotbl where id='1'

  • 查询结果:
    POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))

st_interiorRingN

Geometry st_interiorRingN(Geometry geom, Int n)

返回geom的第n个内部LineString环。 如果geom不是Polygon或给定的n超出范围,则返回null。

示例:

  • 查询命令:

    select st_astext(st_interiorRingN(st_geomFromWKT(location),1)) from geotbl where id='4'

  • 查询结果:
    LINESTRING (20 30, 35 35, 30 20, 20 30)

st_isClosed

Boolean st_isClosed(Geometry geom)

如果geom是LineString或MultiLineString并且其起点和终点重合,则返回true。 所有其他Geometry类型返回true。

示例:

  • 查询命令:

    select st_isClosed(st_geomFromWKT(location)) from geotbl where id='6'

  • 查询结果:
    TRUE

st_isCollection

Boolean st_isCollection(Geometry geom)

如果geom是GeometryCollection,则返回true。

示例:

  • 查询命令:

    select st_isCollection(st_geomFromWKT(location)) from geotbl where id='7'

  • 查询结果:
    TRUE

st_isEmpty

Boolean st_isEmpty(Geometry geom)

如果geom为空,则返回true。

示例:

  • 查询命令:

    select st_isEmpty(st_geomFromWKT(location)) from geotbl where id='1'

  • 查询结果:
    TRUE

st_isRing

Boolean st_isRing(Geometry geom)

如果geom是LineString或MultiLineString并且闭环且是简单的(简单的定义详见st_isSimple),则返回true。

示例:

  • 查询命令:

    select st_isRing(st_geomFromWKT(location)) from geotbl where id='1'

  • 查询结果:
    TRUE

st_isSimple

Boolean st_isSimple(Geometry geom)

如果geom没有异常几何点,例如自相交或自相切,则返回true。

示例:

  • 查询命令:

    select st_isSimple(st_geomFromWKT(location)) from geotbl where id='2'

  • 查询结果:
    TRUE

st_isValid

Boolean st_isValid(Geometry geom)

如果根据OGC SFS规范,Geometry在拓扑上有效,则返回true。

示例:

  • 查询命令:

    select st_isValid(st_geomFromWKT(location)) from geotbl where id='3'

  • 查询结果:
    TRUE

st_numGeometries

Int st_numGeometries(Geometry geom)

如果geom是GeometryCollection,则返回Geometry的个数。 否则,返回1。

示例:

  • 查询命令:

    select st_numGeometries(st_geomFromWKT(location)) from geotbl where id='3'

  • 查询结果:
    2

st_numPoints

Int st_numPoints(Geometry geom)

返回geom中的顶点数。

示例:

  • 查询命令:

    select st_numPoints(st_geomFromWKT(location)) from geotbl where id='4'

  • 查询结果:
    9

st_pointN

Point st_pointN(Geometry geom, Int n)

如果geom是LineString,则返回geom的第n个顶点作为Point。 如果n是负值则从LineString的末尾向前计数。 如果geom不是LineString,则返回null。

示例:

  • 查询命令:

    select st_astext(st_pointN(st_geomFromWKT(location),2)) from geotbl where id='5'

  • 查询结果:
    POINT (40 40)

st_x

Float st_x(Geometry geom)

如果geom是Point,则返回该点的X坐标。

示例:

  • 查询命令:

    select st_x(st_geomFromWKT(location)) from geotbl where id='6'

  • 查询结果:
    11

st_y

Float st_y(Geometry geom)

如果geom是Point,则返回该点的Y坐标。

示例:

  • 查询命令:

    select st_y(st_geomFromWKT(location)) from geotbl where id='6'

  • 查询结果:
    22
分享:

    相关文档

    相关产品

close