论文部分内容阅读
【摘 要】本文介绍了二维GIS和三维虚拟场景各自的优缺点,提出了通过二三维联动技术结合两者优点的方法来克服各自的局限性,实现了地理信息二三维一体化系统。
【关键词】二维GIS 三维场景 二三维一体化
烟草企业的信息化程度一直走在国内企业的前列,随着地理信息系统(Geographic Information System简称为GIS)技术在烟草行业的逐步应用,诸多烟草企业建立了基于GIS的信息管理系统,它提高了企业规划的效率、减少了重复建设并为企业生产检修提供了新的手段。
二维GIS建立在平面地理信息数据之上,一般使用的地图为工程图,虽然符合目前规划、设计、管理等对地图的使用习惯,但无法反映和表达三维空间的信息,难以为使用者提供一个直观的三维空间场景。相比之下,三维虚拟场景最大优点是增加了z轴上的表现能力,使目标对象在三维空间能够最大程度地真实呈现,三维虚拟场景尽管克服了二维GIS的缺点,但是也存在数据量大、数据获取和处理困难、与二维数据不易顺畅结合以及对各种信息的综合处理与分析。我们通过对二维三维连动交互机制的探索,使二维GIS与三维虚拟场景较好地实现了融合,可以扬长避短、更好地服务于烟草企业。
一、二三维一体化GIS系统构建
(一)基本设计思路和处理流程
烟草企业二三维一体化GIS系统建立在空间数据库、属性数据库和其他应用数据之上;二维部分基于MapGuide,三维部分基于Unity3D;通过中间件技术FDO和ADO访问底层数据。这种二次开发方式使得系统的建立和扩展具有便捷性和稳定性,减少了一个系统从总体开发需要底层引擎开始开发的庞大工作量和维护测试的压力,大大提高了开发效率。系统总体结构图如图1所示:
(二)二维GIS体系环境
二维GIS采用MapGuide作为开发平台,MapGuide是Autodesk公司为满足GIS用户数据发布需要,开发的Internet网络图形数据发布产品。它是通过Internet和Intranet发布实时的、内容丰富而翔实的地图和地理数据的交互式解决方案。MapGuide架构如图2所示:
(三)三维GIS体系环境
三维部分采用Unity3D开发。Unity3D是由Unity Technologies开发的一个让开发者轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型开发工具,它是一个全面整合的专业三维引擎。Unity3D支持多种格式导入,作为一个友善的专业开发工具,引擎脚本编辑支持Javascript、C#、Boo三种脚本语言,可快速开发、并自由的创造丰富多彩,功能强大的交互内容,是三维GIS开发平台中比较好的选择。
二、二维GIS与三维GIS设计
(一)二维GIS设计
二维GIS主要实现地图浏览查询、数据统计、二维地图分析等功能。以MapGuide作为GIS应用程序开发平台,通過调用Web Extensions API开发Web应用程序,在WEB应用程序中调用Web Extensions API以FDO(Feature Data Object )方式访问数据源,如空间数据等;通过调用ADO.NET与ORACLE的数据连接访问属性数据库。
二维部分与三维的主要接口有:
响应二维三维一体化接口:根据三维场景提供的信息,以AJAX异步方式调用二维GIS信息,实现二维信息的同步。反过来可以二维信息通过AJAX异步调用方式调用三维信息实现三维信息的同步。
(二)三维GIS设计
三维GIS主要实现三维场景的展示、信息的查询以及与二维GIS的交互。采用3DMAX建模方法建立三维的基本场景;通过空间坐标和关联的关键字与二维目标对象建立关联关系;开发三维控制功能,实现的三维GIS的应用;开发控制接口实现三维GIS与二维GIS的交互。
三维GIS与二维GIS主要交互接口有:
三维管网调度接口:实现对管网模型的调度。有三种调度方式,即专业控制调度,区域控制调度和距离控制调度。
位置感知控制接口:实现用户在场景的定位感知。通过与生产基地平面图及建筑物室内平面图的坐标匹配,显示用户实际位置。
三、二维三维一体化的实现机制
(一)交互设计
通过映射机制实现二维电子地图和三维虚拟场景的交互。其映射原理如下:
ΔX=X-XOffset
ΔY=Y-YOffset
DIR=360-ORIY
上述公式中,(X,Y)为二维/三维中某点坐标值,(XOffset,YOffset)为二维与三维坐标值差(偏移量),(ΔX,ΔY)为(X,Y)点投影到三维/二维中的坐标。ORIY为三维下摄像机的角度(欧拉角)的Y值,DIR为视点投影到平面上朝向,便于确认三维下摄像机当前角度在二维地图上的投影。
具体实现方式为:选取初始固定位置作为原点,分别取三维GIS平面投影坐标和二维GIS平面坐标,计算二者之间坐标系的偏移量作为常量。在二维GIS中或者三维GIS中依据当前坐标值与偏移量计算出对应的三维GIS坐标值或者二维GIS坐标值。
(二)二维三维一体化交互通信机制
考虑到二维GIS模块和三维GIS模块的高内聚、低耦合的特性,在B/S架构上采用基于AJAX技术的异步式机制来实现二三维连动。二维三维的交互方式是:
1.三维主导二维
三维场景通过参数方式发出命令到前端,前端通过AJAX技术转到服务器处理,服务器根据请求的指令通过计算将结果反馈给二维GIS端,二维GIS根据获取的信息刷新当前地图和导航图。参数结构如表1所示: 2.二维主导三维
二维图在前端上取到坐标、角度以及当前区域后,通过AJAX方式发送到服务器端,服务器端计算三维的坐标等信息,将计算结果反馈给前端,unity3d前端脚本根据结果实现三维的跳转以及实体信息显示等工作。参数结构如表2所示:
四、系统实现的功能
二维GIS与三维场景的交互主要在二维三维连动、三维浏览查询、二维查询统计、二维分析以及其他辅助功能方面, B/S 系统各个功能模块具体描述如下:
⑴三维场景浏览:以指定路线或自由路线进行浏览, 并可控制视点的位置,调整浏览效果等;
⑵管线建筑物信息查询:在三维场景中查询管线或建筑物信息;
⑶信息查询:本区域内管线信息一般查询和条件查询;
⑷管线统计:统计厂区管线数据,分专业、性质来统计长度等属性信息;
⑸选中管线统计:统计当前选中区域的管线信息;
⑹剖面分析:分析一段区域内地下管线位置信息;
⑺管线标高分析:分析所标注管线的标高、坐标等信息并在地图上显示;
⑻缓冲分析:按设定的距离条件,围绕建筑物或管线等实体而形成一定多边形实体缓冲区,实现实体二维空间扩展的信息分析
⑼二維主导跳转:在二维导航图上选择位置实现场景信息的同步跳转;
⑽三维主导跳转:在三维场景上选择目标位置实现二维地图和导航图的同步跳转;
⑾二维三维互动:场景浏览时二维信息实时变化;
⑿用户管理:添加、删除用户、用户权限管理等;
⒀地图量测:地图上面积和距离的量测;
五、结语
二维GIS与三维虚拟场景通过互动机制的结合,有效地改善了二维GIS与三维虚拟场景的不足,并将这种技术应用于传统上的烟草二维地理信息管理系统,使得烟草企业的管理不再盲目和抽象,便于普通用户或者管理决策者使用,提高了企业的管理效率。随着烟厂行业信息技术数字化的不断发展,我们将更切实地感受到二三维一体化GIS的重要性。
参考文献:
[1]Autodesk Asia Pte Ltd Autodesk地理信息系统解决方案之MAPGUIDE二次开发
[2]长宽高(北京)科技有限公司. Unity3D 中文手册
[3]邹静.迎接互联网的明天—玩转3D Web. 电子工业出版社. 2011
【关键词】二维GIS 三维场景 二三维一体化
烟草企业的信息化程度一直走在国内企业的前列,随着地理信息系统(Geographic Information System简称为GIS)技术在烟草行业的逐步应用,诸多烟草企业建立了基于GIS的信息管理系统,它提高了企业规划的效率、减少了重复建设并为企业生产检修提供了新的手段。
二维GIS建立在平面地理信息数据之上,一般使用的地图为工程图,虽然符合目前规划、设计、管理等对地图的使用习惯,但无法反映和表达三维空间的信息,难以为使用者提供一个直观的三维空间场景。相比之下,三维虚拟场景最大优点是增加了z轴上的表现能力,使目标对象在三维空间能够最大程度地真实呈现,三维虚拟场景尽管克服了二维GIS的缺点,但是也存在数据量大、数据获取和处理困难、与二维数据不易顺畅结合以及对各种信息的综合处理与分析。我们通过对二维三维连动交互机制的探索,使二维GIS与三维虚拟场景较好地实现了融合,可以扬长避短、更好地服务于烟草企业。
一、二三维一体化GIS系统构建
(一)基本设计思路和处理流程
烟草企业二三维一体化GIS系统建立在空间数据库、属性数据库和其他应用数据之上;二维部分基于MapGuide,三维部分基于Unity3D;通过中间件技术FDO和ADO访问底层数据。这种二次开发方式使得系统的建立和扩展具有便捷性和稳定性,减少了一个系统从总体开发需要底层引擎开始开发的庞大工作量和维护测试的压力,大大提高了开发效率。系统总体结构图如图1所示:
(二)二维GIS体系环境
二维GIS采用MapGuide作为开发平台,MapGuide是Autodesk公司为满足GIS用户数据发布需要,开发的Internet网络图形数据发布产品。它是通过Internet和Intranet发布实时的、内容丰富而翔实的地图和地理数据的交互式解决方案。MapGuide架构如图2所示:
(三)三维GIS体系环境
三维部分采用Unity3D开发。Unity3D是由Unity Technologies开发的一个让开发者轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型开发工具,它是一个全面整合的专业三维引擎。Unity3D支持多种格式导入,作为一个友善的专业开发工具,引擎脚本编辑支持Javascript、C#、Boo三种脚本语言,可快速开发、并自由的创造丰富多彩,功能强大的交互内容,是三维GIS开发平台中比较好的选择。
二、二维GIS与三维GIS设计
(一)二维GIS设计
二维GIS主要实现地图浏览查询、数据统计、二维地图分析等功能。以MapGuide作为GIS应用程序开发平台,通過调用Web Extensions API开发Web应用程序,在WEB应用程序中调用Web Extensions API以FDO(Feature Data Object )方式访问数据源,如空间数据等;通过调用ADO.NET与ORACLE的数据连接访问属性数据库。
二维部分与三维的主要接口有:
响应二维三维一体化接口:根据三维场景提供的信息,以AJAX异步方式调用二维GIS信息,实现二维信息的同步。反过来可以二维信息通过AJAX异步调用方式调用三维信息实现三维信息的同步。
(二)三维GIS设计
三维GIS主要实现三维场景的展示、信息的查询以及与二维GIS的交互。采用3DMAX建模方法建立三维的基本场景;通过空间坐标和关联的关键字与二维目标对象建立关联关系;开发三维控制功能,实现的三维GIS的应用;开发控制接口实现三维GIS与二维GIS的交互。
三维GIS与二维GIS主要交互接口有:
三维管网调度接口:实现对管网模型的调度。有三种调度方式,即专业控制调度,区域控制调度和距离控制调度。
位置感知控制接口:实现用户在场景的定位感知。通过与生产基地平面图及建筑物室内平面图的坐标匹配,显示用户实际位置。
三、二维三维一体化的实现机制
(一)交互设计
通过映射机制实现二维电子地图和三维虚拟场景的交互。其映射原理如下:
ΔX=X-XOffset
ΔY=Y-YOffset
DIR=360-ORIY
上述公式中,(X,Y)为二维/三维中某点坐标值,(XOffset,YOffset)为二维与三维坐标值差(偏移量),(ΔX,ΔY)为(X,Y)点投影到三维/二维中的坐标。ORIY为三维下摄像机的角度(欧拉角)的Y值,DIR为视点投影到平面上朝向,便于确认三维下摄像机当前角度在二维地图上的投影。
具体实现方式为:选取初始固定位置作为原点,分别取三维GIS平面投影坐标和二维GIS平面坐标,计算二者之间坐标系的偏移量作为常量。在二维GIS中或者三维GIS中依据当前坐标值与偏移量计算出对应的三维GIS坐标值或者二维GIS坐标值。
(二)二维三维一体化交互通信机制
考虑到二维GIS模块和三维GIS模块的高内聚、低耦合的特性,在B/S架构上采用基于AJAX技术的异步式机制来实现二三维连动。二维三维的交互方式是:
1.三维主导二维
三维场景通过参数方式发出命令到前端,前端通过AJAX技术转到服务器处理,服务器根据请求的指令通过计算将结果反馈给二维GIS端,二维GIS根据获取的信息刷新当前地图和导航图。参数结构如表1所示: 2.二维主导三维
二维图在前端上取到坐标、角度以及当前区域后,通过AJAX方式发送到服务器端,服务器端计算三维的坐标等信息,将计算结果反馈给前端,unity3d前端脚本根据结果实现三维的跳转以及实体信息显示等工作。参数结构如表2所示:
四、系统实现的功能
二维GIS与三维场景的交互主要在二维三维连动、三维浏览查询、二维查询统计、二维分析以及其他辅助功能方面, B/S 系统各个功能模块具体描述如下:
⑴三维场景浏览:以指定路线或自由路线进行浏览, 并可控制视点的位置,调整浏览效果等;
⑵管线建筑物信息查询:在三维场景中查询管线或建筑物信息;
⑶信息查询:本区域内管线信息一般查询和条件查询;
⑷管线统计:统计厂区管线数据,分专业、性质来统计长度等属性信息;
⑸选中管线统计:统计当前选中区域的管线信息;
⑹剖面分析:分析一段区域内地下管线位置信息;
⑺管线标高分析:分析所标注管线的标高、坐标等信息并在地图上显示;
⑻缓冲分析:按设定的距离条件,围绕建筑物或管线等实体而形成一定多边形实体缓冲区,实现实体二维空间扩展的信息分析
⑼二維主导跳转:在二维导航图上选择位置实现场景信息的同步跳转;
⑽三维主导跳转:在三维场景上选择目标位置实现二维地图和导航图的同步跳转;
⑾二维三维互动:场景浏览时二维信息实时变化;
⑿用户管理:添加、删除用户、用户权限管理等;
⒀地图量测:地图上面积和距离的量测;
五、结语
二维GIS与三维虚拟场景通过互动机制的结合,有效地改善了二维GIS与三维虚拟场景的不足,并将这种技术应用于传统上的烟草二维地理信息管理系统,使得烟草企业的管理不再盲目和抽象,便于普通用户或者管理决策者使用,提高了企业的管理效率。随着烟厂行业信息技术数字化的不断发展,我们将更切实地感受到二三维一体化GIS的重要性。
参考文献:
[1]Autodesk Asia Pte Ltd Autodesk地理信息系统解决方案之MAPGUIDE二次开发
[2]长宽高(北京)科技有限公司. Unity3D 中文手册
[3]邹静.迎接互联网的明天—玩转3D Web. 电子工业出版社. 2011