首页 / 专利库 / 电脑零配件 / 向量处理 / 一种地形平滑过程中瓦片高程数据快速调度方法

一种地形平滑过程中瓦片高程数据快速调度方法

阅读:683发布:2020-05-08

专利汇可以提供一种地形平滑过程中瓦片高程数据快速调度方法专利检索,专利查询,专利分析的服务。并且本 发明 提出了一种地形平滑过程中瓦片高程数据快速调度方法。所述方法包括如下步骤:步骤一:读取第一地形瓦片数据及其周围地形瓦片数据的高程值;步骤二:计算周围地形瓦片数据近边界点与第一地形瓦片数据相对应的边界点的高程差值,生成高程差值文件;步骤三:加载第一地形瓦片数据和对应的高程差值文件,读取高程差值文件;步骤四:基于高程差值计算第一地形瓦片数据边界邻近点的高程;步骤五:基于第一地形瓦片边界点的高程值和邻近点的高程值,计算第一地形瓦片数据边界点的法向量并进行归一化处理,快速地平滑地形。本发明通过预先存储高程差值文件的方式,加快了平滑所需瓦片高程数据的调度速度,实现了地形的快速平滑。,下面是一种地形平滑过程中瓦片高程数据快速调度方法专利的具体信息内容。

1.一种地形平滑过程中瓦片高程数据快速调度方法,其特征在于,包括如下步骤:
步骤一:选择一个需要平滑处理的地形数据作为第一地形瓦片数据,使用栅格空间数据转换库读取第一地形瓦片数据及其周围地形瓦片数据的高程值;
步骤二:将需要平滑处理的顶点记作第一地形瓦片数据边界点,计算周围地形瓦片数据近边界点与第一地形瓦片数据相对应的边界点的高程差值,生成高程差值文件;
步骤三:在数字地球平台中加载第一地形瓦片数据,通过第一地形瓦片数据的编号调度其对应的高程差值文件,读取高程差值文件;
步骤四:将第一地形瓦片数据周围一圈的点记作第一地形瓦片数据边界邻近点,基于高程差值计算第一地形瓦片数据边界邻近点的高程;
步骤五:基于第一地形瓦片边界点的高程值和邻近点的高程值,计算第一地形瓦片数据边界点的法向量并进行归一化处理,快速地平滑地形。

说明书全文

一种地形平滑过程中瓦片高程数据快速调度方法

技术领域

[0001] 本发明涉及一种地形平滑过程中瓦片高程数据快速调度方法,属于计算机仿真技术领域。

背景技术

[0002] 数字地球的基本思想是将高分辨率的遥感影像覆盖全球,并通过建立覆盖全球的数字高程模型和地球景观模型,形成虚拟地球。其地形数据都是依靠数字高程模型(Digital Elevation Model,DEM)实现对地面地形的数字化模拟,通过LOD分层、四叉树分全球剖分建立骨架。但在地形分块的过程中,由于每个地形瓦片边界顶点的法向量只利用本块瓦片包含的数据信息进行计算,造成了相邻瓦片重合的边界顶点的法向量不统一的情况,从而产生瓦片边界过渡不平滑的问题,影响了三维地形的真实感。
[0003] 数字地球平台OsgEarth中同样存在这个问题。在进行地形渲染时,由于瓦片边界顶点的法向量不统一,地形中呈现出明显的分界线。为了解决这个问题,OsgEarth提供了一个normalizeEdges选项,将normalizeEdges设置为true即可开启边界平滑。但在进行边界平滑的过程中,OsgEarth地形引擎调度周围地形瓦片数据过多,而且调度次数频繁,导致地形加载缓慢,大大影响了实时渲染的速度。
[0004] 本发明提出了一种地形平滑过程中瓦片高程数据快速调度方法,能够在地形平滑的过程中减少大量不必要的数据调度,达到快速平滑地形的效果。

发明内容

[0005] 针对现有技术的不足,本发明提出一种地形平滑过程中瓦片高程数据快速调度方法。所述算法可以实现平滑处理过程中所需地形边界高程值的快速调度,在保证渲染效果的前提下,加快地形渲染速度。
[0006] 实现本发明的技术方案为:一种地形平滑过程中瓦片高程数据快速调度方法,包括如下步骤:步骤一:选择一个需要平滑处理的地形块数据作为第一地形瓦片数据,使用栅格空间数据转换库读取第一地形瓦片数据及其周围地形瓦片数据的高程值;
步骤二:将需要平滑处理的顶点记作第一地形瓦片数据边界点,计算周围地形瓦片数据近边界点与第一地形瓦片数据相对应的边界点的高程差值,生成高程差值文件;
步骤三:在数字地球平台中加载第一地形瓦片数据,通过第一地形瓦片数据的编号调度其对应的高程差值文件,读取高程差值文件;
步骤四:将第一地形瓦片数据周围一圈的点记作第一地形瓦片数据边界邻近点,基于高程差值计算第一地形瓦片数据边界邻近点的高程;
步骤五:基于第一地形瓦片边界点的高程值和邻近点的高程值,计算第一地形瓦片数据边界点的法向量并进行归一化处理,快速地平滑地形。
[0007] 进一步地,在步骤一中,所述读取第一地形瓦片数据及其周围地形瓦片数据的高程值,具体包括读取第一地形瓦片数据和同层级下第一地形瓦片单元的左上方、上方、右上方、左方、右方、左下方、下方和右下方单元的地形瓦片数据高程值。
[0008] 进一步地,在步骤二中,所述周围地形瓦片数据近边界点,具体包括:左上方地形瓦片近边界点为除边界点外最靠近第一地形瓦片左上方顶点的点,右上方地形瓦片近边界点、左下方地形瓦片近边界点和右下方地形瓦片近边界点同理;上方地形瓦片近边界点为除边界点外最靠近第一地形瓦片上方顶点的所有点,下方地形瓦片近边界点、左方地形瓦片近边界点和右方地形瓦片近边界点同理。
[0009] 进一步地,在步骤二中,所述计算周围地形瓦片数据近边界点与第一地形瓦片数据边界点的高程差值,具体包括:计算左上方地形瓦片近边界点与第一地形瓦片左上方顶点的高程差值,计算右上方地形瓦片近边界点、左下方地形瓦片近边界点和右下方地形瓦片近边界点的高程差值同理;
计算每个上方地形瓦片近边界点和与其对应的第一地形瓦片上方顶点的高程差值,计算下方地形瓦片近边界点、左方地形瓦片近边界点和右方地形瓦片近边界点的高程差值同理。
[0010] 进一步地,在步骤四中,所述基于高程差值计算第一地形瓦片数据边界邻近点的高程,具体包括基于OsgEarth数字地球平台获取第一地形瓦片数据边界点的高程值,并对第一地形瓦片数据边界点和对应的高程差值进行求和,求得第一地形瓦片数据周围的左上方点、上方点、右上方点、左方点、右方点、左下方点、下方点和右下方点高程值。
[0011] 进一步地,在步骤五中,所述计算第一地形瓦片数据边界点的法向量并进行归一化处理,具体包括:基于边界顶点高程值和邻近点的高程值调整相应的顶点坐标,基于边界顶点坐标和邻近点顶点坐标计算边界点相关三面片的法向量,并对第一瓦片数据边界点上的法向量求平均。
[0012] 本发明产生的有益效果是:通过提供一种地形平滑过程中瓦片高程数据快速调度方法,在改善了地形渲染效果的同时,避免了OsgEarth现有的平滑地形技术中由于调度周围瓦片地形数据过多导致地形加载缓慢的问题,通过预先存储高程差值的方式,排除大量瓦片数据的读取,实现了地形高程数据的快速调度,在整体上达到快速平滑地形的效果。附图说明
[0013] 图1是本发明的流程图;图2是地形未平滑的效果;
图3是OsgEarth开启地形平滑的地形效果;
图4是本发明平滑后的地形效果。

具体实施方式

[0014] 为了更好地理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
[0015] 如图1所示,本实施例提供了一种地形平滑过程中瓦片高程数据快速调度方法,包括:步骤一:选择一个需要平滑处理的地形块数据作为第一地形瓦片数据,使用栅格空间数据转换库读取第一地形瓦片数据及其周围地形瓦片数据的高程值,周围地形瓦片数据的高程值包括和第一地形瓦片数据同层级下的左上方、上方、右上方、左方、右方、左下方、下方和右下方单元的栅格数据高程值。
[0016] 举例来讲,将第一地形瓦片数据记为C,左上方、上方、右上方、左方、右方、左下方、下方和右下方单元地形瓦片数据分别记UL,UP,UR,L,R,LL,LOW和LR,使用GDAL栅格空间数据转换库读取第一地形及其周围瓦片数据的高程值,调整第一瓦片数据及其周围瓦片数据的高程值的存储顺序,保证高程值的存储顺序和加载瓦片数据时读取高程值的顺序一致。
[0017] 地形瓦片数据格式为TIF,包含17x17个像素点,读取每个像素点的高程值,按从左往右从上到下的顺序存储289个数据,则C的高程数据记作cHeight,UL的高程数据记作ulHeight,UR的高程数据记作urHeight,LL的高程数据记作llHeight,LR的高程数据记作lrHeight,UP的高程数据记作upHeight,LOW的高程数据记作lowHeight,L的高程数据记作lHeight,R的高程数据记作rHeight。
[0018] 步骤二:将需要平滑处理的顶点记作第一地形瓦片数据边界点,计算周围地形瓦片数据近边界点与第一地形瓦片数据相对应的边界点的高程差值,生成高程差值文件。
[0019] 作为一种可选的实施例,计算周围地形瓦片数据近边界点与第一地形瓦片数据相对应的边界点的高程差值,具体包括:计算左上方地形瓦片近边界点与第一地形瓦片左上方顶点的高程差值,计算右上方地形瓦片近边界点、左下方地形瓦片近边界点和右下方地形瓦片近边界点的高程差值同理;计算每个上方地形瓦片近边界点和与其对应的第一地形瓦片上方顶点的高程差值,计算下方地形瓦片近边界点、左方地形瓦片近边界点和右方地形瓦片近边界点的高程差值同理。
[0020] 举例来讲,要计算ulHeight[270]与C左上方顶点高程值cHeight[0]之差;计算urHeight[256]与C右上方顶点高程值cHeight[16]之差;计算llHeight[32]与C左下方顶点高程值cHeight[272]之差;计算lrHeight[18]与C右下方顶点高程值cHeight[288]之差;计算upHeight[255+j](j =0,1,2,...,16)与对应C上方边界点高程值cHeight[j](j =0,1,2,...,16)之差;计算lowHeight[17+j](j =0,1,2,...,16)与对应C下方边界点高程值cHeight[272+j](j =0,1,2,...,16)之差;计算lHeight[15+17*i](i =0,1,2,...,16)与对应C左方边界点高程值cHeight[17*i](i =0,1,2,...,16)之差;计算rHeight[1+17*i](i =
0,1,2,...,16)与对应C右方边界点高程值cHeight[16+17*i](i =0,1,2,...,16)之差,存储所有的高程差值。
[0021] 步骤三:在数字地球平台中加载第一地形瓦片数据,通过第一地形瓦片数据的编号调度其对应的高程差值文件,读取高程差值文件。
[0022] 步骤四:将第一地形瓦片数据周围一圈的点记作第一地形瓦片数据边界邻近点,基于高程差值计算第一地形瓦片数据边界邻近点的高程,具体包括加载地形时获取第一地形瓦片数据边界点的高程值,并对第一地形瓦片数据边界点高程值和对应的高程差值进行求和,求得第一地形瓦片数据周围的左上方点、上方点、右上方点、左方点、右方点、左下方点、下方点和右下方点地形高程值。
[0023] 举例来讲,当地形引擎加载到C地形瓦片时,同时读取C对应的高程差值文件,通过高程差值和边界点高程值求和算出C周围一圈点的高程值,即C以外的左上方点、上方点、右上方点、左方点、右方点、左下方点、下方点和右下方点地形高程值。
[0024] 步骤五:基于第一地形瓦片边界点的高程值和邻近点的高程值,计算第一地形瓦片数据边界点的法向量并进行归一化处理,快速地平滑地形,所述计算第一瓦片数据边界点的法向量并进行归一化处理,具体包括:基于边界顶点高程值和邻近点的高程值调整相应的顶点坐标,基于边界顶点坐标和邻近点顶点坐标计算边界点相关三角面片的法向量,并对第一瓦片数据边界点上的法向量进行归一化处理。
[0025] 举例来讲,在OsgEarth数字地球平台上,通过获取到的高程值修改NDC坐标(标准化设备坐标)的z坐标;然后将NDC坐标转换为模型坐标,再将模型坐标转换成ECEF坐标(地心地固坐标系),即OsgEarth渲染图像时采用的坐标系;基于地心坐标计算边界点相关三角面片的法向量,最后对第一地形瓦片数据边界点上的法向量求平均。
[0026] 下面以实验结果说明本实施例的效果:图2是一个经纬度在85.074,28.497附近地块未平滑的地形效果,圈出部分为不平滑的边界部分;
图3是OsgEarth开启地形平滑的地形效果;
图4是发明实施例所述方法的地形效果。
[0027] 本实施例通过预先为每块瓦片数据额外存储288字节的高程差值数据,避免了在平滑过程中调度第一瓦片周围的多块瓦片数据,而是只对需要进行平滑的近边界顶点高程值进行调度,加快了地形渲染的速度,对比耗时如表1所示。
[0028] 表1算法 加载地形瓦片数/个 平滑调度耗费时间/ms
OsgEarth地形平滑数据调度 1000 9667
地形高程数据快速调度 1000 679
对比未平滑地形效果图和平滑后地形效果图可知,地形未平滑时出现明显的分界线,经过OsgEarth所用算法和本发明所提出的算法平滑后使分界线的问题得到了很大的改善,两种算法的渲染效果没有差异;对比表1中的数据可知,本发明所提出算法与OsgEarth地形调度算法在平滑同样数量的地形瓦片的情况下,耗费时间明显减少。
[0029] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈