ST_AsMVTGeom3D
将Geometry3D数据处理成瓦片坐标空间。
语法
geometry ST_AsMVTGeom3D(
geometry geom,
box2d bounds,
integer extent = 4096,
integer buffer = 256,
boolean clip_geom = true
);
参数
参数名称 | 描述 |
geom | 目标Geometry3D对象。 |
bounds | 瓦片的矩形边界,不包含缓冲区。 |
extent | 瓦片坐标系中的瓦片大小。 取值范围:256~8192,默认4096。 |
buffer | 瓦片坐标系中的缓冲区大小。 取值范围:1~4096,默认256。 |
clip_geom | Geometry3D对象是否被瓦片边界裁剪,默认true。 |
描述
该函数用于将Geometry3D转换为ST_AsMVT3D所需的瓦片坐标空间。
该函数是ST_AsMVTGeom的升级版,可以处理Geometry3D的Z坐标。
必须提供目标地图坐标空间中瓦片矩形边界,以便可以转换几何图形,并在需要时进行剪切。边界可以使用ST_TileEnvelope生成。
暂不支持处理Geometry3D对象中带内环的Polygon3D对象。
示例
SELECT ST_AsText(ST_AsMVTGeom3D(ST_Transform('SRID=4326; LINESTRING(-10 -10 30, -10 -20 30)'::geometry, 3857), ST_TileEnvelope(1, 0, 0))) AS geom;
geom
------------------------------------------------------------------------------------
MULTILINESTRING Z ((3868.44444444444 4324.7197219642 30,3868.44444444444 4352 30))
(1 row)