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)