CN111105492B - 一种地形平滑过程中瓦片高程数据快速调度方法 - Google Patents
一种地形平滑过程中瓦片高程数据快速调度方法 Download PDFInfo
- Publication number
- CN111105492B CN111105492B CN201911308650.1A CN201911308650A CN111105492B CN 111105492 B CN111105492 B CN 111105492B CN 201911308650 A CN201911308650 A CN 201911308650A CN 111105492 B CN111105492 B CN 111105492B
- Authority
- CN
- China
- Prior art keywords
- terrain
- elevation
- data
- tile data
- terrain tile
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
Abstract
本发明提出了一种地形平滑过程中瓦片高程数据快速调度方法。所述方法包括如下步骤:步骤一:读取第一地形瓦片数据及其周围地形瓦片数据的高程值;步骤二:计算周围地形瓦片数据近边界点与第一地形瓦片数据相对应的边界点的高程差值,生成高程差值文件;步骤三:加载第一地形瓦片数据和对应的高程差值文件,读取高程差值文件;步骤四:基于高程差值计算第一地形瓦片数据边界邻近点的高程;步骤五:基于第一地形瓦片边界点的高程值和邻近点的高程值,计算第一地形瓦片数据边界点的法向量并进行归一化处理,快速地平滑地形。本发明通过预先存储高程差值文件的方式,加快了平滑所需瓦片高程数据的调度速度,实现了地形的快速平滑。
Description
技术领域
本发明涉及一种地形平滑过程中瓦片高程数据快速调度方法,属于计算机仿真技术领域。
背景技术
数字地球的基本思想是将高分辨率的遥感影像覆盖全球,并通过建立覆盖全球的数字高程模型和地球景观模型,形成虚拟地球。其地形数据都是依靠数字高程模型(Digital Elevation Model,DEM)实现对地面地形的数字化模拟,通过LOD分层、四叉树分块全球剖分建立骨架。但在地形分块的过程中,由于每个地形瓦片边界顶点的法向量只利用本块瓦片包含的数据信息进行计算,造成了相邻瓦片重合的边界顶点的法向量不统一的情况,从而产生瓦片边界过渡不平滑的问题,影响了三维地形的真实感。
数字地球平台OsgEarth中同样存在这个问题。在进行地形渲染时,由于瓦片边界顶点的法向量不统一,地形中呈现出明显的分界线。为了解决这个问题,OsgEarth提供了一个normalizeEdges选项,将normalizeEdges设置为true即可开启边界平滑。但在进行边界平滑的过程中,OsgEarth地形引擎调度周围地形瓦片数据过多,而且调度次数频繁,导致地形加载缓慢,大大影响了实时渲染的速度。
本发明提出了一种地形平滑过程中瓦片高程数据快速调度方法,能够在地形平滑的过程中减少大量不必要的数据调度,达到快速平滑地形的效果。
发明内容
针对现有技术的不足,本发明提出一种地形平滑过程中瓦片高程数据快速调度方法。所述算法可以实现平滑处理过程中所需地形边界高程值的快速调度,在保证渲染效果的前提下,加快地形渲染速度。
实现本发明的技术方案为:一种地形平滑过程中瓦片高程数据快速调度方法,包括如下步骤:
步骤一:选择一个需要平滑处理的地形块数据作为第一地形瓦片数据,使用栅格空间数据转换库读取第一地形瓦片数据及其周围地形瓦片数据的高程值;
步骤二:将需要平滑处理的顶点记作第一地形瓦片数据边界点,计算周围地形瓦片数据近边界点与第一地形瓦片数据相对应的边界点的高程差值,生成高程差值文件;
步骤三:在数字地球平台中加载第一地形瓦片数据,通过第一地形瓦片数据的编号调度其对应的高程差值文件,读取高程差值文件;
步骤四:将第一地形瓦片数据周围一圈的点记作第一地形瓦片数据边界邻近点,基于高程差值计算第一地形瓦片数据边界邻近点的高程;
步骤五:基于第一地形瓦片边界点的高程值和邻近点的高程值,计算第一地形瓦片数据边界点的法向量并进行归一化处理,快速地平滑地形。
进一步地,在步骤一中,所述读取第一地形瓦片数据及其周围地形瓦片数据的高程值,具体包括读取第一地形瓦片数据和同层级下第一地形瓦片单元的左上方、上方、右上方、左方、右方、左下方、下方和右下方单元的地形瓦片数据高程值。
进一步地,在步骤二中,所述周围地形瓦片数据近边界点,具体包括:
左上方地形瓦片近边界点为除边界点外最靠近第一地形瓦片左上方顶点的点,右上方地形瓦片近边界点、左下方地形瓦片近边界点和右下方地形瓦片近边界点同理;上方地形瓦片近边界点为除边界点外最靠近第一地形瓦片上方顶点的所有点,下方地形瓦片近边界点、左方地形瓦片近边界点和右方地形瓦片近边界点同理。
进一步地,在步骤二中,所述计算周围地形瓦片数据近边界点与第一地形瓦片数据边界点的高程差值,具体包括:
计算左上方地形瓦片近边界点与第一地形瓦片左上方顶点的高程差值,计算右上方地形瓦片近边界点、左下方地形瓦片近边界点和右下方地形瓦片近边界点的高程差值同理;计算每个上方地形瓦片近边界点和与其对应的第一地形瓦片上方顶点的高程差值,计算下方地形瓦片近边界点、左方地形瓦片近边界点和右方地形瓦片近边界点的高程差值同理。
进一步地,在步骤四中,所述基于高程差值计算第一地形瓦片数据边界邻近点的高程,具体包括基于OsgEarth数字地球平台获取第一地形瓦片数据边界点的高程值,并对第一地形瓦片数据边界点和对应的高程差值进行求和,求得第一地形瓦片数据周围的左上方点、上方点、右上方点、左方点、右方点、左下方点、下方点和右下方点高程值。
进一步地,在步骤五中,所述计算第一地形瓦片数据边界点的法向量并进行归一化处理,具体包括:基于边界顶点高程值和邻近点的高程值调整相应的顶点坐标,基于边界顶点坐标和邻近点顶点坐标计算边界点相关三角面片的法向量,并对第一瓦片数据边界点上的法向量求平均。
本发明产生的有益效果是:通过提供一种地形平滑过程中瓦片高程数据快速调度方法,在改善了地形渲染效果的同时,避免了OsgEarth现有的平滑地形技术中由于调度周围瓦片地形数据过多导致地形加载缓慢的问题,通过预先存储高程差值的方式,排除大量瓦片数据的读取,实现了地形高程数据的快速调度,在整体上达到快速平滑地形的效果。
附图说明
图1是本发明的流程图;
图2是地形未平滑的效果;
图3是OsgEarth开启地形平滑的地形效果;
图4是本发明平滑后的地形效果。
具体实施方式
为了更好地理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
如图1所示,本实施例提供了一种地形平滑过程中瓦片高程数据快速调度方法,包括:
步骤一:选择一个需要平滑处理的地形块数据作为第一地形瓦片数据,使用栅格空间数据转换库读取第一地形瓦片数据及其周围地形瓦片数据的高程值,周围地形瓦片数据的高程值包括和第一地形瓦片数据同层级下的左上方、上方、右上方、左方、右方、左下方、下方和右下方单元的栅格数据高程值。
举例来讲,将第一地形瓦片数据记为C,左上方、上方、右上方、左方、右方、左下方、下方和右下方单元地形瓦片数据分别记UL,UP,UR,L,R,LL,LOW和LR,使用GDAL栅格空间数据转换库读取第一地形及其周围瓦片数据的高程值,调整第一瓦片数据及其周围瓦片数据的高程值的存储顺序,保证高程值的存储顺序和加载瓦片数据时读取高程值的顺序一致。
地形瓦片数据格式为TIF,包含17x17个像素点,读取每个像素点的高程值,按从左往右从上到下的顺序存储289个数据,则C的高程数据记作cHeight,UL的高程数据记作ulHeight,UR的高程数据记作urHeight,LL的高程数据记作llHeight,LR的高程数据记作lrHeight,UP的高程数据记作upHeight,LOW的高程数据记作lowHeight,L的高程数据记作lHeight,R的高程数据记作rHeight。
步骤二:将需要平滑处理的顶点记作第一地形瓦片数据边界点,计算周围地形瓦片数据近边界点与第一地形瓦片数据相对应的边界点的高程差值,生成高程差值文件。
作为一种可选的实施例,计算周围地形瓦片数据近边界点与第一地形瓦片数据相对应的边界点的高程差值,具体包括:计算左上方地形瓦片近边界点与第一地形瓦片左上方顶点的高程差值,计算右上方地形瓦片近边界点、左下方地形瓦片近边界点和右下方地形瓦片近边界点的高程差值同理;计算每个上方地形瓦片近边界点和与其对应的第一地形瓦片上方顶点的高程差值,计算下方地形瓦片近边界点、左方地形瓦片近边界点和右方地形瓦片近边界点的高程差值同理。
举例来讲,要计算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)之差,存储所有的高程差值。
步骤三:在数字地球平台中加载第一地形瓦片数据,通过第一地形瓦片数据的编号调度其对应的高程差值文件,读取高程差值文件。
步骤四:将第一地形瓦片数据周围一圈的点记作第一地形瓦片数据边界邻近点,基于高程差值计算第一地形瓦片数据边界邻近点的高程,具体包括加载地形时获取第一地形瓦片数据边界点的高程值,并对第一地形瓦片数据边界点高程值和对应的高程差值进行求和,求得第一地形瓦片数据周围的左上方点、上方点、右上方点、左方点、右方点、左下方点、下方点和右下方点地形高程值。
举例来讲,当地形引擎加载到C地形瓦片时,同时读取C对应的高程差值文件,通过高程差值和边界点高程值求和算出C周围一圈点的高程值,即C以外的左上方点、上方点、右上方点、左方点、右方点、左下方点、下方点和右下方点地形高程值。
步骤五:基于第一地形瓦片边界点的高程值和邻近点的高程值,计算第一地形瓦片数据边界点的法向量并进行归一化处理,快速地平滑地形,所述计算第一瓦片数据边界点的法向量并进行归一化处理,具体包括:基于边界顶点高程值和邻近点的高程值调整相应的顶点坐标,基于边界顶点坐标和邻近点顶点坐标计算边界点相关三角面片的法向量,并对第一瓦片数据边界点上的法向量进行归一化处理。
举例来讲,在OsgEarth数字地球平台上,通过获取到的高程值修改NDC坐标(标准化设备坐标)的z坐标;然后将NDC坐标转换为模型坐标,再将模型坐标转换成ECEF坐标(地心地固坐标系),即OsgEarth渲染图像时采用的坐标系;基于地心坐标计算边界点相关三角面片的法向量,最后对第一地形瓦片
数据边界点上的法向量求平均。
下面以实验结果说明本实施例的效果:
图2是一个经纬度在85.074,28.497附近地块未平滑的地形效果,圈出部分为不平滑的边界部分;
图3是OsgEarth开启地形平滑的地形效果;
图4是发明实施例所述方法的地形效果。
本实施例通过预先为每块瓦片数据额外存储288字节的高程差值数据,避免了在平滑过程中调度第一瓦片周围的多块瓦片数据,而是只对需要进行平滑的近边界顶点高程值进行调度,加快了地形渲染的速度,对比耗时如表1所示。
表1
算法 | 加载地形瓦片数/个 | 平滑调度耗费时间/ms |
OsgEarth地形平滑数据调度 | 1000 | 9667 |
地形高程数据快速调度 | 1000 | 679 |
对比未平滑地形效果图和平滑后地形效果图可知,地形未平滑时出现明显的分界线,经过OsgEarth所用算法和本发明所提出的算法平滑后使分界线的问题得到了很大的改善,两种算法的渲染效果没有差异;对比表1中的数据可知,本发明所提出算法与OsgEarth地形调度算法在平滑同样数量的地形瓦片的情况下,耗费时间明显减少。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (1)
1.一种地形平滑过程中瓦片高程数据快速调度方法,其特征在于,包括如下步骤:
步骤一:选择一个需要平滑处理的地形块数据作为第一地形瓦片数据,使用栅格空间数据转换库读取第一地形瓦片数据及其周围地形瓦片数据的高程值;
步骤二:将需要平滑处理的顶点记作第一地形瓦片数据边界点,计算周围地形瓦片数据近边界点与第一地形瓦片数据相对应的边界点的高程差值,生成高程差值文件,所述周围地形瓦片数据近边界点是第一地形瓦片数据周围一圈的点;
步骤三:在数字地球平台中加载第一地形瓦片数据,通过第一地形瓦片数据的编号调度其对应的高程差值文件,读取高程差值文件;
步骤四:将第一地形瓦片数据周围一圈的点记作第一地形瓦片数据边界邻近点,基于高程差值计算第一地形瓦片数据边界邻近点的高程;
步骤五:基于第一地形瓦片边界点的高程值和邻近点的高程值,计算第一地形瓦片数据边界点的法向量并进行归一化处理,快速地平滑地形。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911308650.1A CN111105492B (zh) | 2019-12-18 | 2019-12-18 | 一种地形平滑过程中瓦片高程数据快速调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911308650.1A CN111105492B (zh) | 2019-12-18 | 2019-12-18 | 一种地形平滑过程中瓦片高程数据快速调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111105492A CN111105492A (zh) | 2020-05-05 |
CN111105492B true CN111105492B (zh) | 2020-11-17 |
Family
ID=70422571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911308650.1A Active CN111105492B (zh) | 2019-12-18 | 2019-12-18 | 一种地形平滑过程中瓦片高程数据快速调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111105492B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112017286A (zh) * | 2020-08-28 | 2020-12-01 | 北京国遥新天地信息技术有限公司 | 一种数字地球无裙边地形瓦块无缝拼接显示仿真方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930594A (zh) * | 2012-09-20 | 2013-02-13 | 中国科学院自动化研究所 | 基于保持边界的计算机三维地形网格的绘制方法 |
CN103678657A (zh) * | 2013-12-24 | 2014-03-26 | 北京中科大洋科技发展股份有限公司 | 一种地形高程数据存储和读取的方法 |
WO2016095682A1 (zh) * | 2014-12-16 | 2016-06-23 | 高德软件有限公司 | 一种处理数字地面模型接缝的方法及装置 |
CN106600694A (zh) * | 2016-12-20 | 2017-04-26 | 中国地质大学(武汉) | 一种地形数据的平滑处理方法及装置 |
CN106898045A (zh) * | 2017-02-24 | 2017-06-27 | 郑州大学 | 一种基于sgog瓦块的大区域真三维地理场景自适应构建方法 |
CN109741448A (zh) * | 2018-12-12 | 2019-05-10 | 浙江科澜信息技术有限公司 | 基于dem数据绘制三维起伏模型的方法、装置以及设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268342A (zh) * | 2013-05-21 | 2013-08-28 | 北京大学 | 基于cuda的dem动态可视化加速系统和方法 |
CN107730583B (zh) * | 2017-10-26 | 2021-02-26 | 浙江科澜信息技术有限公司 | 一种基于三维场景的地形瓦片数据动态调度方法及装置 |
CN108875010A (zh) * | 2018-06-18 | 2018-11-23 | 安徽迈普德康信息科技有限公司 | 一种地理信息系统的地图显示方法 |
CN110570466B (zh) * | 2019-09-09 | 2022-09-16 | 广州建通测绘地理信息技术股份有限公司 | 三维实景点云模型的生成方法和装置 |
-
2019
- 2019-12-18 CN CN201911308650.1A patent/CN111105492B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930594A (zh) * | 2012-09-20 | 2013-02-13 | 中国科学院自动化研究所 | 基于保持边界的计算机三维地形网格的绘制方法 |
CN103678657A (zh) * | 2013-12-24 | 2014-03-26 | 北京中科大洋科技发展股份有限公司 | 一种地形高程数据存储和读取的方法 |
WO2016095682A1 (zh) * | 2014-12-16 | 2016-06-23 | 高德软件有限公司 | 一种处理数字地面模型接缝的方法及装置 |
CN106600694A (zh) * | 2016-12-20 | 2017-04-26 | 中国地质大学(武汉) | 一种地形数据的平滑处理方法及装置 |
CN106898045A (zh) * | 2017-02-24 | 2017-06-27 | 郑州大学 | 一种基于sgog瓦块的大区域真三维地理场景自适应构建方法 |
CN109741448A (zh) * | 2018-12-12 | 2019-05-10 | 浙江科澜信息技术有限公司 | 基于dem数据绘制三维起伏模型的方法、装置以及设备 |
Non-Patent Citations (2)
Title |
---|
"The Key Technology of Realistic Terrain Construction";Song,X等;《International Conference on Artifical Intelligence and Computer Science》;20161231;166-170页 * |
"基于改进的约束四叉树LOD全球地形实时绘制";宋力兵等;《计算机与数字工程》;20131231(第10期);1668-1671页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111105492A (zh) | 2020-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105893972B (zh) | 基于影像进行的违章建筑物自动监测方法及其实现系统 | |
CN110706324B (zh) | 一种天气粒子渲染的方法及装置 | |
CN108648271B (zh) | 一种基于gis数据生成复杂地形网格模型的插值方法 | |
CN110543716B (zh) | 三维架空电缆层级电网优化方法、装置和计算机设备 | |
Hwa et al. | Real-time optimal adaptation for planetary geometry and texture: 4-8 tile hierarchies | |
Hwa et al. | Adaptive 4-8 texture hierarchies | |
CN111784840B (zh) | 基于矢量数据自动分割lod层级三维数据单体化方法及系统 | |
CN109584366B (zh) | 一种地形渲染方法、装置、设备及可读存储介质 | |
CN110378992A (zh) | 面向大场景模型web端动态渲染LOD处理方法 | |
CN110738718A (zh) | 一种国土数据的三维可视化方法 | |
CN111105492B (zh) | 一种地形平滑过程中瓦片高程数据快速调度方法 | |
CN109657403A (zh) | 一种基于无人机倾斜摄影的三维实景桥梁建模优化方法 | |
CN114092575B (zh) | 数字地球实时着色方法和装置 | |
CN110935171A (zh) | 一种实景三维模型在游戏引擎中加载优化及单体化的方法 | |
CN116244805A (zh) | 一种住宅建筑规划设计方案自动生成系统及生成方法 | |
CN106991714B (zh) | 实景三维模型与三维仿真模型混合加载方法 | |
CN111882640B (zh) | 一种渲染参数确定方法、装置、设备及存储介质 | |
CN106373175A (zh) | 一种地形高度图数据的加载方法 | |
CN112017286A (zh) | 一种数字地球无裙边地形瓦块无缝拼接显示仿真方法 | |
CN116051777B (zh) | 超高层建筑提取方法、设备和可读存储介质 | |
CN111870953A (zh) | 一种高度图生成方法、装置、设备及存储介质 | |
CN110930509A (zh) | 线性四元树多层模型驱动的dem即时可视化方法 | |
CN113786616B (zh) | 一种间接光照实现方法、装置、存储介质及计算设备 | |
CN113838199B (zh) | 一种三维地形生成方法 | |
CN111260780B (zh) | 基于高度图高程的实时地形修改方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |