ST_Area
计算空间对象的面积。
单位为:
-
GEOMETRY 对象:空间参照系标识符 (SRID) 单位
-
GEOGRAPHY 对象:平方米
行为类型
不可变语法
ST_Area( g )
参数
g
- 需要计算面积的空间对象,类型为 GEOMETRY 或 GEOGRAPHY
返回
FLOAT
支持的数据类型
示例
以下示例显示了 ST_Area 的用法。
计算多边形的面积:
=> SELECT ST_Area(ST_GeomFromText('POLYGON((0 0,1 0,1 1,0 1,0 0))'));
ST_Area
---------
1
(1 row)
计算多边形集合的面积:
=> SELECT ST_Area(ST_GeomFromText('MultiPolygon(((0 0,1 0,1 1,0 1,0 0)),
((2 2,2 3,4 6,3 3,2 2)))'));
ST_Area
---------
3
(1 row)
如下图所示,假定多边形包含一个孔。
计算不包括孔面积在内的面积:
=> SELECT ST_Area(ST_GeomFromText('POLYGON((2 2,5 5,8 2,2 2),
(4 3,5 4,6 3,4 3))'));
ST_Area
---------
8
(1 row)
计算几何图形集合的面积:
=> SELECT ST_Area(ST_GeomFromText('GEOMETRYCOLLECTION(POLYGON((20.5 20.45,
20.51 20.52,20.69 20.32,20.5 20.45)),POLYGON((10 20,30 40,25 50,10 20)))'));
ST_Area
----------
150.0073
(1 row)
计算地理对象的面积:
=> SELECT ST_Area(ST_GeographyFromText('POLYGON((20.5 20.45,20.51 20.52,
20.69 20.32,20.5 20.45))'));
ST_Area
------------------
84627437.116037
(1 row)