ST_AsMVT — 返回一组行的 MVT 表示形式的聚合函数。
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)
;
一个聚合函数,返回一组行(对应于一个切片图层)的二进制 Mapbox 矢量切片 表示形式。这些行必须包含一个几何列,该列将被编码为一个要素几何。几何必须位于切片坐标空间中,并且符合 MVT 规范。可以使用 ST_AsMVTGeom 将几何转换为切片坐标空间。其他行列被编码为要素属性。
Mapbox 矢量切片 格式可以存储具有不同属性集的要素。要使用此功能,请在行数据中提供一个 JSONB 列,其中包含一个级别的 Json 对象。JSONB 值中的键和值将被编码为要素属性。
可以通过使用 ||
或 STRING_AGG
连接对该函数的多次调用来创建具有多个图层的切片。
不要使用 |
row
至少包含一个几何列的行数据。
name
是图层的名称。默认值为字符串“default”。
extent
是规范中定义的屏幕空间中的切片范围。默认值为 4096。
geom_name
是行数据中几何列的名称。默认值为第一个几何列。请注意,PostgreSQL 默认自动将 未加引号的标识符折叠为小写,这意味着除非几何列加了引号,例如 "MyMVTGeom"
,否则必须将此参数提供为小写。
feature_id_name
是行数据中要素 ID 列的名称。如果为 NULL 或负值,则不设置要素 ID。第一个匹配名称和有效类型(smallint、integer、bigint)的列将用作要素 ID,并且任何后续列都将作为属性添加。不支持 JSON 属性。
增强:3.0 - 添加对要素 ID 的支持。
增强:2.5.0 - 添加对并行查询的支持。
可用性:2.4.0