SuperMap iDesktopX矢量金字塔

目录

前言

一、矢量金字塔创建原理

二、关于创建矢量金字塔的数据和金字塔层级的说明

三、矢量金字塔的创建

3.1 功能入口

3.2 参数介绍

3.3 多线程创建矢量金字塔

四、版本兼容性说明


作者:kxj

前言

    实际项目经常会遇到千万级别的矢量数据,在桌面加载时小比例尺下显示速率会特别慢,缩放移动都需要长时间渲染,严重影响数据处理。SuperMap iDesktopX 11.1.0及之后的版本提供矢量金字塔功能。矢量金字塔可以大幅提升海量矢量数据在小比例尺下的显示效率,可实现地图浏览秒级响应。例如:千万级地类图斑数据创建矢量金字塔后,全幅显示性能提升10倍,全幅显示时只绘制了约14万个简化后的对象,且显示效果正确。接下来就一起来看看iDesktopX如何创建矢量金字塔吧!

一、矢量金字塔创建原理

    矢量数据集创建矢量金字塔时,原矢量数据集为最精细的原始层级,基于原始层级的数据,程序按照一定的规则和算法,生成一系列数据简化程度不同的子数据集作为不同金字塔层级对应的数据,金字塔层级越小,数据简化程度越高;具有矢量金字塔的数据集在显示时,地图根据显示比例尺显示合适层级的金字塔层数据,显示比例尺越小,将显示数据简化程度越高的金字塔层,大幅提升地图显示效率。
    矢量金字塔对于矢量数据的简化基于特定的算法执行,基本思想为,矢量数据在显示时,随着比例尺的缩小,很多小对象几乎肉眼不可见,一些线条(线对象或者面边界)的弯曲或者走向的细节也变得模糊。简化则是去掉几乎肉眼不可见对象,使用简单线条拟合复杂的线,不再绘制线的复杂细节,这样,即保证了矢量数据在小比例尺下显示效果的正确,又大幅提升了地图显示效率。

二、关于创建矢量金字塔的数据和金字塔层级的说明

  • 目前,支持创建矢量金字塔的数据包括:UDBX、PostGIS、Yukon数据源中的点、线、面矢量数据集。
  • 矢量金字塔创建耗费资源(时间、内存和CPU计算资源)较多,实际应用中,矢量数据是否有必要创建矢量金字塔,需根据数据量和地图显示效率的预期目标而定。一般情况下,数据量达到百万级的矢量数据,需要通过矢量金字塔获得小比例尺下流畅的地图浏览体验。
  • 矢量金字塔层级越大,数据简化程度越低,生成金字塔耗时越多。矢量金字塔最小层级和最大层级的设置,需要初步掌握原矢量数据集在不同比例尺下地图显示耗时情况,按需决定是否创建对应层级的金字塔(参见下文:金字塔层级和比例尺对照表);根据测试经验,对于较大比例尺(如大于金字塔层级12级比例尺),原矢量数据浏览效率基本可以满足流畅性要求,创建12层级以上的矢量金字塔并不会明显提升显示效率,且耗费大量资源。
    根据测试经验,对于较大比例尺(如大于金字塔层级12级比例尺),原矢量数据浏览效率基本可以满足流畅性要求,如果地图显示效率明显很低,可以从以下方面排查:
    • 原矢量数据集未创建空间索引,需要重建空间索引。
    • 针对PostGIS矢量数据集,可以开启“简化显示”(位于数据集属性面板中“矢量”页面),可提升显示效率。
  • 表格 1 为金字塔层级和比例尺的对照表,还包含了对应层级的显示分辨率,称为层级分辨率。矢量金字塔的数据简化算法将根据指定的分辨率对数据进行简化,数据简化算法使用的分辨率=层级分辨率*分辨率系数,即:通过“分辨率系数”可以调整对应层级的数据简化程度。
    数据简化算法使用的分辨率数值越大,数据简化程度越高,金字塔生成和显示效率越高,但数据失真度也越高,因此,“分辨率系数”要权衡显示精度和效率两方面因素。
    在这里插入图片描述
    表格1

三、矢量金字塔的创建

3.1 功能入口

工具箱-数据处理-矢量-创建矢量金字塔

在这里插入图片描述

3.2 参数介绍

创建矢量金字塔弹窗如下:

在这里插入图片描述


具体参数介绍:

参数名 默认值 值域 参数释义 参数类型
数据源 待创建矢量金字塔的SuperMap矢量数据集所在数据源,目前只支持:UDBX、PostGIS、Yukon数据源。 DatasetVector
数据集 待创建矢量金字塔的SuperMap矢量数据集,目前只支持:UDBX、PostGIS、Yukon数据源中的点、线、面矢量数据集。 DatasetVector
最小层级 0 [0,最大层级] 最小金字塔层级。 Integer
最大层级 11 [0,16] 最大金字塔层级。金字塔层级越大,数据简化程度越低,生成耗时越多。如何合理设置最大层级,参见上文。 Integer
层级间距 1 {1,2,3,4} 金字塔层级间距,默认为1,表示生成金字塔的层级连续;间距大于1,将越级生成金字塔,例如:最小层级5,最大层级9,间距为2,将只生成5、7、9层级的金字塔。 Integer
分辨率系数 0.75 ≥0.5 矢量金字塔的数据简化算法将根据指定的分辨率对数据进行简化,数据简化算法使用的分辨率=层级分辨率*分辨率系数,即:通过“分辨率系数”可以调整对应层级的数据简化程度。分辨率系数越大,数据简化算法使用的分辨率数值越大,数据简化程度越高,金字塔生成和显示效率越高,但数据失真度也越高,因此,“分辨率系数”要权衡显示精度和效率两方面因素。 Double
创建方法 拓扑法 {拓扑法,网格法} 数据简化算法,包括:拓扑法和网格法。与网格法相比,拓扑法对于数据的简化程度更高,创建矢量金字塔需要的内存资源更多,创建耗时也更多,结果矢量金字塔的显示效率更高。网格法对于数据的简化程度较低,因此,创建矢量金字塔效率更高,但结果矢量金字塔的显示效率不及拓扑法的结果。需要根据实际的数据情况、机器配置以及矢量金字塔的预期生成效率和结果显示性能多方面因素,选择合适的创建方法。 String

3.3 多线程创建矢量金字塔

创建矢量金字塔操作支持多线程执行,在 iDesktopX 中,进入“文件”菜单,依次选择“选项”、“环境”,其中的“并行计算线程数”可以指定创建矢量金字塔使用的线程数,如下图所示:

在这里插入图片描述

四、版本兼容性说明

SuperMap GIS 11.1.0 及以上版本支持矢量金字塔能力,使用SuperMap iDesktopX 11.1.0 以下版本打开具有矢量金字塔的数据集,金字塔层数据集表将被注册为数据源中的普通数据集,再使用SuperMap iDesktopX 11.1.0 及以上版本打开,这些普通数据集依旧存在,但不会影响矢量金字塔的应用。

猜你喜欢

转载自blog.csdn.net/supermapsupport/article/details/135290614