您好,欢迎来到帮我找美食网。
搜索
您的当前位置:首页基于DirectX的三维地理信息引擎设计与实现

基于DirectX的三维地理信息引擎设计与实现

来源:帮我找美食网
2011年4月 城市勘测 Apr.2011 第2期 文章编号:1672—8262(201 1)02—7—03 Urban Geotechnical Investigation&Surveying No.2 中图分类号:t:'208 文献标识码:A 基于DirectX的三维地理信息引擎设计与实现 向泽君 ,薛梅 (再庆市勘测院,重庆400020) 摘要:通过分析国内外三维地理信息系统技术现状,提出了基于DirectX实现三维地理信息引擎的架构设计,并在 此基础上自主开发了三维地理信息引擎Spatial3D,并成功应用于沙盘展示、应急演练、GPS跟踪等多个业务领域。 关键词:三维地理信息系统;DirectX;3DGIS 1 前言 Wind。它是NASA(美国国家航空与航天管理局)发布 近年来,随着三维可视化技术取得突破性进展以 的开源软件,通过可视化的地球仪,将NASA、USGS(美 及计算机硬件效率的大幅度提升,三维地理信息系统 国地质局)以及其他WMS(基于网络的地图服务)服 (3DGIS)逐渐走人人们视野,并成为地理信息业发展 务商提供的图像通过一个三维的地球模型展现。软件 的新方向,在规划、水利、应急等领域发挥着越来越多 用C#编写,调用微软的SQL Server影像库来进行全球 的作用。国内外地理信息平台商纷纷推出了各种商用 地形三维显示。目前,包括国内部分三维GIS软件在 三维地理信息平台,这些商用三维地理信息平台普遍 内的全球许多主流三维软件都是以WorldWind为技术 具有价格高昂、扩展不易的问题,阻碍了三维地理信息 内核发展而来。 系统在中小型应用中的推广。 本文通过分析国内外三维地理信息系统技术现 3 三维地理信息引擎总体设计 状,提出了基于DirectX的三维地理信息引擎的架构设 3.1 总体目标 计及关键技术,并在此基础上开发了可扩展、易配置的 由于人力和投入,在规模上,自主三维地理信 自主三维地理信息引擎Spatial3D,成功应用于沙盘展 息引擎不能和商用三维地理信息平台相比,但具备成 示、应急演练、GPS等多个领域。 本低廉、应用灵活的特点。自主三维地理信息引擎应 实现以下目标: 2 国内外三维地理信息系统技术现状 J (1)低硬件配置:不需要显卡支撑,在普通台 由于三维建模和绘制技术突破,现有的国内外三 式机或笔记本上也能浏览; 维地理信息技术相对比较成熟,主要包括商用和开源 (2)低平台依赖:在最小应用情况下,不依赖任何 两大类。 第三方地理信息系统平台,节约成本; 代表性的商用三维地理信息平台为Skyline和 (3)高配置性:使用外部配置的方式,可在很短时 ArcGlobe。Skyline是美国Skyline公司为网络运营三 间内装配出适用于不同区域的三维沙盘; 维地理信息提供的企业级解决方案,给客户提供一站 (41)高扩展性:提供良好的插件机制,让核心研发 式服务,并开放了所有的接口。ArcGlobe是ESRI公司 人员之外的技术人员扩展引擎功能,如GPS跟踪、视 开发的ArcGIS产品系列之一,它使用标准的ArcGIS 频监控、空问搜索等; 数据源和图层,提供了海量地理数据的交互式可视化, (5)高标准性:支持通用数据格式,并可扩展这些 允许全球数据、本地数据和街道级数据问的无缝过渡。 输入。例如Shape文件、GeoDatabase等。 和Skyline相比,ArcGlobe的显示效果有所不及,其主 3.2架构设计 要长处在于强大后台空间分析功能。 经过大量论证 ,自主三维地理信息引擎 开源三维地理信息平台中最具代表性的是World (Spatial3D)架构主要包括基础程序集、场景绘制程序 收稿日期:2011__01一l7 作者简介:向泽君(1965一),男,正高职高级工程师,主要从事水利工程勘察设计、城市勘测管理和技术研究、及数字城市建设研究。 基金项目:重庆市信息产业发展基金项目(2009—009) 8 城市勘测 集、数据加载程序集、场景管理程序集、界面程序集五 个部分,其中场景绘制程序集和数据加载程序集是可 以提供给二次开发者扩展的(如图1)。 方式进行注入,通过显示实现Idisposable接口进行资 源释放。Spatial3D中所有动态信息都可以通过配置进 行定义。在配置节中主要的配置节点包括: (1)场景采用的核心绘制程序集定义 (2)环境设置,包括摄影机、灯光、天空盒、雾、参 场景管理程序集 I 考坐标系 蠢 (3)图层集合,每个图层包括数据源、显示样式及 可扩展的场豢绘 制程序集和数据 }{加戮程序粲 图1 Spamial3D引擎架构图 各程序集主要作用如下: (1)基础程序集。此部分是Spatial3D的基础,提 供配置结构定义、基础空问模型定义、界面模型定义、 三维要素模型定义、公共结构定义、公共数据结构及算 法实现等内容。 (2)数据加载程序集。依赖于基础程序集,实现其中 的数据加载接口。在Spatial3D中,每个图层都配置了一 个数据加载类,这为多数据源的程序部署提供了最大便 利性。根据实际数据源格式,可对数据加载类进行各种 扩充。考虑到软件环境依赖性,还可将其拆分为不同的 程序集。根据部署环境决定选用哪一个数据加载类。 (3)场景绘制程序集。此部分集中体现了对Di— rect3D技术的应用,依赖于DirectX 9,是Spatial3D的 核心。 (4)场景管理程序集:其中SceneManager起到工 厂作用,它通过读取配置,进行场景的初始化以及各个 图层的组装,并控制图层加载、绘制及资源销毁,保证 非托管资源的有效释放。同时对外提供地图浏览、查 询等各种公用API接口。 (5)界面程序集:包括场景管理程序集基础上封 装的用户控件,使三维应用变得更加简单。 4关键技术及实现 J 4.1 依赖倒置及可配置化 依赖倒置和可配置化是提高应用程序扩展性、伸 缩性和配置性的主要方式。考虑到不同的数据源及应 用场景,有必要分离数据加载,而场景绘制的声明与实 现,则通过配置进行对象的创建和初始化。所有实现 相关类都采用了无参数的构造函数,通过设置属性的 数据加载类和场景绘制类名称 (4)所有数据加载类 (5)所有场景绘制类 (6)菜单 (7)状态栏 4.2图层加载多线程化 在三维场景中,常常包含多个图层(地形、道路、建 筑、地标…),如果采用单线程进行顺序的加载,用户体验 将非常糟糕,如WorldWind采用单线程方式进行加载和 绘制,从进入应用系统到显示场景,要等上数分钟之久。 在Spatial3D中,场景管理器统一提供对外接口, 包括导航、图层管理和数据查询定位,其中所有地物要 素都是以图层的方式进行管理的,包含名称、编码、是 否可见、最大最小显示高度、数据来源、数据加载类、场 景绘制类、图层的显示样式等。图层加载和绘制过程 中,当一个图层创建后,它需要首先创建对应的加载和 绘制类,由数据加载类进行数据加载,然后再根据数据 类型进行场景绘制,该过程使用多线程技术,大大提高 了数据加载和绘制速度,程序流畅、可操控性好。 4.3界面设计定制化 Spatial3D参照成熟商用软件界面要素,搭建了一 套可扩展、易配置的界面模型。将所有界面要素分为 四种类型:菜单、侧边栏、状态栏、对话框窗体。 图2 Spatial3D界面构成 第2期 向泽君等.基于DireetX的 维地理信息引擎设计与实现 9 菜单通常停靠在界面的上方。菜单中包含一个或 随着应用范围的扩展,这些场景绘制类还可逐渐 多个按钮。用于响应用户的各种操作。侧边栏通常停 增加,出现管线绘制类、土地利用绘制类等多种绘制 靠在界面左端,常作为操作面板使用,例如图层管理等。 类。部分效果如图3所示。 状态栏通常停靠在界面下端,用于表现标志、提供使用 4.5通用数据加载技术 帮助以及记录当前位置等。对话框窗体通常浮动在界 Spatial3 D默认采用Shape文件格式读取及其四又 面,用于定位、查询等相关操作,如图2所示。 树的空问索引算法。Shape文件是已经公开的格式, 4.4场景绘制技术扩充化 不需要依赖于任何地理信息平台。同时,采用四又树 不同的地物要素,所对应的绘制方法也有所不同。 空问索引算法,最快索引到某一范围的空问数据,大大 在二维世界中同样是线状要素的管网和道路,在三维 提高加载速度。 世界中有着很大的区别。例如道路不需要考虑管径, 而管网则必须考虑,它们算法的差异性是非常巨大的。 5 结 语 Spatial3D为每种基础地物要素编写了单个的绘制算 基于DirectX的自主三维地理信息引擎Spatial3 D 法,一个绘制算法代表一个场景绘制类。主要包括: 由于其低廉的成本和灵活的配置性,已经体现出一定 (1)简单建筑物绘制 的商业价值,满足了中小型项目应用的需要。目前已 (2)地形绘制 验证可运行的最低硬件环境为:处理器:Intel@Penti— (3)道路绘制 um ̄4 CPU 2.40GHZ,内存:1.00 GB,显卡:GeForee4 (4)三维地标绘制 MX 440—8X(显存64MB),而运行的软件环境为:Win— (5)3Dmax模型绘制 dowsXP Professional,.Net Franlework 2.0,DireclX 9 Re— (6)GPS跟踪及回放绘制 dist Pack。下一步,将继续加强对场景绘制类的扩充, (7)统计绘制 使其更加广泛地应用于各个领域。 壤绸建筑 道肇 参考文献 『1] Fletcher DunnParberryIan.3 D Math Primer for Graphics and Game Development[M].Wordware Publishing,2005 [2] 吴军,鱼小刚,郭英.二维、三维( Is系统的结合研究与 应用[M].北京:数字石油和化工,2009’ [3] 刘艳,马劲松,张永玉.3DGIS中空间对象的存储与快速 缓冲分析 查询[J].测绘科学,2009,34(4):147~149 [4] 宇林军,孙丹峰,李红.基于紧密型二三维结合的GIS构 架与系统实现[J].地理与地理信息科学,2009,25(5): 17~20 [5] 苏莉.三维GIS纹理坐标数据管理方法的研究[J].科技 信息,2009(5):125~127 图3主要绘制效果 Design Andlmplementation of DirectX——based Three-demensial Geographic Information Engine Xiang ZeJun,Xue Mei (Chongqing Smweying Institute,Chongqing 400020,China) Abstract:By analyzing the domestic and international status of three—dimensional geographic information system technology,this paper propos architecture implemented by DirectX based on three—dimensional Geographic Information Engine,and self—developed three—dimensional Geographic Information Engine named Spatial3 D,and successfully applied to sand table display,emergency drills,GPS tracking and other business areas. Key words:Three-dimensional Geographic Information System;DirectX;3 DGIS 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- banwoyixia.com 版权所有 湘ICP备2023022004号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务