ST_SnapToPolygon

将sfmesh网格顶点沿Z方向平滑贴合到三维多边形。

语法

sfmesh ST_SnapToPolygon(sfmesh  sfmesh, geometry geom, f8 zlowd, f8 zupd, f8 buffer, i4 times);

返回值

平滑贴合处理后的sfmesh。

参数

参数名称

描述

sfmesh

三维模型对象。

geom

三维多边形。

zlowd

Z方向下方最大距离。

zupd

Z方向上方最大距离。

buffer

平滑贴合处理的缓冲区。

times

平滑处理的次数,次数越多效果越好,建议取值范围在[5, 20]之间。

描述

  • 对于给定的地形网格M、三维多边形P进行Z轴方向的贴合处理。

  • 设置 zlowd、zupd参数来选择参与处理的顶点。

  • 设置buffer参数来设置平滑过渡的范围大小。

  • 设置times参数来设置平滑贴合的迭代次数,次数越多,效果越好。

示例

SELECT BOX3D(ST_SnapToPolygon(
    ST_3DIntersection(ST_3DMakeSphere(1.0, 4), 'BOX3D(-1 -1 0, 1 1 1)'::box3d),
    'POLYGON((-5 -0.1 0.5, 5 -0.1 0.5, 5 0.1 0.5, -5 0.1 0.5, -5 -0.1 0.5))', 0.5, 0.5, 0.5, 10));
--------------------------------------
 BOX3D(-1 -1 0,1 1 0.782785594463348)