Name

ST_AsMVT — 返回一组行的MapBox向量平铺表示形式的聚合函数。

Synopsis

bytea ST_AsMVT(anyelement set row);

bytea ST_AsMVT(anyelement row, text name);

bytea ST_AsMVT(anyelement row, text name, integer extent);

bytea ST_AsMVT(anyelement row, text name, integer extent, text geom_name);

bytea ST_AsMVT(anyelement row, text name, integer extent, text geom_name, text feature_id_name);

描述

返回二进制数的聚合函数 地图框向量平铺 对应于平铺层的一组行的表示。行应该包含一个几何图形列,该列将被编码为要素几何图形。几何图形应在平铺坐标空间中,并根据 MVT规范 ST_AsMVTGeom 可用于将几何体转换为平铺坐标空间。其他行列被编码为特征属性。

这个 地图框向量平铺 格式可以存储具有不同属性集的要素。要使用此功能,请在包含一级Json对象的行数据中提供一个JSONB列。JSONB值中的键和值将被编码为功能属性。

通过使用串联对此函数的多个调用,可以创建具有多个图层的切片 ||STRING_AGG

[Important]

不要用电话呼叫 GEOMETRYCOLLECTION 作为行中的元素。但是,您可以使用 ST_AsMVTGeom 要准备包含的几何图形集合,请执行以下操作。

row 至少包含一个几何图形列的行数据。

name 是层的名称。DEFAULT是字符串“Default”。

extent 是规范定义的屏幕空间中的平铺范围。默认为4096。

geom_name 行数据中几何图形列的名称。默认为第一个几何图形列。请注意,默认情况下,PostgreSQL会自动 将未加引号的标识符折换成小写 这意味着除非用引号引用几何图形列,例如 "MyMVTGeom" ,则此参数必须以小写形式提供。

feature_id_name 是行数据中的要素ID列的名称。如果为空或负,则不设置功能ID。匹配名称和有效类型(Smallint、INTEGER、BIGINT)的第一列将用作功能ID,后续任何列都将作为属性添加。不支持JSON属性。

增强版:3.0-新增对功能ID的支持。

增强:2.5.0新增支持并行查询。

可用性:2.4.0

示例

WITH mvtgeom AS
(
  SELECT ST_AsMVTGeom(geom, ST_TileEnvelope(12, 513, 412), extent => 4096, buffer => 64) AS geom, name, description
  FROM points_of_interest
  WHERE geom && ST_TileEnvelope(12, 513, 412, margin => (64.0 / 4096))
)
SELECT ST_AsMVT(mvtgeom.*)
FROM mvtgeom;

另请参阅

ST_AsMVTGeom, ST_TileEnvelope