矢量金字塔
Note
矢量金字塔模块目前还未正式确认,接口可能会有变动。
ST_BuildPyramid
生成概化数据
语法
ST_BuildPyramid(tablename text, columnname text, config text)
参数:
tablename: 数据表名称(必须包含有 geometry 数据)
columnname: geometry 列名称
config: 配置说明,是一个 JSON 格式的配置说明,其中包括:
+ level: 要生成的层级,必选项
+ resolution: 要简化的分辨率,
+ simplify: 简化参数,tolerance 与 resolution 一致,preserveCollapsed 是否保留较小对象。
+ attribute: 要包含的属性的数组。
返回值:
如果成功则返回 "success", 否则返回 "failed"
示例:
select ST_BuildPyramid('nanning',
'smgeometry',
'[
{
"level": 12,
"resolution":12.0,
"simplify": {
"tolerance": 0.00002,
"preserveCollapsed": true
},
"attribute": [
"smid"
]
}
]');
-- 对 nanning 这个表生成层级为 12 的概化数据,并包含 smid 属性,简化容限为 0.00002,并保留最小对象
ST_BuildTile
生成矢量瓦片数据
语法:
text ST_BuildTile(tablename text, columnname text, start_level int, end_level int)
参数:
tablename: 表名(必须包含 geometry 数据 )
columnname: geomodel 列名
start_level: 矢量瓦片数据起始层级(包含)
end_level: 矢量瓦片数据终止层级(包含)
返回值:
如果成功则返回 "success", 否则返回 "failed"
示例:
select ST_BuildTile('nanning',
'smgeometry', 12, 12);
-- 对 nanning 的数据集,生成 12 层级的矢量瓦片
ST_HasPyramid
查看是否存在矢量金字塔数据
语法:
ST_HasPyramid(table_name text, column_name text)
参数:
table_name: 表名
column_name: 列名
返回值:
如果有矢量金字塔数据,则返回 true, 否则返回 false
示例:
select ST_HasPyramid('nanning', 'smgeometry');
ST_ListPyramid
返回矢量金字塔的配置
语法:
SETOF text ST_ListPyramid(tablename text, columnname text)
参数:
table_name: 表名
column_name: 列名
返回值:
具体的金字塔配置
示例:
select ST_ListPyramid('nanning', 'smgeometry');
Yukon_Pyramid_Version
返回 pyramid 模块的编译时间和版本信息
语法:
text yukon_pyramid_version()
示例:
select yukon_pyramid_version();
-- 输出
yukon_pyramid 1.0.0 Compiled at: 2023-04-17 17:30:23 Commit ID:c3ab309