著录项信息
专利名称 | 集成二、三维平台的管线数据同步及联动方法 |
申请号 | CN201410295916.4 | 申请日期 | 2014-06-27 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2014-10-08 | 公开/公告号 | CN104090827A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F9/52 | IPC分类号 | G;0;6;F;9;/;5;2;;;G;0;6;F;9;/;5;4查看分类表>
|
申请人 | 西安煤航信息产业有限公司 | 申请人地址 | 陕西省西安市航天基地神舟四路216号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中煤航测遥感集团有限公司 | 当前权利人 | 中煤航测遥感集团有限公司 |
发明人 | 王晓东;郑文青;张弓;车登科;江彬 |
代理机构 | 西安新思维专利商标事务所有限公司 | 代理人 | 李罡 |
摘要
本发明涉及一种集成二、三维平台的管线数据同步及联动方法。二维和三维地理信息系统平台相互独立,难以进行很好的通讯。本发明构建了统一的集成二、三维平台的应用系统框架,通过分屏实现二维模块与三维模块的对比显示,并通过二维模块向三维模块发送视图联动消息和数据实现二维视图变化后三维视图随之变化、通过管线数据同步时需要发送的消息实现二维视图内管线数据更新后三维视图同步更新、通过三维模块向二维模块发送视图联动消息和数据实现三维视图变化后二维视图随之变化。本发明解决了二三维视图的平移、旋转、缩放的联动问题,并实现了管线数据在二三维模块中的同步。
1.集成二、三维平台的管线数据同步及联动方法,其特征在于:
由以下步骤实现:
步骤一:构建一个集成二、三维平台的应用系统框架,在该应用系统框架中设置一个二维模块和一个三维模块,并分屏对比显示;
在二维模块中实现视图刷新事件的捕捉,可将视图刷新前后视图的范围、比例尺、旋转角度的变化消息发送给三维模块;并设置添加管点、移动管点、删除管点、添加管段、删除管段、属性修改的功能模块,可将修改后的消息发送给三维模块;
在三维模块中实现三维视图移动、旋转、缩放事件的捕捉,可获取相机高度、旋转角度、相机中心点坐标三个参数,计算出二维视图的中心点坐标、二维视图的显示比例尺,并将该消息发送给应用系统框架;应用系统框架通过回调函数捕获该消息,在消息处理函数中设置二维视图的中心点坐标、比例尺和旋转角度,并重新绘制二维视图;
步骤二:在二维模块和三维模块中分别捕获其视图绘制事件;
当二维视图刷新事件被捕获后,判断该视图是否进行了平移或旋转,当发生平移或旋转时,则向三维模块中发送二维视图的比例尺、旋转角度、以及视图中心点坐标数据;三维模块收到数据后,把其转换成为摄像机高度、旋转角度以及摄像机视域中心点,然后刷新三维视图,从而完成二维向三维的视图联动;
当三维视图刷新事件被捕获后,判断摄像机是否进行了平移或旋转,当发生平移或旋转时,则根据摄像机的高度、旋转角度、以及视图中心点换算成为二维视图的比例尺、旋转角度和视图中心点,并向二维模块中发送这些数据,应用系统框架的回调函数捕获到数据后,对二维视图进行设置和刷新,从而完成三维向二维的视图联动;
基于管点与管段存在的拓扑关系,移动管点时与之相连的管段亦随之移动;
步骤三:当在二维模块中添加管点、移动管点、删除管点、添加管段、删除管段、编辑管点属性、编辑管段属性后,向三维模块发送管点或管段更改后的数据,包括修改后管线要素的图形及属性数据,当三维模块收到这些数据后,对三维视图中的相应数据进行更改,从而完成管线数据的同步。
集成二、三维平台的管线数据同步及联动方法\n技术领域\n[0001] 本发明属于地理信息平台技术领域,具体涉及一种集成二、三维平台的管线数据同步及联动方法。\n背景技术\n[0002] 近年来,图形硬件设备和图形学算法的迅猛发展有力地推动了空间信息可视化技术的发展,人们已经初步实现了对地理环境的真实仿真,这种仿真能够较好地重现现实景观。城市三维可视化系统的研究在城市信息化领域的发展非常迅速,其具有代表性的研究成果即是人们比较熟悉的数字城市模型,国内外在这一方面已经有一系列具有代表性的成果,在城市景观模拟、城市发展规划、城市管网、数据可视化等方面有着广泛的应用。\n[0003] 在三维地理信息系统技术快速发展的同时,传统的二维地理信息系统技术并没有退出历史舞台,由于其数据的概括性高、空间分析算法成熟,二维地理信息系统技术依然有着强大的生命力。在现实需求中,技术人员既需要二维平台中的数据的高度概括性及应用的便捷性,又需要三维平台中真实性和直观性,因此二三维一体化软件成为当前地理信息技术发展的主流方向之一。\n[0004] 然而,当前的技术现实是,二维地理信息系统平台和三维地理信息系统平台往往是两个相互独立的软件平台,或者是两个相互独立的两个模块,二维模块和三维模块难以进行很好的通讯,造成二三维一体化软件平台中的以下问题:\n[0005] 1、二维视图与三维视图要么不能联动,要么在联动时只能平移、不能旋转;\n[0006] 2、二维管线数据在发生改变时,三维管线数据不能随之发生变化;\n[0007] 随着国民经济的快速发展和社会信息化水平越来越高,集成二、三维软件平台的地理信息系统应用软件将有着广泛的应用,因此有必要提出一种二三维一体化软件中二维模块与三维模块视图联动及管线数据同步的方法。\n发明内容\n[0008] 本发明的目的是提供一种集成二、三维平台的管线数据同步及联动方法,令二维模块与三维模块之间可有效通讯,实现二维模块与三维模块视图的平移联动和旋转联动,以及管线数据在两模块间的同步。\n[0009] 本发明所采用的技术方案是:\n[0010] 集成二、三维平台的管线数据同步及联动方法,其特征在于:\n[0011] 由以下步骤实现:\n[0012] 步骤一:构建一个集成二、三维平台的应用系统框架,在该应用系统框架中设置一个二维模块和一个三维模块,并分屏对比显示;\n[0013] 在二维模块中实现视图刷新事件的捕捉,可将视图刷新前后视图的范围、比例尺、旋转角度的变化消息发送给三维模块;并设置添加管点、移动管点、删除管点、添加管段、删除管段、属性修改的功能模块,可将修改后的消息发送给三维模块;\n[0014] 在三维模块中实现三维视图移动、旋转、缩放事件的捕捉,可获取相机高度、旋转角度、相机中心点坐标三个参数,计算出二维视图的中心点坐标、二维视图的显示比例尺,并将该消息发送给应用系统框架;应用系统框架通过回调函数捕获该消息,在消息处理函数中设置二维视图的中心点坐标、比例尺和旋转角度,并重新绘制二维视图;\n[0015] 步骤二:在二维模块和三维模块中分别捕获其视图绘制事件;\n[0016] 当二维视图刷新事件被捕获后,判断该视图是否进行了平移或旋转,当发生平移或旋转时,则向三维模块中发送二维视图的比例尺、旋转角度、以及视图中心点坐标数据;\n三维模块收到数据后,把其转换成为摄像机高度、旋转角度以及摄像机视域中心点,然后刷新三维视图,从而完成二维向三维的视图联动;\n[0017] 当三维视图刷新事件被捕获后,判断摄像机是否进行了平移或旋转,当发生平移或旋转时,则根据摄像机的高度、旋转角度、以及视图中心点换算成为二维视图的比例尺、旋转角度和视图中心点,并向二维模块中发送这些数据,应用系统框架的回调函数捕获到数据后,对二维视图进行设置和刷新,从而完成三维向二维的视图联动;\n[0018] 步骤三:当在二维模块中添加管点、移动管点、删除管点、添加管段、删除管段、编辑管点属性、编辑管段属性后,向三维模块发送管点或管段更改后的数据,包括修改后管线要素的图形及属性数据,当三维模块收到这些数据后,对三维视图中的相应数据进行更改,从而完成管线数据的同步。\n[0019] 本发明具有以下优点:\n[0020] 1、该方法很好的解决了二三维视图的平移、旋转、缩放的联动问题。\n[0021] 2、通过该方法,实现了管线数据在二三维模块中包括添加管点、移动管点、删除管点、增加管段、删除管段、管线属性编辑在内的图形与属性数据同步。\n[0022] 3、鉴于管点与管段存在拓扑关系,移动管点时与之相连的管段亦随之移动,并在二维与三维模块内实现同步。\n附图说明\n[0023] 图1为本发明的原理框图。\n[0024] 图中,1-集成二、三维平台的应用系统框架, 2-二维模块,3-三维模块,4-二维模块向三维模块发送视图联动消息和数据,5-管线数据同步时需要发送的消息,6-三维模块向二维模块发送视图联动消息和数据。\n具体实施方式\n[0025] 下面结合具体实施方式对本发明进行详细的说明。\n[0026] 本发明涉及的集成二、三维平台的管线数据同步及联动方法,能在一个统一的集成二、三维平台的应用系统框架1内,通过分屏实现二维模块2与三维模块3的对比显示,并通过二维模块向三维模块发送视图联动消息和数据4实现二维视图变化后三维视图随之变化、通过管线数据同步时需要发送的消息5实现二维视图内管线数据更新后三维视图同步更新、通过三维模块向二维模块发送视图联动消息和数据6实现三维视图变化后二维视图随之变化。\n[0027] 具体由以下步骤实现:\n[0028] 步骤一:构建一个集成二、三维平台的应用系统框架,在该应用系统框架中设置一个二维模块和一个三维模块,并分屏对比显示。\n[0029] 在二维模块中实现视图刷新事件的捕捉,可将视图刷新前后视图的范围、比例尺、旋转角度的变化消息发送给三维模块;并设置添加管点、移动管点、删除管点、添加管段、删除管段、属性修改的功能模块,可将修改后的消息发送给三维模块。\n[0030] 在三维模块中实现三维视图移动、旋转、缩放事件的捕捉,可获取相机高度、旋转角度、相机中心点坐标三个参数,计算出二维视图的中心点坐标、二维视图的显示比例尺,并将该消息发送给应用系统框架;应用系统框架通过回调函数捕获该消息,在消息处理函数中设置二维视图的中心点坐标、比例尺和旋转角度,并重新绘制二维视图。\n[0031] 本发明基于ArcGIS、SuperMap、MapInfo等成熟二维商业GIS软件或SharpMap等二维开源GIS软件为平台的二维模块2,基于Skyline等成熟三维商业GIS软件或WorldWind、OSG开源三维软件的三维模块3。\n[0032] 步骤二:在二维模块和三维模块中分别捕获其视图绘制事件:\n[0033] 二维模块捕捉视图刷新事件,并根据刷新前后视图的范围、比例尺、旋转角度是否发生了变化来判断是否需要向三维模块中发送消息。当二维视图刷新事件被捕获后,判断该视图是否进行了平移或旋转,当发生平移或旋转时,则向三维模块中发送二维视图的比例尺、旋转角度、以及视图中心点坐标数据;三维模块收到数据后,把其转换成为摄像机高度、旋转角度以及摄像机视域中心点,然后刷新三维视图,从而完成二维向三维的视图联动;\n[0034] 当三维视图刷新事件被捕获后,判断摄像机是否进行了平移或旋转,当发生平移或旋转时,则根据摄像机的高度、旋转角度、以及视图中心点换算成为二维视图的比例尺、旋转角度和视图中心点,并向二维模块中发送这些数据,应用系统框架的回调函数捕获到数据后,对二维视图进行设置和刷新,从而完成三维向二维的视图联动;\n[0035] 步骤三:当在二维模块中添加管点、移动管点、删除管点、添加管段、删除管段、编辑管点属性、编辑管段属性后,向三维模块发送管点或管段更改后的数据,包括修改后管线要素的图形及属性数据,当三维模块收到这些数据后,对三维视图中的相应数据进行更改,从而完成管线数据的同步。\n[0036] 实际使用过程中,本发明的具体实施过程如下:\n[0037] 首先,以VS2010为开发工具,以ArcGIS Engine为二维平台,以OSG为三维平台,搭建一个集成二、三维软件双屏显示的应用系统框架;\n[0038] 其次,扩展OSG三维软件的功能,实现OnMessage函数——OSG实例用来接收外部发送的数据,以及实现RenderCallback函数——OSG视口渲染时激发的回调函数;\n[0039] 第三,实例化ArcGIS Engine地图控件和OSG视口;\n[0040] 第四,在应用系统框架主窗体中,设置三个变量来存储二维视图(即ArcGIS Engine数据视图)的中心点坐标、比例尺、旋转角度,以及实例化;编写ArcGIS Engine数据视图的OnAfterScreenDraw事件处理函数,在该函数内判断二维视图的三个参数是否与预先存储的三个变量是否一致,如果不一致,则调用OSG的OnMessage函数向OSG视口实例发送包含中心点坐标、比例尺、旋转角度信息的消息数据,OSG视口实例接收到消息数据后,根据消息数据计算出相机的高度、中心点坐标、旋转角度,并重绘OSG视口, 二维视图在平移、旋转、缩放后三维视图也随之变化;\n[0041] 第五,在应用系统框架中,编程实现添加管点、移动管点、删除管点、添加管段、删除管段、属性修改的ArcGIS ITool和ArcGIS ICommand类,在类的实现代码中编写管线数据编辑逻辑、以及通过调用OSG的OnMessage函数向OSG视口实例发送包含编辑后管线图形和属性信息的消息数据,OSG视口实例接收到消息数据后,根据消息数据内容对相应管线作出添加、删除、修改的操作,并重绘OSG视口实例,实现二、三维平台管线数据的同步更新;\n[0042] 第六,编写OSG视口移动、旋转、缩放事件的处理函数,获取相机高度、旋转角度、相机中心点坐标三个参数,并计算出二维视图的中心点坐标、二维视图的显示比例尺,通过RenderCallback回调函数将包含这些数据的消息发送给应用系统框架相应的处理函数,该处理函数通过设置IMapControl的Extent属性、Rotation属性、以及MapScale属性,并重新绘制二维视图,从而实现三维视图在移动、旋转、缩放后二维视图也随之变化。\n[0043] 本发明的内容不限于实施例所列举,本领域普通技术人员通过阅读本发明说明书而对本发明技术方案采取的任何等效的变换,均为本发明的权利要求所涵盖。
法律信息
- 2022-06-10
未缴年费专利权终止
IPC(主分类): G06F 9/52
专利号: ZL 201410295916.4
申请日: 2014.06.27
授权公告日: 2017.05.10
- 2017-12-19
专利权的转移
登记生效日: 2017.11.30
专利权人由西安煤航信息产业有限公司变更为中煤航测遥感集团有限公司
地址由710065 陕西省西安市高新区高新二路E区1号厂房变更为710199 陕西省西安市航天基地神舟四路216号
- 2017-05-10
- 2017-04-26
著录事项变更
发明人由王晓东 彭桂辉 郑文青 薛宇飞刘敏 刘海君 江彬 杨阳张弓 车登科变更为王晓东 郑文青 张弓 车登科江彬
- 2014-10-29
实质审查的生效
IPC(主分类): G06F 9/52
专利申请号: 201410295916.4
申请日: 2014.06.27
- 2014-10-08
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2013-11-20
|
2013-08-07
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |