矢量金字塔

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