本节中的函数返回
Polygon或MultiPolygon
值的属性。
ST_Centroid()并且Centroid()是同义词。有关详细信息,请参阅 的说明ST_Centroid()。Centroid()已弃用;希望在未来的 MySQL 版本中将其删除。改用ST_Centroid()。ST_ExteriorRing()并且ExteriorRing()是同义词。有关详细信息,请参阅 的说明ST_ExteriorRing()。ExteriorRing()已弃用;希望在未来的 MySQL 版本中将其删除。改用ST_ExteriorRing()。ST_InteriorRingN()并且InteriorRingN()是同义词。有关详细信息,请参阅 的说明ST_InteriorRingN()。InteriorRingN()已弃用;希望在未来的 MySQL 版本中将其删除。改用ST_InteriorRingN()。ST_NumInteriorRings()并且NumInteriorRings()是同义词。有关详细信息,请参阅 的说明ST_NumInteriorRings()。NumInteriorRings()已弃用;希望在未来的 MySQL 版本中将其删除。改用ST_NumInteriorRings()。返回一个双精度数字,指示
Polygon或MultiPolygon参数的面积,如在其空间参考系统中测量的那样。对于维度 0 或 1 的参数,结果为 0。如果参数为空几何,则返回值为 0。如果参数为NULL,则返回值为NULL。结果是几何集合的所有组件的面积值之和。如果几何集合为空,则其面积返回为 0。
mysql> SET @poly = 'Polygon((0 0,0 3,3 0,0 0),(1 1,1 2,2 1,1 1))'; mysql> SELECT ST_Area(ST_GeomFromText(@poly)); +---------------------------------+ | ST_Area(ST_GeomFromText(@poly)) | +---------------------------------+ | 4 | +---------------------------------+ mysql> SET @mpoly = 'MultiPolygon(((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1)))'; mysql> SELECT ST_Area(ST_GeomFromText(@mpoly)); +----------------------------------+ | ST_Area(ST_GeomFromText(@mpoly)) | +----------------------------------+ | 8 | +----------------------------------+Polygon将或MultiPolygon参数 的数学质心作为 返回Point。结果不保证在MultiPolygon. 如果参数是NULL或 空几何,则返回值为NULL。此函数通过计算集合中最高维度组件的质心点来处理几何集合。这些组件被提取并制成单个
MultiPolygon、MultiLineString或MultiPoint用于质心计算。如果参数是一个空的几何集合,则返回值为NULL。mysql> SET @poly = ST_GeomFromText('POLYGON((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7,5 5))'); mysql> SELECT ST_GeometryType(@poly),ST_AsText(ST_Centroid(@poly)); +------------------------+--------------------------------------------+ | ST_GeometryType(@poly) | ST_AsText(ST_Centroid(@poly)) | +------------------------+--------------------------------------------+ | POLYGON | POINT(4.958333333333333 4.958333333333333) | +------------------------+--------------------------------------------+ST_Centroid()并且Centroid()是同义词。Polygon返回值 的外环poly作为 aLineString。如果参数是NULL或 空几何,则返回值为NULL。mysql> SET @poly = 'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))'; mysql> SELECT ST_AsText(ST_ExteriorRing(ST_GeomFromText(@poly))); +----------------------------------------------------+ | ST_AsText(ST_ExteriorRing(ST_GeomFromText(@poly))) | +----------------------------------------------------+ | LINESTRING(0 0,0 3,3 3,3 0,0 0) | +----------------------------------------------------+ST_ExteriorRing()并且ExteriorRing()是同义词。返回值为 a 的
N第 - 个内环。环从 1 开始编号。如果参数是或 空几何,则返回值为。PolygonpolyLineStringNULLNULLmysql> SET @poly = 'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))'; mysql> SELECT ST_AsText(ST_InteriorRingN(ST_GeomFromText(@poly),1)); +-------------------------------------------------------+ | ST_AsText(ST_InteriorRingN(ST_GeomFromText(@poly),1)) | +-------------------------------------------------------+ | LINESTRING(1 1,1 2,2 2,2 1,1 1) | +-------------------------------------------------------+ST_NumInteriorRing(,poly)ST_NumInteriorRings(poly)Returns the number of interior rings in the
Polygonvaluepoly. If the argument isNULLor an empty geometry, the return value isNULL.mysql> SET @poly = 'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))'; mysql> SELECT ST_NumInteriorRings(ST_GeomFromText(@poly)); +---------------------------------------------+ | ST_NumInteriorRings(ST_GeomFromText(@poly)) | +---------------------------------------------+ | 1 | +---------------------------------------------+ST_NumInteriorRing(),ST_NumInteriorRings(), andNumInteriorRings()are synonyms.