一种二三维联动地理信息系统的实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一种二三维联动地理信息系统的实现
唐昊; 刘建波; 葛双全; 成勋; 张亚林; 孟德壮
【期刊名称】《《科学技术与工程》》
【年(卷),期】2019(019)032
【总页数】6页(P37-42)
【关键词】地理信息系统; 开放视景图形引擎; 二维图层库; 二三维系统联动
【作者】唐昊; 刘建波; 葛双全; 成勋; 张亚林; 孟德壮
【作者单位】中国工程物理研究院计算机应用研究所绵阳621900
【正文语种】中文
【中图分类】P208
地理信息系统(geographic information system,GIS)又称“地学信息系统”,
是一种非常重要的空间信息系统。

它是在计算机硬软件系统的支持下,收集、存储、管理、计算、分析、显示和描述地球表面(包括大气层)的整个或部分地理分布数据的技术系统。

根据空间维度的表现形式,GIS系统又分为二维和三维,二维GIS系统经过20多年的实际发展和应用,具有强大的数据展示和空间分析功能,另一方面随着三维虚拟现实仿真软件的发展,近年来出现了基于各种三维引擎构建的虚拟城市系统,使得用户能够更加直观的从三维空间中观察和处理问题,经过多方面实践,在城建、土地、测绘、应急、公安、电力、燃气等领域得到广泛应用。

在实际应用中,结合二维GIS和三维GIS两者优点的二三维一体化系统是当前背景下的
一个主流解决方案,也是GIS研究领域的热点方向。

现有的技术方案中,三维场
景主要用于空间显示,显示城市物体的空间形态和色彩外观的视觉效果。

二维场景用于显示城市的布局,为空间查询、统计和分析的功能提供支持。

基于三维仿真技术的三维虚拟城市场景以其直观的三维地形、立体的建筑模型以及多元化地物模型作为表达方式,具有现实、直觉和真实等特性。

用户不需要任何训练就能够理解
3D虚拟场景的意义。

但是在三维虚拟场景中漫游的时候只能看到视野范围中的物体,对场景整体感和方向感的定位无法判断,导致迷失方向和位置。

目前,二三维一体化GIS系统在虚拟城市GIS系统中得到广泛应用和研究。

文献[1—3]在不同应用领域中实现了二三维系统集成,但是没有考虑两者模块之间的关联,文献[4—6]提出了一体化联动的需求与设想,但没有深入分析联动算法的实现,没有考虑不同情况下联动的准确性和定位精确性。

根据上述文献的研究内容,对二三维联动GIS系统的研究路线主要包括两个层次,一是二维场景和三维场景的地
理坐标相对应,空间位置和视点方向表达一致;二是二维场景和三维场景内容分析结果表现一致,各种三维地物模型与二维场景中的图层数据相对应。

据此标准可将联动方式分为可视化层面和数据空间分析层面,着重于可视化层面的系统联动,在基于开源引擎的基础上构建一个二维地图与三维空间场景集成的虚拟城市GIS系统,该系统具有并,重点研究二三联动算法的实现,在基于开源的三维虚拟场景引擎和二维平面地图引擎构建的虚拟城市GIS系统中进行应用。

1 二三维联动系统设计
1.1 二三维基础GIS环境的构建
随着三维GIS的发展,国内外各种二三维GIS软件层出不穷,且大多具有二次开
发的接口。

通常,二次开发的方式有两种:一种是根据GIS软件提供的脚本语言
进行开发,如MapInfo平台的MapBasic,基于VBA的ArcInfo平台等。

这种开发方式虽然具有快速简单的优点,但是扩展性和效率方面都不能满足用户更多的需
求。

另一种是使用相应的开发语言(VB、C++、C#或JavaScript等)获取GIS软件接口的方式进行二次开发,现采用后者的方式。

目前常见的3D GIS软件有GoogleEarth、Virtual3D及Skyline等、2D GIS软
件有ArcGIS、QGIS以及SuperMap等,这些软件平台有各自的优势和应用领域。

基于开发难度和软件开源程度的考虑,本文中研究的二三维联动系统以开源的OpenLayers类库和OpenSceneGraph(OSG)三维引擎为基础分别构建自己的二
维GIS系统和三维GIS系统,并通过由C++构建的程序框架调用二者API的相关接口,实现二维平面地图和三维空间场景的对应与联动。

1.2 数据准备
实现一个一体化的二三维系统,首先要保证二者在数据上基于同一套GIS数据来源。

二维系统的数据主要是由点线面等矢量数据和正射影像等栅格数据构成,是空间世界在二维平面上的投影表达。

三维系统是对现实世界的立体空间性表达,具有空间连续性,目前的三维系统大多用二维数据加数字高程(digital elevation model,DEM)数据叠加的方式来展现,同时集成三维建筑模型等数据。

构建三维场景时,通过CAD软件建立目标区域的地物要素(建筑物、道路、桥梁、河流等)
三维几何模型。

这些模型与DEM叠加后在地理上具有正确的位置和高度,然后贴上与数字高程模型对应的卫星影像图片和模型的表面纹理形成完整的三维模型。

实现过程和效果如图1所示。

图1 三维地物模型构建过程Fig.1 The process of 3D feature construction
1.3 二三维联动的原理和实现方式
二维平面地图是按照一定的数学法则和综合法则,将地球表面的点投影到平面,以形象化的符号表达对象(城市、建筑、功能物、景观等)的地理分布、组合以及关联的二维平面模型。

由于地图投影是将球面坐标映射到平面直角坐标的过程,因此会产生一定程度的变形,对于一定范围内的区域,由于其采用了严密的数学模型,可
以进行各种数学变换和操作,比如量测距离、统计数据、分析关系等。

三维场景展示采用计算机图形学技术,根据视觉原理将三维空间投影在屏幕上,具有空间感、距离感、近大远小的透视特性等,从而模拟出类似人眼视觉的效果[7]。

由于二维平面地图和三维空间场景的数学原理不同,前者通常使用恒定不变的比例尺,屏幕显示范围内的距离乘以系数等于真实的距离;而采用透视投影的三维场景具有可变比例尺,特别是当视点俯仰角趋近于零,即视线与地面近似处于平行状态,三维场景中可以显示无限远的场景范围,给二维视图的范围表达带来了困难。

从用户可视角度,二三维联动是指操作二维或三维中的一个视图时,另一个视图同步移动到相同的区域和视角。

为了使二维地图中的地理坐标与三维虚拟城市场景的空间位置相对应,二者需要基于同一套坐标体系,通过坐标转换与参数传递,使二维地图中心点的地理坐标与三维场景的空间坐标位置相对应,使用交互过程中的事件触发机制保持二者视图中的位置变化同步,在操作二维地图时将地理坐标、视点角度以及视点高度传输到三维场景窗口中,操作三维场景时,将地理坐标和视点高程传输到二维地图窗口中,以上是从可视层面实现二三维联动的关键技术[8]。

研究的二三维联动系统的技术路线如图2所示。

图2 二三维联动实现原理Fig.2 The 2D-3D interactive system approach
1.4 二三维联动系统的架构及设计
虚拟城市系统的实现基于柔性的可配置架构,为了减轻模块间的耦合度,系统各个功能模块以插件的方式存在,通过通信协议与系统主框架协作。

柔性架构具有软件复用性高、模块化和封装性强、可扩展性灵活、易移植性等特点。

系统以定义好的通信接口作为软件主框架和各个子功能模块通信的桥梁。

每个功能模块作为一个插件,遵循定义好的通信协议。

功能模块主要涉及二维虚拟城市和三维虚拟城市,其中二维虚拟城市GIS系统采用开源的OpenLayer引擎,底层代码由HTML和JavaScript实现。

通过对地图、瓦片以及图像标注等数据内容的组织,实现二维
城市系统。

三维城市GIS系统采用自建的三维地物模型,结合DEM高程数据和卫星影像图片,在OSG引擎中进行组织和渲染,底层代码通过C#和OpenGL实现。

整体系统架构如图3所示。

图3 二三维联动系统整体架构Fig.3 The structure of 2D-3D interactive system 2 二三维联动算法研究
2.1 二三维联动规则
2.1.1 视点参数
根据上述背景介绍可知二三维联动成像原理具有不同的数学基础和显示效果,其显示范围在不同角度的场景中存在差异,二者视点定位所需要的参数也不同,为了解决二维场景和三维场景的显示范围精确对应的关键问题,对二维和三维GIS系统
中所用到的视点定位参数进行约定和简化,在此基础上研究联动算法的实现。

在三维场景中,视点限制在地平面上方,俯仰角pitch的取值范围为0°~90°,平视图时视点俯仰角为0°,俯视图时视点俯仰角为90°;视角可视范围FOV为60°;要
求实现二维场景的中心的与三维场景的中心点均位于同一块区域,视点角度均指向同一方位。

因此,二维平面地图的显示和定位需要3个参数:即地图中心点的经
纬度(lon,lat)以及视点高度H,三维场景的显示和定位需要6个参数:即视点的
空间坐标(x, y, z), 视点朝向yaw, 俯仰角pitch, 翻滚角roll, 视角范围FOV,采用
的系统约定三维场景定位参数如下:视点朝向固定为正北方向,即yaw=0,俯仰
角pitch=45°,视点沿中心轴线翻滚角roll=0°,视角范围FOV=60°。

2.1.2 坐标系统及坐标转换
GIS常用的坐标系有参心坐标系,地心坐标系和平面投影坐标系,随着GPS技术
的推广普及,以WGS-84坐标系为代表的地心坐标系在GIS系统中得到广泛应用[9]。

现以WGS-84坐标系统为计算基础,为了方便计算,需要将WGS-84系统
的地心大地坐标系转换为地心空间直角坐标系,转换方式如式(1)和式(2)所示。

大地坐标转换为空间直角坐标为
(1)
空间直角坐标转换为大地坐标:
(2)
式中:e为椭球体第一偏心率;N为卯酉圈曲率变径。

算法包括两个部分,一是通过三维场景定位二维平面地图,二是通过二维平面地图定位三维场景。

2.2 三维场景定位二维平面地图
图4 二三维联动算法原理Fig.4 The algorithm of 2D&3D interactive system 通过三维场景定位二维平面地图就是通过三维场景的视点位置、角度以及高度等姿态信息计算二维场景中心点的位置和地图显示范围。

如图4所示为算法原理图,P 为平面地图视点,M为平面地图中心点,ABEF为平面地图可视区域,由二维GIS 的特点可知PM始终垂直于ABEF平面;O为三维场景视点,OM为视线方向,FOV为视点可视范围角,OC和OD为视线上界和下界,pitch为视线与水平方向夹角。

问题转化为已知三维场景中视点O的坐标和视线向量求点P的(x, y)坐标以及向量的长度。

其中向量的长度与二维平面地图系统显示比例有关,不同二维系统具有不同的视点高度与范围比,只求解向量长度,通过一个系数δ获得向量的长度,该系数由具体使用的二维GIS系统决定。

计算平面地图视点P的坐标如下。

设视点O的坐标为(Ox,Oy,Oz):
(3)
P点平面坐标为
计算平面地图的视图范围AB,通过一个系数δ获得向量的长度,即为二维系统中的视点高度:
AB=
(4)
PM=δ·AB
(5)
2.3 二维平面地图定位三维场景
通过二维场景定位三维平面地图就是通过二维平面地图的中心点位置和地图显示范围计算三维场景视点位置和姿态参数,根据约定的规则,俯仰角pitch和视角范围FOV均为固定值,问题转化为已知二维平面地图视点P的坐标和视点高度PM,求三维场景中视点O的(x, y, z)空间坐标。

设二维平面地图视点P的坐标为(Px,Py),可视范围则:
(6)
根据式(3),有:
(7)
根据式(7),有:
(8)
O点坐标为
(9)
3 实现效果及应用
通过对二维场景和三维场景坐标系的关联和转换以及地理目标名称的匹配能够实现二维地图和三维虚拟场景的联动响应。

在程序中的实现方式主要是通过消息发送(SendMessage)和处理用户操作的事件处理器(controller)的机制来完成。

用户在三维虚拟场景中漫游时,通过实时地跟踪三维场景中视点的位置变化实现二维场景视点的位置和高度变化。

当三维虚拟场景由于用户操作导致观察者的位置发生变化,事件处理器发送一个消息给二维平面地图,通过联动算法得到其视点的位置,使得二维平面地图的视点也跳转到对应的位置。

当二维场景中由于用户操作导致观察者的位置发生变化时,事件处理器发送一个消息给三维虚拟场景实时改变观察者的位置和方向,通过联动算法得到三维场景中视点的位置、高度、俯仰角、视场范围、翻滚角度以及朝向,相应地三维虚拟场景的视点能够跳转到对应的位置。

以某虚拟城市区域为实验对象,基于开源二三维图形引擎构建一个虚拟城市的二维地图及三维城市模型,实现了二维平面地图和三维场景实时联动响应,使用户在操作任意场景时,另外的一个场景自动同步到相应的位置,其结果如图5所示。


侧是三维场景的视图,右侧是二维场景的视图。

为了验证算法准确性,分别采用了三种不同的视角作为对比,可以看到在不同视角下二维场景和三维场景的显示范围基本一致,目标建筑始终在场景中心,避免了场景不匹配的情况。

图5 不同视角下的二三维联动系统实现情况Fig.5 The Different Views of
2D&3D Interactive System
4 结论
二维平面地图和三维虚拟城市场景集成是当前GIS研究领域的一种重要应用手段,通过联动机制建立的二维GIS平台和三维GIS平台具有数据内容和空间分析上的
一致性。

为了使二维地图中的地理坐标与三维虚拟城市场景的空间位置相对应,在构建一个二维平面地图与三维城市场景集成的虚拟城市GIS系统的基础上提出了
一种二三维视点联动的算法,使得在操作二维地图时将地理坐标、视点角度以及视点高度传输到三维场景窗口中,使二维地图中心点的地理坐标与三维场景的空间坐标位置相对应,在操作三维场景时,将地理坐标和视点高程传输到二维地图窗口中。

通过交互时的事件触发机制保持二者视图中的位置同步变化。

实现了操作二维或三维中的一个视图时,另一个视图同步移动到相同的区域和视角。

通过在软件中放置三组不同视角的效果表明,该算法能够适应各种用户操作下的视点同步,具有实用性和广泛应用前景。

参考文献
【相关文献】
1 曲家峰. 基于二维三维GIS一体化技术的大连市防汛信息服务系统设计与实现[J]. 水利建设与管理, 2017(4): 37-39
Qu Jiafeng. Design and implementation of flood control information service system in Dalian based on two-dimensional and three-dimensional GIS integration technology[J]. Water Resources Development & Management, 2017(4): 37-39
2 王洪昌, 林富明, 李梅. 二三维一体化城市综合管网系统设计与实现[J]. 测绘与空间地理信息, 2016, 39(1): 82-84
Wang Hongchang, Lin Fuming, Li Mei. Design and implementation of two or three dimensional integration system for the city pipe line network[J]. Geomatics & Spatial Information Technology, 2016, 39(1): 82-84
3 董杰, 王昊. 基于GIS的二三维一体化技术在电力应急中的应用[J]. 能源与节能, 2011(7): 25-28 Dong Jie, Wang Hao. The application of two and three-dimensional integration technology based on GIS in electric emergency[J]. Energy and Energy Conservation,
2011(7): 25-28
4 万幼, 边馥苓. 二三维联动的GIS系统体系结构构建技术[J]. 地理信息世界, 2008(2): 48-52
Wan You, Bian Fuling. Design and implementation of interactive 2D & 3D GIS
architecture[J]. Geomatics World, 2008(2): 48-52
5 高飞, 尤磊, 阮红利. 基于开源项目的二三维联动GIS系统的设计与实现[J]. 测绘科学, 2009,
34(增刊2): 144-145
Gao Fei, You Lei, Ruan Hongli. The design and implement of interactive 2D & 3D GIS based on open source projects[J]. Science of Surveying and Mapping, 2009, 34(S2): 144-145
6 郑国江, 赵园春, 李成名. 一种无缝集成的二三维联动WebGIS设计及实现[J]. 遥感信息, 2011(3): 112-115
Zheng Guojiang, Zhao Yuanchun, Li Chengming. Design and realization of the seamless integrated and 2D/3D combined WebGIS[J]. Remote Sensing Information, 2011 (3): 112-115
7 高山, 陈思. 一种高精度二三维联动算法[J]. 测绘科学, 2014, 39(4): 30-33
Gao Shan, Chen Si. A high-precision algorithm for synchronisation of planar map and 3D scene[J]. Science of Surveying and Mapping, 2014, 39(4): 30-33
8 刘方涛, 王鑫, 俞蔚. 二三维联动战场可视化系统的研究与实现[J]. 计算机工程与应用, 2014,
50(7): 247-250
Liu Fangtao, Wang Xin, Yu Wei. Research and implementation of battlefield visualization system based on interactive 2D & 3D GIS[J]. Computer Engineering and Applications, 2014, 50(7): 247-250
9 董邵轩. GIS中常用坐标系的比较与转换[J]. 硅谷, 2013(11): 163
Dong Shaoxuan. Comparison and transformation of common coordinate systems in GIS[J]. Silicon Valley, 2013(11): 163。

相关文档
最新文档