CN111260780B - 基于高度图高程的实时地形修改方法 - Google Patents
基于高度图高程的实时地形修改方法 Download PDFInfo
- Publication number
- CN111260780B CN111260780B CN202010033773.5A CN202010033773A CN111260780B CN 111260780 B CN111260780 B CN 111260780B CN 202010033773 A CN202010033773 A CN 202010033773A CN 111260780 B CN111260780 B CN 111260780B
- Authority
- CN
- China
- Prior art keywords
- terrain
- area
- elevation
- discrete position
- data
- 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
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
Abstract
一种基于高度图高程的实时地形修改方法,包括在地形上选取任意的多边形区域,求出多边形区域的包围矩形为并更新该矩形区域的地形瓦片;当需要更新绘制的地形瓦片与多边形区域的包围矩形区域相交时,将height map中的像素位置依次映射得到与多边形区域同坐标系下的离散位置点,当该点的位置在多边形区域外时,计算该点到多边形区域的每条边的距离,选出距离该点最近的一条边;获取该点的高度值以及最近边的高度值,进行高度值融合,求出该点新的高程值,直至完成地形的实时修改。本发明能够根据需求实时修改三维场景中地形、避免每次修改地形后都需要花费大量时间重新制作地形数据以及可提升三维地形的展示效果和可编辑性。
Description
技术领域
本发明属于地理信息技术领域,涉及一种实时地形修改方法,尤其涉及一种基于高度图高程的实时地形修改方法。
背景技术
高度图(Height map)是一种表示网格高度的栅格图片,图片中的每个像素点存储了一个高程数据,被广泛应用于地理信息系统,常用于存储地形数据,也被称为数字高程模型(digital elevation models,DEM)。目前三维地形渲染一般都是基于高度图(heightmap)实现的,渲染流程如下:首先CPU会将height map的数据读取到内存中并进行解析,然后再将解析好的数据交给GPU,最后GPU会将其转换成三维网格(3D mesh)后进行渲染。
当地形数据较为固定时,该地形渲染流程可以较好的完成地形展示工作。但是当地形数据需要频繁改动时,该方法就不太适用了。目前针对地形修改的常见方法是先更新地形数据,然后再重新制作不同层级的heightmap瓦片集合,最后再通过上述的流程进行地形渲染。但在实际使用过程中存在这样一些问题,如:不能实时修改地形,无法根据需求快速渲染出所需的地形;更新并制作地形数据费时费力,而且为了达到合适的效果还可能需要反复多次修改制作。因此亟需一种可以实时修改三维场景中地形的方法。
发明内容
为了解决背景技术中存在的上述技术问题,本发明提供了一种能够根据需求实时修改三维场景中地形、避免每次修改地形后都需要花费大量时间重新制作地形数据以及可提升三维地形的展示效果和可编辑性的基于高度图高程的实时地形修改方法。
为了实现上述目的,本发明采用如下技术方案:
一种基于高度图高程的实时地形修改方法,其特征在于:所述基于高度图高程的实时地形修改方法包括以下步骤:
1)在地形上选取任意的多边形区域P,求出多边形区域P的包围矩形为R并更新该矩形区域的地形瓦片;
2)判断当前需要更新绘制的地形瓦片是否与多边形区域P的包围矩形区域R相交,若未相交,则不进行任何处理;若存在相交区域,则进行步骤3);
3)读取当前地形瓦片的height map数据,将height map中的像素位置依次映射得到与多边形区域P同坐标系下的离散位置点,依次遍历这些离散位置点,如果离散位置点的位置位于多边形区域P内,则将离散位置点的数据修改为期望的数据;如果离散位置点的位置在多边形区域P外,则进行步骤4);
4)计算离散位置点到多边形区域P的每条边的距离,选出距离离散位置点最近的一条边,记为L;
5)获取离散位置点的高度值h1以及最近边L的高度值h2,再根据该离散位置点距离L的距离d,以及过渡区域的宽度w,进行高度值融合,求出该离散位置点新的高程值h;
6)重复步骤2)到5)直至完成地形的实时修改。
上述步骤5)中离散位置点新的高程值h的具体求解方式是:
h=h2×(1-λ)+h1×λ
其中:
λ=d/w,λ∈[0,1];
d是离散位置点距离L的距离;
w是过渡区域的宽度;
h1是离散位置点的高度值;
h2是最近边L的高度值。
一种用于实现如前所述的基于高度图高程的实时地形修改方法的操作系统,其特征在于:所述操作系统包括:
区域绘制模块:用于绘制多边形区域并提取多边形的范围数据;
区域相交判断模块:用于判断当前瓦片范围与绘制区域是否可能存在相交区域;
高程数据填充模块:用于修改多边形绘制区域内的地形数据;
高程数据缓冲模块:用于多边形绘制区域和原始地形区域之间过渡;
所述区域绘制模块通过区域相交判断模块以及高程数据填充模块与高程数据缓冲模块相连。
本发明的优点是:
本发明提供了一种基于高度图高程的实时地形修改方法,在地形上选取任意的多边形区域P,求出多边形区域P的包围矩形为R并更新该矩形区域的地形瓦片;判断当前需要更新绘制的地形瓦片是否与多边形区域P的包围矩形区域R相交,若未相交,则不进行任何处理;若存在相交区域,则进行下个步骤;读取当前地形瓦片的height map数据,将heightmap中的像素位置依次映射得到与多边形区域P同坐标系下的离散位置点,依次遍历这些离散位置点,如果离散位置点的位置位于多边形区域P内,则将离散位置点的数据修改为期望的数据;如果离散位置点的位置在多边形区域P外,则进行下个步骤;计算离散位置点到多边形区域P的每条边的距离,选出距离离散位置点最近的一条边,记为L;获取离散位置点的高度值h1以及最近边L的高度值h2,再根据该离散位置点距离L的距离d,以及过渡区域的宽度w,进行高度值融合,求出该离散位置点新的高程值h;重复前述步骤直至完成地形的实时修改。本发明提出了一种实时修改基于heightmap的地形的方法,该方法能够根据需求实时修改三维场景中地形,避免了每次修改地形后都需要花费大量时间重新制作地形数据,提升了三维地形的展示效果和可编辑性。
附图说明
图1是本发明所提供的修改系统的结构框图。
具体实施方式
本发明提供了一种基于高度图高程的实时地形修改方法,该方法包括以下步骤:
1)在地形上选取任意的多边形区域P,然后求出该区域的包围矩形为R并更新该矩形区域的地形瓦片;
2)判断当前需要更新绘制的地形瓦片是否与多边形P的包围矩形区域R相交,若未相交,则不进行任何处理,若存在相交区域,则进行下一步操作;
3)读取当前瓦片的heightmap数据,将heightmap中的像素位置依次映射得到与P同坐标系下的离散位置点,然后依次遍历这些位置点,如果该点的位置位于P内,则将该点的数据修改为我们期望的数据,如果该点在P外,则进行下一步操作
4)计算该点到多边形P的每条边的距离,选出距离该点最近的一条边,记为L;
5)获取该点的高度值h1以及最近边L的高度值h2,然后再根据该点距离L的距离d,以及过渡区域的宽度w,进行高度值融合,求出该点新的高程值h=h2×(1-λ)+h1×λ,其中λ=d/w,λ∈[0,1];
6)重复步骤2)到5),即可完成地形的实时修改。
本发明在提供如上所记载的基于高度图高程的实时地形修改方法的同时,还提供了一种用于实现该方法的操作系统,参见图1,该操作系统包括:
区域绘制模块:用于绘制多边形区域,并提取多边形的范围数据。
相交判断模块:用于判断当前瓦片范围与绘制区域是否可能存在相交区域,可以减少无效的运算,提高运行效率。
高程数据填充模块:用于修改多边形绘制区域内的地形数据。
高程数据缓冲模块:用于多边形绘制区域和原始地形区域之间过渡,起到平滑地形的作用。
Claims (2)
1.一种基于高度图高程的实时地形修改方法,其特征在于:所述基于高度图高程的实时地形修改方法包括以下步骤:
1)在地形上选取任意的多边形区域P,求出多边形区域P的包围矩形为R并更新该矩形区域的地形瓦片;
2)判断当前需要更新绘制的地形瓦片是否与多边形区域P的包围矩形区域R相交,若未相交,则不进行任何处理;若存在相交区域,则进行步骤3);
3)读取当前地形瓦片的height map数据,将height map中的像素位置依次映射得到与多边形区域P同坐标系下的离散位置点,依次遍历这些离散位置点,如果离散位置点的位置位于多边形区域P内,则将离散位置点的数据修改为期望的数据;如果离散位置点的位置在多边形区域P外,则进行步骤4);
4)计算离散位置点到多边形区域P的每条边的距离,选出距离离散位置点最近的一条边,记为L;
5)获取离散位置点的高度值h1以及最近边L的高度值h2,再根据该离散位置点距离L的距离d,以及过渡区域的宽度w,进行高度值融合,求出该离散位置点新的高程值h;
离散位置点新的高程值h的具体求解方式是:
h=h2×(1-λ)+h1×λ
其中:
λ=d/w,λ∈[0,1];
d是离散位置点距离L的距离;
w是过渡区域的宽度;
h1是离散位置点的高度值;
h2是最近边L的高度值;
6)重复步骤2)到5)直至完成地形的实时修改。
2.一种用于实现如权利要求1所述的基于高度图高程的实时地形修改方法的操作系统,其特征在于:所述操作系统包括:
区域绘制模块:用于绘制多边形区域并提取多边形的范围数据;
区域相交判断模块:用于判断当前瓦片范围与绘制区域是否可能存在相交区域;
高程数据填充模块:用于修改多边形绘制区域内的地形数据;
高程数据缓冲模块:用于多边形绘制区域和原始地形区域之间过渡;
所述区域绘制模块通过区域相交判断模块以及高程数据填充模块与高程数据缓冲模块相连。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010033773.5A CN111260780B (zh) | 2020-01-13 | 2020-01-13 | 基于高度图高程的实时地形修改方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010033773.5A CN111260780B (zh) | 2020-01-13 | 2020-01-13 | 基于高度图高程的实时地形修改方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111260780A CN111260780A (zh) | 2020-06-09 |
CN111260780B true CN111260780B (zh) | 2021-04-16 |
Family
ID=70950400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010033773.5A Active CN111260780B (zh) | 2020-01-13 | 2020-01-13 | 基于高度图高程的实时地形修改方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111260780B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112348781A (zh) * | 2020-10-26 | 2021-02-09 | 广东博智林机器人有限公司 | 一种基准面高度检测方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7113184B2 (en) * | 2004-06-24 | 2006-09-26 | International Business Machines Corporation | System and method for blending data sampling techniques |
CN101694726A (zh) * | 2009-10-20 | 2010-04-14 | 北京航空航天大学 | 一种基于多源地形数据的融合与绘制方法 |
CN105184837A (zh) * | 2015-08-31 | 2015-12-23 | 武汉云空间地理信息技术有限公司 | 一种矢量多边形栅格化的算法及系统 |
CN105701760A (zh) * | 2016-01-12 | 2016-06-22 | 中国人民解放军国防科学技术大学 | 一种地理栅格数据任选多边形区域的直方图实时生成方法 |
CN107292960A (zh) * | 2017-06-30 | 2017-10-24 | 浙江科澜信息技术有限公司 | 一种三维场景中大规模地形渲染的局部刷新方法 |
CN109215123A (zh) * | 2018-09-20 | 2019-01-15 | 电子科技大学 | 基于cGAN的无限地形生成方法、系统、存储介质和终端 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425754B (zh) * | 2013-07-24 | 2016-06-08 | 浙江大学 | 适用于用户在线编辑的瓦片式地图服务缓存实时动态更新方法 |
CN107193923B (zh) * | 2017-05-16 | 2021-01-29 | 中国科学院遥感与数字地球研究所 | 一种二维地理空间快速矢量叠加的方法及系统 |
-
2020
- 2020-01-13 CN CN202010033773.5A patent/CN111260780B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7113184B2 (en) * | 2004-06-24 | 2006-09-26 | International Business Machines Corporation | System and method for blending data sampling techniques |
CN101694726A (zh) * | 2009-10-20 | 2010-04-14 | 北京航空航天大学 | 一种基于多源地形数据的融合与绘制方法 |
CN105184837A (zh) * | 2015-08-31 | 2015-12-23 | 武汉云空间地理信息技术有限公司 | 一种矢量多边形栅格化的算法及系统 |
CN105701760A (zh) * | 2016-01-12 | 2016-06-22 | 中国人民解放军国防科学技术大学 | 一种地理栅格数据任选多边形区域的直方图实时生成方法 |
CN107292960A (zh) * | 2017-06-30 | 2017-10-24 | 浙江科澜信息技术有限公司 | 一种三维场景中大规模地形渲染的局部刷新方法 |
CN109215123A (zh) * | 2018-09-20 | 2019-01-15 | 电子科技大学 | 基于cGAN的无限地形生成方法、系统、存储介质和终端 |
Non-Patent Citations (1)
Title |
---|
"WebGIS多级瓦片数据更新机制研究";穆星;《万方数据库》;20190816;第3章 * |
Also Published As
Publication number | Publication date |
---|---|
CN111260780A (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2282245B9 (en) | Cutting process simulation display device, method for displaying cutting process simulation, and cutting process simulation display program | |
WO2006080115A1 (ja) | 描画方法、画像生成装置、および電子情報機器 | |
JP2001501349A (ja) | 3dグラフィックスにおける属性補間のための方法及び装置 | |
CA2875426C (en) | Resizing an image | |
CN112307553B (zh) | 一种对三维道路模型进行提取与简化的方法 | |
CN109118588B (zh) | 一种基于块分解的彩色lod模型自动生成方法 | |
CN111047682B (zh) | 一种三维车道模型生成方法及系统 | |
KR20150124112A (ko) | 3차원 지형 영상 가시화에서의 적응형 렌더링 방법 | |
CN111260780B (zh) | 基于高度图高程的实时地形修改方法 | |
CN114708414A (zh) | 一种工程三维地形数据切割融合方法与系统 | |
JP6294700B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2837584B2 (ja) | 地形データの作成方法 | |
CN115546027B (zh) | 图像缝合线确定方法、装置以及存储介质 | |
CN108986212B (zh) | 一种基于裂缝消除的三维虚拟地形lod模型的生成方法 | |
JP2000348206A (ja) | 画像生成装置および画像優先度決定方法 | |
US7646385B2 (en) | Computer graphics rendering method and apparatus | |
CN106780693B (zh) | 一种通过绘制方式选择三维场景中物体的方法及系统 | |
CN111932566B (zh) | 一种模型轮廓图生成方法、装置和系统 | |
CN114741188A (zh) | 图形元素处理方法、装置、电子设备及存储介质 | |
CN113808243A (zh) | 一种可形变雪地网格的绘制方法和装置 | |
US7372466B2 (en) | Image processing apparatus and method of same | |
JPH09106453A (ja) | 画像の変形方法 | |
JP5504142B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
CN117372246B (zh) | 一种基于滤波算法的倾斜摄影三维模型局部压平方法 | |
Hoppe et al. | Adaptive meshing and detail-reduction of 3D-point clouds from laser scans |
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 |