一种基于OSG的沟道流域整治规划仿真方法及系统与流程

文档序号:15118093发布日期:2018-08-07 22:01阅读:254来源:国知局

本发明属于农业规划仿真领域,具体涉及一种基于OSG的沟道流域整治规划仿真方法及系统。



背景技术:

沟道流域整治工程是土地整理的一种重要形式,是新增耕地及耕地占补平衡的有效手段,也是防洪减沙、保持水土的重要农田水利措施。由于自然条件、用地现状和社会经济发展水平等因素的综合影响,沟道整治工程建设的投入和风险也不一样,如何规避整治工程的高风险并促进土地可持续利用,进行科学地规划、制定可行的沟道流域整治适宜性方案是至关重要的。

近年来,随着计算机图形处理能力和三维可视化仿真技术的发展,复杂自然现象和物体的实时真实感建模技术取得了很大的进展,为流域管理、规划和防洪减灾提供更为直观的决策支持,对流域三维可视化仿真的需求越来越突出。

现有的流域场景仿真主要是针对流域洪水淹没演进过程进行模拟,对洪水现象和规律进行分析研究,有效地辅助了防洪决策。而沟道流域整治工程贯穿了“以沟道小流域为基本单元,沟、坪、梁、峁、坡综合治理,植物措施、工程措施、耕作措施科学配置”的主线,因此,在沟道流域整治过程中需要将坡/沟地貌特征因素、土壤分层特征因素(土壤按年代沉积呈现分层特征,不同层的土壤侵蚀性不一样,其稳定性也不一样,整治过程需要考虑土壤的稳定性)和地形起伏变化特征因素共同结合起来,才能完整反映沟道流域的自然条件,尤其对地形起伏比较大、变化规律性差的地貌需要进行土地平整设计。

而目前的沟道流域在整治过程中整治专家需要掌握ARCGIS专业软件对地貌特征进行提取的方法,但每次提取操作只能获得一种类型的地貌特征,并以面状区域呈现出来,还需要人工去辨识;在沟道土地平整设计中整治专家还需再采用南方CASS等专业软件人为设计填土高度去计算土方量,无法将地貌特征结合到土地平整设计中。

因此现有流域三维仿真无法满足沟道流域整治规划可视化辅助决策的需求。



技术实现要素:

本发明的目的在于提供一种基于OSG(OpenSceneGraph)的沟道流域整治规划仿真方法及系统,利用OSG强大的三维渲染能力,构建基于数字高程模型的三维沟道流域地形模型,对沟道流域地貌特征提取、直观模拟与剖面分析,通过DEM计算的土方量进行土地平整渲染,为土地整治领域专家提供一个直观、逼真的沟道流域自然地形场景,提高认知效果,通过添加多种农作物模型、基本农田模型和工程设施的三维地物模型,实现支持“植物措施、工程措施、耕作措施科学配置”的动态交互设计过程,为决策者科学整治沟道流域工程提供辅助决策支持。

为了实现上述目标,本发明采用的技术方案:

一种基于OSG的沟道流域整治规划仿真方法,其特征在于,包括以下步骤:

步骤1)、构建基于数字高程模型DEM的沟道流域三维地形模型;

步骤2)、对所构建的沟道流域三维地形模型根据DEM数据对沟道流域土壤地貌分层特征进行提取、识别以及分层着色渲染;

步骤3)、对所构建的沟道流域三维地形模型根据DEM数据对地貌发展的地貌特征线——沟沿线和坡脚线进行提取、识别与着色渲染;

步骤4)、对所构建的沟道流域三维地形模型根据DEM数据进行地形二维剖面的动态提取和实时绘制;

步骤5)、对所构建的沟道流域三维地形模型根据DEM数据进行三维横剖面的动态提取和渲染;

步骤6)、对所构建的沟道流域三维地形模型根据DEM数据进行土方量计算和土地平整的模拟渲染;

步骤7)、根据沟道流域的地形地貌,建立适合规模种植的多种农作物和植物模型、基本农田耕作模型和工程设施模型;

步骤8)、将步骤7所建立的多种模型加载到所构建的沟道流域三维地形模型的指定位置中。

进一步地,所述方法还包括:对步骤1所建立的沟道流域三维地形模型进行平滑处理。

进一步地,所述步骤1)包括:获取DWG格式数据的地形数据,并将原始的DWG格式数据利用ARCGIS的栅格插值方法生成DEM数据;

对DEM数据进行分割、采样导出分块地形的DEM数据并转换成跨平台可读的txt文本文件,根据DEM的行数和列数,创建大小为行列乘积的像素图片,使用像素图片中的像素灰度值存储地形DEM数据的高程值,利用OSG的几何体对象自定义场景创建方法建立沟道流域的三维地形模型。

进一步地,所述步骤8)包括:利用自定义射线检测交点的方法将模型加载到所构建的沟道流域三维地形模型中。

进一步地,所述步骤3)包括:

3.1)定义一个顶点信息结构体数组,用于存储DEM数据高程值及后续计算所得的参数值;

3.2)根据顶点信息结构体数组中存储的高程点分别计算每个点的坡度、坡度变化率,遍历坡度变化率,找出坡度变化率局部最大点,计算每个点所在位置是正地形还是负地形,

3.3)遍历所有点的坡度,将坡度小于预定阈值的点置为非沟沿线或非坡脚线点;对坡度大于预定阈值的点,将其所在正地形的点确定为沟沿线点,负地形的点确定为坡脚线点,

3.4)对沟沿线、坡脚线形成的宽带部位进行细化处理,最终形成只有一个网格宽度的沟沿线、坡脚线;

3.5)对沟沿线、坡脚线所在位置顶点进行提取并遍历所有DEM高程点,若为沟沿线点则将数据压入沟沿线几何体对象顶点数组中,若为坡脚线点则将数据压入坡脚线几何体对象顶点数组中,再将两个几何体对象加入到相应的结点,利用OSG几何体对象自定义绘制方法对识别的沟沿线和坡脚线进行着色渲染。

进一步地,所述步骤4)包括:

鼠标点击沟道流域三维地形模型场景中任意位置,采用自定义射线检测交点的方法将获取到的交点的屏幕二维坐标进行三维坐标转换和逆向变换得到该交点的原始三维坐标,遍历与该交点X坐标值相同的所有DEM数据,提取这些DEM数据的Y坐标和Z坐标(高程)以及坡度值,通过自定义缩放比例方法的计算绘制在二维地形剖面示意窗口。

进一步地,所述步骤5)包括:

鼠标点击沟道流域三维地形模型场景中任意位置,采用自定义射线检测交点的方法将获取到的交点的屏幕二维坐标进行三维坐标转换得到该交点的三维坐标,遍历所有DEM数据高程值,提取与该交点的Y坐标在预定值内的高程点,利用OSG几何体对象自定义绘制方法对提取的高程点进行着色渲染得到三维横剖面。

进一步地,所述步骤6)包括:

对步骤4获得的坡脚线点集求得土方量的平均标高,将沟道流域三维地形模型中的DEM的高程值全部设为平均标高,利用OSG的几何体对象自定义土方渲染方法完成填土方的渲染。

进一步地,所述步骤2)包括:

根据不同土壤层按年代沉积的分布获取沟道流域不同土壤层的DEM分层区间,利用OSG的顶点着色器和片元着色器自定义分层渲染方法完成对土壤地貌分层特征的提取和分层着色渲染。

另一方面,本发明提供一种用于执行所述方法的基于OSG的沟道流域整治规划仿真系统,其特征在于,所述系统包括:仿真模块、模型构建模块、数据存储模块,数据存储模块用于存储基础数据;模型构建模块用于构建各类农作物、植物以及农田、工程设施模型;所述仿真模块用于对三维地形模型的地貌特征、土壤地貌分层特征和地形剖面、土方量进行提取、识别与计算并通过OSG引擎进行仿真渲染。在本发明的上述技术方案中,通过平滑处理,可以消除因个别数据引起的地形突兀,使得地形信息更准确。

本发明借助于虚拟现实技术,对需整治的沟道小流域土壤地貌分层与地貌发展的重要地貌特征进行提取、直观模拟与地形剖面分析,通过DEM计算的土方量进行土地平整渲染,实现集植物措施、工程措施和耕作措施于一体的沟道流域整治规划过程中进行人机动态交互的协同设计,对科学制定沟道流域整治适宜性方案提供一种可视化仿真的决策支持方法。

本发明独特之处在于能同时且自动提取坡/沟地貌特征、土壤分层特征和地形起伏变化特征,并根据地貌特征计算土地平整设计的土方量,最后将坡/沟地貌特征、土壤分层特征、地形起伏变化特征(剖面)和土地平整过程进行三维可视化仿真,提供直观的决策支持。

附图说明

图1为本发明提供的基于OSG的沟道流域整治规划仿真方法的流程示意图;

图2为本发明方法中地貌特征线—沟沿线、坡脚线的提取、识别与仿真渲染的流程示意图;

图3为本发明方法中通过射线检测交点方法将鼠标在屏幕的位置坐标转换为仿真场景对应的三维坐标的流程示意图;

图4为本发明提供的基于OSG的沟道流域整治规划仿真系统的结构示意图。

具体实施方式

现结合附图对本发明的技术方案进行详细说明。

实施例1

在本实施例中介绍基于OSG的沟道流域整治规划仿真方法。

如图1所示,该方法包括以下九个步骤。

1、建立沟道小流域的三维地形模型,具体为:

本实施例中,构建三维地形模型所采用的原始数据为CAD数据,但是CAD数据在三维模拟时不够形象逼真,因此本发明对其进行了加工。首先,使用ArcGIS的栅格插值方法对CAD原始的DWG格式地形图进行分割、采样并生成数字高程模型(DEM,即Digital Elevation Model)数据,导出分块地形的DEM数据以dbf格式进行保存,将dbf格式数据文件转换成跨平台可读的txt格式文件,从txt文件获取分块地形的DEM数据的行数和列数;

其次,定义可视化场景中三维地形模型的大小(为原始高程数据x、y、z各个方向上区间的大小),按比例缩小各顶点高程值(通过原高程值最大最小值,得到单位高程值在场景中的大小),创建像素图片,像素中按规则格网数据对应的行列存储缩小后的各高程值,新建2D纹理属性对象,将像素图片关联到该纹理属性对象中;建立几何体对象,设置顶点数组,顶点数组存储各顶点的行、列坐标,即二维坐标,设置顶点的关联方式为几何图元的GL_QUAD_STRIP类型;利用顶点着色器设置2D纹理属性对象的纹理坐标,按该纹理坐标对2D纹理属性对象进行采样,将采样得到的高程值赋值给顶点位置的Z坐标,将顶点着色器关联到相应的stateset(状态集),

最后,将stateset和几何体对象关联到可视化场景的同一个叶结点上,使用OSG引擎生成黄土丘陵沟壑区的三维地形模型。

2、对沟道小流域的三维地形模型进行平滑处理,具体为:

使用3×3空间均值滤波器遍历像素图像中存储的高程数据,以一个高程值为中心点,对以中心点为中心的三行三列共9个高程值求平均值,再把平均值赋值给这9个点,对像素图像按行、列,从左到右、从上到下进行遍历依次进行求平均值操作,从而达到对每个高程地形坐标点的平滑处理,从而消除因个别数据引起的地形突兀(或尖刺)。

3、对沟道流域三维地形模型根据DEM数据对沟道流域土壤地貌分层特征进行提取、识别与分层着色渲染,具体为:

以黄土高原黄土地貌为例,获取沟道流域不同黄土的DEM分层区间,根据划分形成的层次区间,利用顶点着色器定义不同分层的颜色值,颜色类型定义为可变类型,利用片元着色器中对顶点高程坐标进行判断,将颜色传入片元着色器,使落在不同层次区间的顶点渲染不同的颜色,完成对土壤地貌分层特征进行提取与分层着色渲染。

4、对沟道流域三维地形模型根据DEM数据对地貌发展的重要地貌特征线——沟沿线和坡脚线进行提取、识别与着色渲染。

如图2所示,该步骤的具体过程为:

(1)定义一个顶点信息结构体数组,用于存储DEM数据高程值及后续计算所得的正负、坡度、坡度变化率、局部最大点、沟坡等,完成沟沿线、坡脚线点提取前DEM高程数据的处理;

顶点信息结构体可定义如下:

(2)根据结构体中存储的高程点分别计算每个点的坡度、坡度变化率,遍历坡度变化率,找出坡度变化率局部最大点,计算每个点所在位置是正还是负地形,

(3)根据沟沿线和坡脚线地貌特征分析,沟沿线与坡脚线附近有一个坡度范围,设定坡度小于某一阈值,遍历所有点的坡度,将坡度小于阈值的点置为非沟沿线或非坡脚线,即“channel”置为0,对坡度大于预定阈值的点根据其所在正(或负)地形确定是沟沿线点(或坡脚线点);

(4)获取的沟沿线、坡脚线点在局部位置上构成了沟沿线和坡脚线的宽带(前面步骤获取的沟沿线和坡脚线有伪点(形成宽带),所以再用细化算法进行去伪),用改进的Hilditch细化算法对沟沿线、坡脚线形成的宽带部位进行细化处理,最终形成只有一个网格宽度的特征点,

(5)对沟沿线、坡脚线所在位置顶点进行提取并遍历所有DEM高程点,若为沟沿线点则将数据压入沟沿线几何体对象顶点数组中,若为坡脚线点则将数据压入坡脚线几何体对象顶点数组中,再将两个几何体对象加入到相应的结点,调用OSG对几何体对象绘制函数对识别的沟沿线和坡脚线进行着色渲染。

5、鼠标点击步骤1所建立的沟道流域三维地形模型场景中的任意位置,采用自定义射线检测交点的方法将获取到的交点屏幕二维坐标进行三维坐标转换得到该交点的三维坐标,将获取到的屏幕坐标进行三维坐标转换和逆向矩阵变换得到原始DEM数据(模型中三维坐标是经过变换的,要真实对地形剖面绘制,必须获取到原始的DEM数据),根据原始DEM数据进行地形二维剖面数据的动态提取、实时绘制。遍历所有DEM数据高程值,提取与该交点的Y坐标在某个值内(格网间距的一半)的高程点,利用OSG几何体对象自定义绘制方法对提取的高程点进行着色渲染得到三维横剖面(三维横剖面是在三维地形模型中的提取与显示,所以不需要获取原始的DEM数据)。

其中,格网间距一半指的是:通过屏幕坐标获取模型上三维坐标时,坐标可能在DEM数据点与点之间,通过这种方法可以得到邻近的DEM点。

6、鼠标点击步骤1所建立的沟道流域三维地形模型场景中的任意位置,将获取到的屏幕坐标进行三维坐标转换得到DEM数据,根据DEM数据进行三维横剖面数据的提取、渲染,

7、对步骤1所构建的沟道流域三维地形模型根据DEM数据进行土方量计算和土地平整的模拟渲染(具体计算方法为:求设计平面和三维模型之间相夹的部分的体积,即将DEM数据的每个点看成一个正方形,土方量的计算就是计算各个点处正方体的体积之和。各点处体积的计算为,正方形的面积乘以平均标高(设计平面高度)与模型中高程点的高度之差,最后累积,分别得到填、挖方量);

8、利用3DSmax和PhotoShop等建模软件建立适合沟道流域土地适宜性的多种农作物模型、基本农田模型和集水窖工程设施模型,并以osg格式导出,避免因为模型面数较多而在osgEXP转换时失去纹理(采用其他格式如ive格式有可能失去纹理)。

9、如图3所示,利用自定义射线检测交点的方法将步骤7的多种模型通过人机交互方式加载到上述步骤所建立的场景模型的随意指定位置中,实现支持“植物措施、工程措施、耕作措施科学配置”的人机协同整治设计决策过程,具体为:

将鼠标移动到需要加载模型的位置,在鼠标箭头移动到屏幕所在位置处设置一条垂直于屏幕的射线,通过自定义mousePointVec函数实时捕获此射线相交于三维模型场景的交点,从而将鼠标在屏幕位置的二维坐标转换为三维场景中对应的三维场景坐标,获取三维坐标,定义矩阵对象设置模型的位置和大小,根据模型大小和坐标点的反比例关系调整模型坐标,最后将处理后的模型通过矩阵转换方法加入到三维场景指定位置中。

实施例2

在本实施例中,本发明提供一种用于执行上述方法的系统。如图4所示,本发明利用跨平台C++图形用户界面库QT进行系统集成,实现实时交互操作、动态裁剪和渲染。该系统具体包括:功能层、模型层、数据层。其中,数据层存储基础数据,包括:数字高程模型数据、地貌特征数据和地形剖面分析的计算结果以及模型数据;模型层存储建模软件所创建的各类农作物、植物以及农田、工程设施模型;功能层是仿真系统的核心模块,对三维地形模型的地貌特征等提取、识别与计算并通过OSG引擎进行渲染。

本发明未公开的部分属于本领域的公共常识。

本发明巧妙地将CAD的地形数据、通过ARCGIS转换成数字高程数据(DEM数据),并生成三维地形模型,利用3DMAX技术进行多种农作物和植物等模型的建模,利用OSG技术进行仿真模拟,既保证了地形模拟的真实可视性,又能够在模拟过程中进行规划的仿真,使用方便,效果逼真,是现有技术所无法达到的。本发明巧妙地将几种不同的图形图像处理技术和仿真技术结合起来,应用于农业规划领域中,突破了原有ARCGIS技术的限制,仿真更加真实,为决策者提供更好地决策支持。

虽然上面结合本发明的优选实施例对本发明的原理进行了详细的描述,本领域技术人员应该理解,上述实施例仅仅是对本发明的示意性实现方式的解释,并非对本发明包含范围的限定。实施例中的细节并不构成对本发明范围的限制,在不背离本发明的精神和范围的情况下,任何基于本发明技术方案的等效变换、简单替换等显而易见的改变,均落在本发明保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1