- 类别:
ST_AREA¶
返回 GEOGRAPHY 或 GEOMETRY 对象中多边形的面积。
语法¶
ST_AREA( <geography_or_geometry_expression> )
实参¶
geography_or_geometry_expression
实参的类型必须为 GEOGRAPHY 或 GEOMETRY。
返回¶
返回一个 REAL 值,该值表示面积:
对于 GEOGRAPHY 输入值,面积以平方米为单位。
对于 GEOMETRY 输入值,面积的计算单位与定义输入坐标的单位相同。
使用说明¶
如果
geography_expression
不是多边形、MultiPolygon 或包含多边形的 GeometryCollection,则 ST_AREA 返回 0。如果
geography_expression
是一个 GeometryCollection,则 ST_AREA 返回集合中多边形的面积之和。
示例¶
GEOGRAPHY 示例¶
这使用 ST_AREA 函数和 GEOGRAPHY 对象来计算地球表面的面积(每边 1 度,且区域底部在赤道上):
SELECT ST_AREA(TO_GEOGRAPHY('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')) AS area; +------------------+ | AREA | |------------------| | 12364036567.0764 | +------------------+
GEOMETRY 示例¶
下面的示例调用 ST_AREA 函数,并使用了表示点、LineString和多边形的 GEOMETRY 对象。
SELECT ST_AREA(g), ST_ASWKT(g) FROM (SELECT TO_GEOMETRY(column1) as g from values ('POINT(1 1)'), ('LINESTRING(0 0, 1 1)'), ('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'));+------------+--------------------------------+ | ST_AREA(G) | ST_ASWKT(G) | |------------+--------------------------------| | 0 | POINT(1 1) | | 0 | LINESTRING(0 0,1 1) | | 1 | POLYGON((0 0,0 1,1 1,1 0,0 0)) | +------------+--------------------------------+