ST_3DAREA
📄字数 547
👁️阅读量 加载中...
功能描述
计算3D表面几何形状的面积,对于实体将返回0。
提示
默认情况下,从WKT构建的多面体表面是面状几何,具有表面积。如果转换为实体,则不具有面积。
语法格式
sql
DOUBLE ST_3DAREA(GEOMETRY geom);参数说明
geom:目标GEOMETRY对象。
函数返回类型
DOUBLE类型
使用说明
- 该函数需要SFCGAL库支持。
- 该函数支持3D对象,并且不会删除Z坐标。
- 该函数支持多面体表面(POLYHEDRALSURFACE)、三角形(TRIANGLE)、不规则三角形格网(Triangulated Irregular Network,TIN)类型几何对象。
示例
sql
SQL> SELECT ST_3DArea(geom) As cube_surface_area,
ST_3DArea(ST_MakeSolid(geom)) As solid_surface_area
FROM (SELECT 'POLYHEDRALSURFACE( ((0 0 0, 0 0 1, 0 1 1, 0 1 0, 0 0 0)),
((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)),
((0 0 0, 1 0 0, 1 0 1, 0 0 1, 0 0 0)),
((1 1 0, 1 1 1, 1 0 1, 1 0 0, 1 1 0)),
((0 1 0, 0 1 1, 1 1 1, 1 1 0, 0 1 0)),
((0 0 1, 1 0 1, 1 1 1, 0 1 1, 0 0 1)) )'::geometry) As f(geom);
+-------------------+--------------------+
| CUBE_SURFACE_AREA | SOLID_SURFACE_AREA |
+-------------------+--------------------+
| 6.000000e+00 | 0.000000e+00 |
+-------------------+--------------------+