基于osgEarth的本地化三维场景构建和应用
基于osgEarth的配网三维GIS技术研究
基于osgEarth的配网三维GIS技术研究胡剑锋1 ,林庆农2,陆巍巍3(1,2,3 南京南瑞继保电气有限公司,江苏省,南京市,邮编211102)摘要:本文阐述了一种基于osgEarth的配电自动化系统的三维GIS技术实现方案,论述了如何利用osgEarth的技术实现配快速环境建模和设备建模,降低工程建模的工作量,介绍了如何采用动态三维仿真和交互技术,实时展示配网设备元件的运行状态,增强了设备巡视和操作的易用性,提高了用户的参与度。
关键字:三维;GIS;配电自动化;DAS;osgEarth;OSG;OpenSceneGraphResearch on 3D GIS of power distribution automation system developed based on osgEarthHu-jianfeng, Lin-qingnong,Lu-weiwei(NANJING NARI-RELAYS ELECTRIC CO.,LTD.NANJING, 211100)Abstract:Intrduce to a three-dimensional GIS technology based osgEarth for power distribution automation system it has been developed based on the technical characteristics of the osgEarth, using rapid modeling and device 3d model management to reduce the workload of engineering models, using dynamic 3D simulation and interactive technology, to real-time display the running state of the distribution network equipment instruments, providing a convenient for display and operation instruments in 3D envirament , enhanced the ease of use of the equipment inspection and operation, and improved user participation and made a useful exploration of the practical use of 3D GIS for the distribution network.Key words:three dimension;GIS;power distribution automation;DAS;osgEarth;OpenSceneGraph1引言随着三维GIS技术的快速发展,三维GIS逐渐进入实用化阶段,目前配电自动化系统(简称DAS)也有一些三维GIS的应用,交互的直观真实感和强大的空间分析功能,充分展示了三维GIS 的优点,但三维GIS仍未能如二维GIS那样在配电自动化中广泛使用。
《基于OSG的网格模型简化算法的研究及应用》范文
《基于OSG的网格模型简化算法的研究及应用》篇一一、引言随着计算机图形学技术的快速发展,三维网格模型在诸多领域中得到了广泛应用,如虚拟现实、游戏开发、医学影像等。
然而,高精度的三维网格模型往往具有大量的数据,给计算和存储带来了挑战。
为了解决这一问题,基于OSG(OpenSceneGraph)的网格模型简化算法的研究及应用显得尤为重要。
本文将详细介绍基于OSG的网格模型简化算法的研究背景、意义及主要研究内容。
二、研究背景及意义随着三维扫描技术的不断发展,获取高精度的三维网格模型变得越来越容易。
然而,这些高精度的网格模型往往具有庞大的数据量,导致计算和存储成本增加。
为了解决这一问题,网格模型简化算法成为了研究的热点。
OSG作为一种开源的三维图形处理库,提供了丰富的三维图形处理功能,为网格模型简化算法的研究提供了良好的平台。
基于OSG的网格模型简化算法的研究及应用具有重要意义。
首先,它可以有效降低三维网格模型的数据量,提高计算和存储效率。
其次,简化后的模型在保持一定精度的同时,可以更好地适应不同的应用场景,如虚拟现实、游戏开发等。
最后,该算法对于医学影像处理、地形可视化等领域也具有重要应用价值。
三、基于OSG的网格模型简化算法研究1. 算法概述基于OSG的网格模型简化算法主要采用边坍缩、顶点删除等策略对网格模型进行简化。
该算法通过计算边坍缩或顶点删除后的误差,选择对模型精度影响较小的操作进行简化。
同时,该算法还考虑了模型的拓扑结构、法线方向等因素,以保持简化后模型的真实性和完整性。
2. 算法实现基于OSG的网格模型简化算法的实现主要包括以下步骤:首先,对输入的网格模型进行预处理,包括去除重复顶点、计算法线等。
然后,根据边坍缩或顶点删除的策略,计算各操作对模型精度的影响。
接着,选择对模型精度影响较小的操作进行简化,并更新模型的拓扑结构和法线方向。
最后,通过OSG库中的相关函数实现模型的显示和交互操作。
四、应用实例及分析1. 虚拟现实应用基于OSG的网格模型简化算法在虚拟现实领域具有广泛的应用。
基于Google Earth平台的城市三维虚拟地图的研究与构建
基于Google Earth平台的城市三维虚拟地图的研究与构建付晓;张景秋;周爱华【摘要】A new solution to designing a multi-perspective three-dimensional virtual urban map was proposed after studying the characteristics, the formation and the present technology of three-dimension maps. A new three- dimension model combined with some real cases was created on Google Sketchup. Google Earth Platform makes map sharing and issuing possible. The display of the geographic data of the same region can increase maps' geographic information and enrich map display methods, by which a more effective service can be provided for urban planning and building.%以数字化时代的地图演变趋势为研究的切入点,通过对三维虚拟地图的特点分析、架构体系研究以及现有技术的比较,提出一种多视角的城市三维虚拟地图的建设方案,并结合实例利用Google Sketchup技术完成三维建模,在GoogleEarth平台上实现城市三维虚拟地图的共享与发布。
通过不同视角的城市三维虚拟地图对同一区域的地理数据进行展示,进一步提高了地图的地理信息量,丰富了地图的展示手段,可为城市规划与建设提供有力的决策服务。
基于OSG的三维地形制作原理与方法 曲超
基于OSG的三维地形制作原理与方法曲超摘要:本文讨论了基于开源三维引擎OpenSceneGraph(OSG)的三维地形模型制作技术。
借助地形数据库制作工具VirtualPlanetBuilder(VPB)创建了天津市中心城区的地形分页数据库,并利用OSG自带的分页数据调度支持来查看这些数据。
关键词:三维地形;OSG;VPB0 引言近年来,大范围地形可视化的概念随着地理信息系统的出现而逐渐形成。
随后以地形地貌为研究重点的三维可视化技术在实时仿真领域应用广泛,如战场环境仿真、三维游戏、飞机汽车驾驶训练、土地管理与利用、水文气象数据可视化、地理信息系统等。
借助计算机技术,生成具有高度真实感和可量测的地形三维模型,实现三维地形表面的逼真还原,一直是人们研究的热点。
本文基于OSG三维引擎,介绍了利用VPB制作大范围三维地形模型的原理与方法,最后使用OSG自带的场景浏览器osgViewer在场景中进行漫游。
1 OSG和VPB简介OSG 是一款目前非常流行的开源三维引擎,是一个面向对象的三维开发包,包含了极丰富的类库,操作灵活,性能优越,广泛应用于虚拟现实仿真、科学可视化等领域。
它以已经成为工业标准的OpenGL为底层平台,使用可移植的ANSIC++编写而成,实现了对OpenGL进行的完全类封装,建立了一个面向对象的框架。
是编程者可以摆脱底层的繁杂建模,更便于应用程序的开发和管理,可运行于包括Windows、Linux、Mac OSX在内的大部分操作系统。
VPB是一个基于OSG和GDAL的强大的地形数据生成工具,可以读入多种类型的地理影像和高程数据,并构建各种规模的分块分页地形数据库。
VPB与OSG紧密结合,它所生成的瓦片数据可以方便地通过网络进行传输,或者保存在本地进行快速、精确的浏览。
目前已经具备TB级别的数据处理能力,并可以使用分布式文件系统来执行并发的数据处理[1]。
2 基本原理大规模场景绘制时带来的海量数据,远远超过了计算机的实时处理能力,使得数据无法一次性调入内存。
基于OSG的三维场景构建
科
占 怡
基于 OS 的三维场景构建 G
鱼江海
( 南京 第二十八研 究所, 江苏 南京 2 0 0 ) 10 0
摘 要 : 着虚拟现 实技 术的发展 , 随 大量开源与商业图形图像 引擎相 继推 出, 对国 内外仿 真市场造成 了巨大的影响 , p n enG ah作 为跨 。O e Se e rI , 平台的开源引擎越来越受到 国内外仿真 用户的重视 。 本文从应 用的实际角度 出发, 针对 三雏场景 构建 , 图形渲染对软硬 件需求 高、 开发难受大、 开发 周期长等问题 , 出了基 于 O eS ee r h的解决方案 。 提 p n cn G a p 使三维场景渲染在对硬件需求以及开发难度上都得到 了明显的 改善 。 把数据渲染与传统
c s d peWigt:p bi L de l sA atr de a u l QG Wigt c
f
一
81 —
仿真技 术相结合 , 不仅发挥 了 O esee r h的优势 , pn nGa e p 还对虚拟现 实桌面系统具有一定的应 用意义。
关键词 : 三维场景 ; 虚拟现 实; S O G场景渲染 ; 二次开发
件 O e CB r h ( p n S e g p 简称 0 G  ̄ a s )目前 已经 在 G ahcWid w rp is n o 0 自 16 9 5年 计 算 机 图 形 学 奠 基 者 Ia vn 全世界仿真领 域越来越广 泛地得到采用, 但它 (rt n eu . t;) r g0 e c n t o g e r: a h c W i d w o s s Viwe : Gr p is n o g t 毕竟是一种底层 的基础软 件, e- S te ad在论 文 “ h lma Dsl ” u dn h T e U t t i a 中提 i e py 直接基 于 O G编 S 出虚拟技术概念至今 , 软硬件 的不断发展 、 实践 G ahcWidw0 cnt 写与研发仿真应用 系统存在着基础太底层从而 rp is n o o s 与理论 的不断创新 为虚拟现实的概念注人 了丰 不 必要 的增加很大 的代码量与研发复杂度 的问 {rtr _ wgt;} eun g . 0 e rtce 富的内涵 。2 世 纪 7 年代 由于虚拟现实 系统 poe td: 0 0 题 。我 们构 建 的这 个三 维场 景只是 实 现 了在 的硬件成 本过 高 , 软件开发周期过长 , 一直无法 vi nt; od ii 0 O G的场景 中载人 三维模 型 , S 并去控 制三维模 得 到推 广与普 及。虚拟现实的初期应用主要集 v ta od rszG (itw dh a 型各个 节点的功能 ,离三维实景漫游和仿真应 iu l vi ei L r e n it,ht 中在军事仿真 系统和航空航天领域 。0 2 世纪 9 hih ; 0 e t) g 用 系统 还有一定距离 ,这也是我们未来研究 的 o g: f p r s Viwe z s r e t<o g e r Gmp is i - heW n 年代 以来 ,随着计算 机硬件性能的提高与价格 方 向。 o de 的下降 , 件开发系统理论的形成 , 软 虚拟现实技 d wEmbe d d> 参考文献 术 的应用 打开了全新 的局面。打破 了以前仅应 } 【】 少华. 1刘 虚拟仿 真 引擎及其在 三维 飞行 再现 ; 用 于高端领域 的局 限性 ,在 软硬件的共同支持 这是 一个基于 Q 的控件型 G I 拥有 Q 中的应 用[ J t U 类, I D. 国防科技 大学,04 20 . 下, 开始在科 学计 算、 建筑设计 、 游戏开发 、 产品 的各类界面操作属性。 [ O e Se e r h中国官方 网站 w w s h- 2 p nc nG a ] p w . g i oC 包装 、 培训娱乐 、 气象 和水 利等方面得到广泛的 3 然后 , 们通过 多重继 承的方法 构建 场 na・r ・ . 2 我 o g 应用 。 景类 : 【1 3党安 荣, 王晓栋 , 晓峰 , 陈 张建宝. 遥感图像处 为 了解决 低端 机器 上高 效的 渲染三维 数 c s iw r :p b c og i e: iw r 理 方法【 】 a l sVe e QT u l sVe rVe e, i w : M. : 北京 清华大学 出版社 ,0 3 20. i e 据 这一 问题 ,论 文 提 出用 成熟 开 源 的 O e— p b c Ad p e W i g t pn u l a tr d 『 李 宇宁. 三维 3 m x 4 】 飚 D a6完全学 习手 册. 北京 这 样 Ve eQ iw r T既有 了 Q t的 G 属 性功 希 望 电子 出版社f . UI M] 北京 : 北京 兵 器工业 出版 S ee r h图形 图像 引擎, 对三维场景 的渲 cnG a p 针 染建立一套高效 的解决方案 ,阐述 了软件平台 能 , 以作 为 O G场景的显示框架。 又可 S 社 。0 5 20. 的搭建,数据 的获取 、处理到 最终渲染整个 流 33 -在场景类 中导入模型 并控制视角: 【]o u , ig Re rn e Pit s i Po 5D n B ms n f ec one n r— Us e r 程。 O G可 以导人 大多数 常用模 型文件 格式 , d c ra d Op n c n Grp 0 . S u e n e S e e a h 2 03 2 三维场景平 台构建 如( f, 3 s oi . t d, b 等)。我们用 3 M x i. . D a 建立 飞 【]p n en G ah rf s n lS rie w w. 6O eS ee rp Poe i a ev s w so c o e s e e r p o g p n c n g a h.r . O eS ee rp pn cn G ah诞生 于 19 9 8年 ,在 1 9 机模型 , 9 9 然后保存成 3s d 文件 。 年 9 O eS ee r h 布开源 。 月 p ncn G a 宣 p 虚拟现实引 通 过 og:oe csn : o B: 【]al s: d * esa N s : 7P u Mat. O eS ee rp Quc S r r z p n cn G ah i k tt a i e 擎 经过 几 十 年 的 发展 后 ,经历 了 O eG S r d oe i (l h 3 s ; 句将 此模 型读 入场 Gu d . p n V , e N d F e’l t d”语 a l 'g . ) i Vr ,G ,e o e , u i n等等 多代 软 件 的 景 中 。 t eS I r r rM lg e pf m te o g e r: e s Vi we : Viw ve i w2 = H w o g e r e s Viwe . : 发展 ,目前已进入到先进 基础仿真软件 O e — pn S ee r h cn G a 的时代 ,据世界权 威现代仿真 网站 Ve ; 三维场景 p iw构建 w wm di . g 2 0 年 3 4月 份 的调 查统 w .os o 在 0 5 m r _ v w 一 gta e 0 >e r h so t t i 2>e m r e C a - st a i E n x G pc e 计 ,S O G在 世 界仿 真 软 件 市场 占有 率 已超 过 (e eWidw- gtrp is n o 0; v w r n o > e ahcWid w ) i G 5 %。所 以我们选择 OS 1 G这个开源 的平 台来构 设置场景视角的图形上下文。 建 三维渲染 场景 。操 作系统选用 L u n r i xEt — n e v w - gta r 0 >ePo cin tx i 2 > eC mea - str et Ma i— e j o r pie 51因为 Ln x可以最大 限度 的发挥 硬件 A P r et e (0o,a ccs d u l> (it) r ., s iu ses c v 3 .ftt at obe wdh p i si < sai at o b ( g t ,1 的性能 , 系统运行 占用硬 件资源较少 , 而且是开 / tte cs d u l>hih/) .,10 .) < e e 2 0 0 0O; 源 的, 可以很 方便 的移植 到其他 操作系统平 台。 设置场景视角的投影变换矩阵。 综 上所 述 ,我们 结合 L u i x下 的 O 这个 G I n t U v w2 > e a ea 一 st e pr(e s: i 一 gt m r 0 >e w otnw og: e C Vi 库 , ( 开发出的图形 用户界面上嵌入用 OS Ve p r0hi t ,it,egt ) 在 ) l G i ot , g / wdhhih/ ) w ( eh2 2; 库 生成 的三维 场 景 ,这 样 一个 基 于 Ⅱn 的 “ 设置场 景视角的视场 O G三维场景平台就搭建成功 了。 S ve 2 >eC mea n iua r(e sG : i - st a rMa p lo n w og A: w t 3 构建三维场景 , 将三维模 型导入场景 T a k al np lt 】 rc b Ma iua0 ; l r 31 . 首先 , 我们用 O 库生成一个 G I t U: 设 置场 景视角变换器
基于OSGEARTH的国产航天三维仿真软件设计
基于OSGEARTH的国产航天三维仿真软件设计施斌; 王华; 伍辉华; 姚宇婕; 杨洋【期刊名称】《《计算机系统应用》》【年(卷),期】2019(028)012【总页数】7页(P105-111)【关键词】OSG; OSGEARTH; 三维仿真; 国产化【作者】施斌; 王华; 伍辉华; 姚宇婕; 杨洋【作者单位】中国卫星海上测控部江阴 214431【正文语种】中文引言目前,航天领域的各类三维仿真软件仍然较依赖于国外成熟商用组件(如STK[1,2]),或者依赖于X86架构的硬件平台,无法完全满足“自主可控”要求.“自主可控”就是要依靠自身研发设计,全面掌握产品核心技术,实现信息系统从硬件到软件的自主研发、生产、升级、维护的全程可控.目前,国内已经开展了很多基于OSG或OSGEARTH的跨平台研究和应用,主要应用于虚拟校园漫游、城市三维场景、空战模拟场景、战场态势等方面[3-9],在航天三维仿真领域应用[10-13]不多,在全国产化平台(国产CPU板卡和国产操作系统)上经过可靠性和性能验证的更是空白.本文尝试针对全国产化平台进行航天三维仿真软件的设计和实现,以解决在全国产化平台上进行三维仿真的可靠性和渲染效率问题.1 相关概念1.1 国产化在CPU领域,目前较主流、成熟的国产化CPU是飞腾和龙芯.飞腾CPU采用ARM 指令集,目前主推的是FT1500A芯片,龙芯CPU采用RISC指令集,目前主推的是龙芯3A3000芯片,主频均达到1.5 GHz.国产化CPU芯片与X86芯片(主频大多在2.8 GHz以上)相比,主频相对落后,使用体验上存在明显差距,特别是在软件编译、图形绘制等计算量大的任务中更为明显.在显卡领域,目前尚未推出成熟的国产化显卡产品,暂时仍依赖国外显卡.在操作系统领域,目前已出现了中标麒麟、银河麒麟、深度Linux等多种国产操作系统,已经具备较强的替代能力,但在运行稳定性、性能等方面存在短板.1.2 OSG与OSGEARTHOSG是一个开源的场景图形管理开发库,为图形图像应用程序的开发提供场景管理和图像渲染优化功能[14].OSG具备跨平台特性,可以在大部分CPU上编译通过,可以运行于Windows、Linux等大多数操作系统,具备线程安全性. OSGEARTH是一个基于OSG的开源跨平台类库,提供了一个地理空间SDK和地形引擎,可以从数据源构建可视化地形模型和影像,方便快速构建基于三维数字地球的各类应用,在各领域已有广泛应用.2 系统设计2.1 系统架构航天三维仿真软件的系统架构如图1所示,底层是麒麟国产操作系统,第二层的Qt 提供基本界面功能支持,第三层的OSG提供三维仿真基础框架和功能,第四层的OSGEARTH提供三维数字地球相关的应用接口,顶层是三维仿真软件.三维仿真软件主要包括了场景资源初始化加载、三维场景管理、关键事件与视点控制、仿真动画控制、粒子系统控制、数据驱动、弹道数据筛选、弹道外推、地球自转及轨道推算、测站自动跟踪、多屏切换、场景配置等主要功能模块.关键流程如下:软件初始化时基于OSGEARTH加载地球影像和高程数据从而构建三维数字地球场景,然后通过网络接收弹道、关键事件等各类任务数据,弹道数据经过筛选、插值处理后驱动飞行器位置变化,关键事件数据通过事件机制触发相应动画播放,各模块协同实现飞行器三维仿真.2.2 地球影像和高程数据的组织在三维数字地球的构建过程中,涉及到地球的影像和高程数据的组织.软件通过OSGEARTH自动加载指定位置的影像和高程数据,叠加渲染在地球表面.考虑到影像和高程数据量大,非常消耗软硬件系统资源,而全国产化平台的性能一般,因此必须对影像和高程数据的加载进行优化.图1 软件系统架构图对于影像数据,地图影像数据量很大,10级全球地图影像大约需要15 GB,而道路标注影像数据相对较小.考虑到高精度影像数据不但占用空间,在进行三维场景渲染时也非常耗费资源,影响渲染效率.因此,软件采用分区域分层方式加载不同精度影像数据,共分三层:底层采用中等精度级别(如10级)的全球地图影像,中间层采用较高精度级别(如16级)的全球道路标注影像,上层采用较高精度级别的各发射场区域地图影像(如11-16级).当在火箭起飞离地面较近、可视地域较小时调用发射场区域的高精度数据,当火箭或飞行器远离地面、可视地域较大时调用全球低精度数据,而道路标注层数据量不大,采用全球高精度数据.对于高程数据,同样存在数据量大的问题,但简单地通过上述方式加载高程数据无法避免出现较明显的“地形断裂”现象.因此,软件仅在中国区域加载了一层中等精度级别(如10级)的高程数据,其他区域未使用高程数据.当火箭起飞至进入大气层前,恰在中国区域范围内,此时距离地面较近,加载中等精度地形,当火箭进入大气层后,此时距离地面较远,高空俯瞰对地形的关注程度降低,没有加载地形基本不影响整体演示效果.通过差异化的加载策略,在不同场景切换时,影像和地形不会出现明显突变现象,最大限度地减少了实时渲染的数据量,有效提升了渲染效率,保证了流畅的仿真效果. 2.3 三维场景的组织与构建OSG中存在场景树的概念,这棵树是一棵由Node(节点)组成的树,反映了场景的空间结构和可绘制对象的状态.场景树结构的顶部是一个根节点,从根节点向下延伸,各级树枝上的Group节点(组节点)包含了几何信息和用于控制其外观的渲染状态信息,底层的Geode节点(叶节点)包含了场景中物体的实际几何信息[15].通过建立场景树,OSG可以高效地渲染对应的三维场景.根据场景树的定义,构建出整个三维仿真场景对应的场景树结构,如图2所示.图2 三维场景组织图顶层的rootNode是整个场景的根节点,第二层的earthNode表示整个地球节点,所有具体的场景节点都隶属于该节点控制,第三层的earthPATNode是地球惯性系旋转节点,可以控制地球自转,其下属所有节点均随着该节点的旋转变化而进行相应的相对变化,第三层有3个分支:左侧的skyNode及其下各级节点是通过OSGEARTH加载外部的影像和高程数据后自动创建的,描述了天空和地球地形;中间的earthGroup是包含了各种附属于地表模型的组节点,第四层的3个节点分别代表测站、星下点轨迹和发射塔架,第五层及以下均是各类测站、星下点轨迹和发射塔架的具体组成节点;右侧的rktRootNode是火箭的根节点,第四层的rktLocalMT是火箭局部位移节点,用于完成火箭整体模型加载后从模型坐标系到真实火箭坐标系的转换,其下各级节点是火箭的各级部件和载荷的分层节点,centerMTNode是火箭中心位置节点,用于在火箭部件分离后火箭中心位置的调整,其下的节点是火箭轨迹线叶节点.某级节点的旋转平移就可以改变对应仿真对象的位置姿态,增加和删除某个节点就可以显示和隐藏相应仿真对象.在运行时,OSG将会按照以上的场景树结构逐层裁剪、渲染三维场景,通过合理、灵活地组织、调整场景树,即可高效地完成场景的渲染,有效提升在全国产化平台上的渲染效果.2.4 弹道数据筛选方法通过网络接收以驱动飞行器模型的弹道数据可能存在非正常数据(主要是相对飞行时出现跳动),因此在后端弹道数据插值处理前应先进行相应的筛选,避免不必要的计算处理,有效提升飞行器仿真流畅程度.整体流程只要满足网收启动的条件就循环执行.内部基本流程如下:首先,如果没有新数据到达或为非弹道类数据,则结束本轮处理,否则继续根据弹道数据和起飞时间计算当前弹道飞行时间rt,获取本地飞行时间lft(每秒自动计算当前本地时间与起飞时间之间的差值),并获取上一帧弹道数据的飞行时间rt0;然后,判断rt和rt0的大小,如果rt小于rt0,则数据非法,结束本轮处理,否则继续判断rt和lft的绝对误差,如果误差超过阈值Threshold,则数据非法,结束本轮处理,否则数据合法,继续完成弹道数据插值处理并更新数据引擎驱动模型的位置变化,转入下一轮处理.整体流程如图3所示.2.5 弹道外推自动控制在飞行器飞行过程中存在滑行段的过程,即一段时间没有弹道数据更新,或者突发的链路故障导致没有弹道数据更新,但飞行器模型的位置却不能中断更新,因此需要设计自动启停的弹道外推控制机制,根据当前速度和位置矢量预测飞行器的位置和速度,保证飞行器位置连续更新.软件中设计了弹道计数监视器DDMonitor和弹道外推驱动器PredictDriver,弹道计数监视器用于监视接收的弹道数据的计数并产生启动和停止信号,弹道外推驱动器用于实际控制弹道外推的启动和停止,这两个类都是线程类,主体函数Run函数在各自的线程中执行.当DDMonitor每隔固定时间进行轮询,如果判定进入滑行段则向PredictDriver发送DDStop信号,PredictDriver启动弹道外推,如果判定退出滑行段则向PredictDriver发送DDRecover信号,PredictDriver停止弹道外推.弹道计数监视器DDMonitor的轮询控制流程如图4所示,其中tSinceLast表示距离上次收到有效弹道后轮询的次数,isHXD表示滑行段标志(true为滑行段,false为非滑行段),isStart表示线程运行标志,lastCount表示上次收到的有效弹道计数值,maxSpan表示判定进入滑行段的最大轮询次数.图3 弹道筛选流程图2.6 测站自动跟踪在飞行器仿真过程中,需要显示各测站到目标飞行器的跟踪状态.当目标飞行器相对于测站出地平,即仰角大于等于0度,测站开始跟踪,显示跟踪线,当目标飞行器相对于测站入地平,即仰角小于0度,测站停止跟踪,隐藏跟踪线.基于目标跟踪的原理[16],通过OSG中节点更新回调机制实现测站自动跟踪.某个测站到目标飞行器的跟踪线通过跟踪线场景节点对象lineNode定义,lineNode节点注册一个节点回调对象TTCNodeCallback.测站自动跟踪的流程是这样的:当渲染整个三维场景的场景图且遍历至lineNode节点时,会自动调用回调函数并传入该测站的地理位置信息和飞行器目标节点对象targetNode,根据targetNode获取当前时刻目标的地理位置信息,从而计算出该测站到目标节点的仰角E.如果E<0,则清理lineNode的显示缓存,隐藏跟踪线,否则用测站和目标的位置信息更新lineNode的顶点信息,刷新lineNode的显示缓存,从而显示跟踪线.图4 弹道计数监视器轮询控制流程图2.7 基于地惯坐标系的地球自转设计在航天器分离后,需要根据轨道根数推算航天器飞行轨迹并展示.基于地惯坐标系的轨迹能形成趋于闭合的大椭圆轨迹,符合航天器在轨态势显示的需要. OSGEARTH中的世界坐标系是按照地固坐标系定义的,原点在地球中心,x轴向右(指向本初子午面),y轴指向屏幕里,z轴(地轴)向上.在该坐标系下地球是静止的,而地惯坐标系下地球是自转的.因此需要实现坐标系的转换和地球的自转.首先,进行坐标系转换.采用瞬时真赤道地心系(一种地惯坐标系)定义场景的坐标系统,而地固坐标系与它的差别即地球自转角——格林尼治恒星时S0[17].因此,在系统初始化时根据当时时刻计算S0,让地球绕z轴旋转S0角度,完成地球初始位置的设定.然后,实现地球的自转.在场景树中,地球是其中的一级节点,利用OSG中节点更新回调机制控制地球节点进行连续角度的旋转变化,从而实现地球的自转效果.地球节点注册一个节点回调对象EarthRotate Callback,当渲染整个三维场景的场景图且遍历至地球节点时,会自动调用回调函数并传入地球节点对象,回调函数的流程如图5所示,其中t0表示当前时刻值,lastT表示上一次回调时刻值,dt表示本次回调与上次回调的时间间隔,Span表示更新地球旋转的时间间隔(例如,按照1秒24帧的刷新频率,Span就设置为1/24秒),EarthRotSpeed表示地球自转角速度常量(7.292e-5 rad/s),deltaZaw表示dt时间间隔对应的地球自转角度.图5 地球自转回调函数流程图2.8 多屏输出与切换控制实际应用中,三维仿真窗口常需投影到外部设备(如超长超宽屏幕)进行全屏演示,这种需求往往通过分别部署于两个平台的控制端和显示端软件进行通信来实现.软件利用支持多屏输出显示的显卡和Qt中QDesktopWidget多屏显示[18]技术实现了同一软件在同一平台上进行多屏扩展显示与切换控制的效果,降低了软件结构的复杂性,避免了对网络通信的依赖,有效提升了在全国产化平台环境下切换控制的可靠性.以扩展3屏显示为例说明.在多屏显示环境的系统中,应用程序所在屏幕默认为主屏幕(screen 0),其他屏幕都是扩展屏幕(screen 1,screen 2,…),主屏幕的左下角屏幕坐标为(p.x,p.y).整个扩展显示区域横跨了3个扩展屏幕,其左下角坐标为(p.x+p.width,p.y),宽度e1.width+e2.width+e3.width,高度为p.height,其中p、e1、e2、e3分别表示主屏幕和3个扩展屏幕,width表示屏幕的宽度,height表示屏幕的高度,如图6所示.图6 多屏显示区域的定义在切换扩展显示时,首先按照上述定义扩展显示区域对象extWinGeometry,设置其宽度和高度;然后,将软件界面中的仿真演示窗口部件对象viewerWidget设置为扩展窗口extendWindow的中央窗口部件,将extendWindow的显示区域设置为extWinGeometry,设置extendWindow为无边框显示模式;最后,更新显示extendWindow即可实现扩展3屏效果.这样,主屏幕显示软件的控制界面,扩展的3屏显示仿真演示窗口.3 国产平台下的仿真验证在研发机房部署仿真验证环境,包括两台工作站,一台是国产化工作站(飞腾1500A、16 GB内存、1 TB硬盘、AMD RX570独显、银河麒麟操作系统4.0.2),部署航天三维仿真软件,一台部署数据仿真重演软件及数据处理软件.仿真重演软件加载仿真数据发送到数据处理软件经处理后,模拟任务网络环境向三维仿真软件发送数据,验证三维仿真的可靠性和渲染效率.仿真重演软件以100帧/s的帧频发送数据,三维仿真软件接收、仿真渲染均正常.飞行器三维仿真全过程中,仿真环境逼真、飞行器位置和姿态调整流畅,实时监测结果如图7所示,实时采集的三维渲染性能统计结果如表1所示.图7 三维仿真渲染效率实时监测结果表1 实时采集的三维渲染性能统计统计指标含义值帧速率每秒钟渲染帧数(fps)28.78事件处理时间每帧事件处理时间(ms)1.72更新时间对场景树遍历更新时间(ms)0.43拣选时间对场景树遍历拣选时间(ms)1.32绘制时间对场景树遍历绘制时间(ms)6.81 GPU渲染时间显卡GPU渲染时间(ms)28.65几何体数当前渲染的几何体数量(个)496三角形数当前渲染的三角形数量(个)207 862顶点数当前渲染的顶点数量(个)311 578根据实时渲染性能统计,在绘制几何体和三角形数量较大的情况下,平均渲染帧率不低于24 fps,能够较好满足三维仿真的需求.测站跟踪、模型动画、地惯坐标系下轨迹效果如图8至10所示.图8 测站跟踪图9 火箭助推器分离动画4 结论本文基于OSGEARTH设计和实现了一款国产航天三维仿真软件,通过地球影像和高程数据的差异化加载、场景树的优化构建、弹道数据筛选等设计策略,解决了在全国产化平台上进行三维仿真的可靠性和渲染效率问题,并通过仿真实验进行了验证.图10 空间目标在地惯坐标系下的轨迹下一步的研究方向:(1)进一步研究大规模地形组织和渲染效率的优化问题,使得软件加载更大范围、更高精度的地形成为可能;(2)在现有软件基础上,进一步实现可视化任务完成情况快速评估功能,并拓展至空间态势感知领域.参考文献【相关文献】1 张云燕,张科,李言俊,等.基于STK的月球任务设计与仿真.火力与指挥控制,2008,33(11):13-16.[doi:10.3969/j.issn.1002-0640.2008.11.004]2 范纪松,任辉,史红艳.STK三维战场态势研究与实现.火力与指挥控制,2017,42(6):132-135.[doi:10.3969/j.issn.1002-0640.2017.06.030]3 吴晓雪,王魏,李响,等.基于osgEarth虚拟校园漫游的研究.现代电子技术,2017,40(20):18-21.4 王雷,丁华.基于OSGEarth的大型三维空战场景的搭建.软件,2016,37(1):114-116,131.[doi:10.3969/j.issn.1003-6970.2016.01.025]5 于艳超,许捍卫,吴小东.基于OSGEarth的城市三维地物模型组织与调度研究.测绘与空间地理信息,2014,37(11):63-67.[doi:10.3969/j.issn.1672-5867.2014.11.018]6 韩哲,刘玉明,管文艳,等.osgEarth在三维GIS开发中的研究与应用.现代防御技术,2017,45(2):14-21.[doi:10.3969/j.issn.1009-086x.2017.02.003]7 陈波,任清华,杨化斌.基于OSGEARTH的三维数字地球平台设计与实现.电子科技,2015,28(10):65-68.[doi:10.3969/j.issn.1009-6108.2015.10.034]8 吴小东,许捍卫.基于OSGEarth的城市三维场景构建.地理空间信息,2013,11(2):107-110.[doi:10.11709/j.issn.1672-4623.2013.02.034]9 余航.基于OSG的战场态势三维可视化关键技术研究[硕士学位论文].西安:西安电子科技大学,2017.10 赵小丹.基于OSG的航天任务三维仿真系统研究与实现[硕士学位论文].重庆:重庆大学,2015.11 连云霞.基于OSG的运载器与航天器飞行仿真系统研究[硕士学位论文].太原:中北大学,2018.12 闫大洲.基于osgEarth的卫星轨道外推数据可视化仿真系统研究[硕士学位论文].太原:中北大学,2018.13 杨亮.空间任务视景仿真系统的设计与实现[硕士学位论文].北京:中国科学院研究生院(空间科学与应用研究中心),2007.14 肖鹏,刘更代,徐明亮.OpenSceneGraph三维渲染引擎编程指南.北京:清华大学出版社,2010.41-42.15 Wang R,Qian XL.OpenSceneGraph 3.0:Beginner’s Guide.Birmingham:Packt Publishing Ltd,2010.93-94.16 简仕龙.航天测量船海上测控技术概论.北京:国防工业出版社,2009.254-255.17 刘林.航天器轨道理论.北京:国防工业出版社,2000.17-21.18 金大臣尔.Qt5开发实战.张红艳,译.北京:人民邮电出版社,2015.77-79.。
osgEarth数据加载及组织解析
osgEarth数据加载及组织解析1. osgEarth的数据加载流程由前文可知,用户可以使用osgEarth自己的earth文件,简单指定各种数据源,而不用关心数据如何渲染,便能在三维球上显示各种地形数据。
本节,将会解读osgEarth如何解析earth文件,利用用户提供的数据源,来构建三维球上的各种地形。
图3.1所示是加载数据的整体流程,本节将就这四个步骤进行具体的解读。
图3.1 osgEarth数据加载整体流程1.1读取earth文件osgEarth继承了OSG的插件机制,所以osgEarth提供了专门读取earth文件的osgdb_earth插件。
通过查找并调用此插件,达到读取earh文件的目的。
图3.2 展示了查找读取earth插件的具体流程:图3.2查找读取earth插件的具体流程这个具体流程展示了osgEarth如何找到读取earth的插件----- osgdb_earth.dll。
这个流程其实也是osg插件机制中的具体流程,主要在read函数中根据文件后缀名查找读写插件,查找策略见前文2.1.3的OSG插件机制,找到插件后便根据文件名构建ReadNodeFunctor的仿函数,然后调用doRead()函数来具体读取。
无论读取earth文件,还是读取影像数据、高程数据或一般的文字,都是这样一个流程,通过找到具体插件后调用插件里的doRead函数。
在osgdb_earth中,主要就是将earth文件中的内容转换成后面构造map需要的conf对象。
图3.3展示了一个包含标签比较全面的earth文件,图3.4为转换后的conf结果结构图:-TT--'■-=nhs" r.:r==''bm 门门F、I _T 」r> ' --^-= - - - = ii ■; ii <.<imA(jp mflTrj>=fr l?-fl n dri ,Ff i T :=M arlal r,><url>,,/riatia/inwo«/1 7L -34-35-1095-1095/0 . ti f</uTl> </imac7e><elevaticin nai^e =rT «levati on M drl^e r= n adal 11><EJQ de 1 niELELe =,,irai Ldino"s ,rdrive r=1' feature QI &OBL 11 ><£eatuze3 nanue^bui LAI BQS 17 [ijrlvei:=natjr"><uil>・・ /data/bofiton_buildin7B_utnil9k alip</urL> <bui ld_3patiBl_index> al_inde: </feAtures><laynut><tile size ±actor>45</1ile size fac^QT>< Level Dane=rr dBfault w nax rBxge«n 2Q0Q0 r>oelectcr Glass-"hoildings H1/> </level></layouE> </mo 吐 elA "F 匸ion 普》图3.3普通earth 文件内部代码图3.4 earth 文件转换后的conf 对象结构图如图所示,将earth 文件中的标签转换成就conf 对象就是将标签语言的嵌套 转换成父子关系,然后每个对象包含自己的属性值。
基于基础测绘实景三维场景数据提供地理信息服务和应用的思考
基于基础测绘实景三维场景数据提供地理信息服务和应用的思考摘要:近年来,随着国内相关测绘单位陆续在基础测绘项目生产中采用了无人机和三维激光扫描等新型测绘装备和技术,基于倾斜摄影三维模型、三维激光点云模型、移动测量全景影像等实景三维场景数据进行DOM、DEM、DLG等基础测绘数据生产的技术已逐渐成熟。
但基于新型测绘技术获取的真正射影像(TDOM)、数字表面模型(DSM)、倾斜摄影三维模型、三维激光点云模型、移动测量全景影像等多种基于实景三维方式表达的地理信息场景数据,如何服务于国民经济建设和城市治理等相关领域,是目前国内地理信息行业发展面临的现实问题。
本文通过对实景三维场景数据的应用场景进行分析,并结合相关实景三维场景数据的需求调研分析,探讨一些解决思路。
关键词:基础测绘;实景三维场景数据;应用思考一、传统测绘产品的应用场景及改进需求以传统4D产品为代表的基础测绘成果中,目前服务于城市规划、设计和建设等相关领域的数字化基础测绘成果以数字线划图(DLG)和正射影像图(DOM)两种较为常用。
其中DLG数据成果格式主要以AutoCAD的dwg、ArcGIS的mdb或shp等为主;DOM数据成果格式主要以tif格式的正射影像为主;另外两种数据成果(即DEM和DRG)的实际应用场景较少。
DLG主要由包含平面投影坐标和高程信息的点、线、面、注记等要素组成。
依据《地形图图式》和相关地方数据标准中定义的专业符号、线型、注记等规则,可以基于二维场景描述建构筑物的坐落、交通水系的走向、植被地貌覆盖的范围、管线杆塔敷设与连接和各种地理名称的分布等平面信息,对于山地、丘陵等自然地形起伏和其他需要表示高低错落等三维信息的则采用等高线和高程点注记进行描述。
由于《地形图图式》在地形地貌的表述中包含了大量的图形语言和规则信息,具有极强的专业性,使许多非测绘专业的使用者很难完全理解DLG中各种符号、线型对应的真实含义。
为了满足近20年来城市精细化管理对地物要素代码分类细化的需求,并解决城市建设中出现的大量空间交错、形态各异的建构筑物及各种新增的公共服务设施等如何在DLG上表示的问题,国家测绘管理部门组织对《地形图图式》进行了两次修编和完善,对应的DLG地物要素分类代码个数也进行了相应的补充、增加和细分。
基于数字地球平台的三维虚拟数字城市建设
基于数字地球平台的三维虚拟数字城市建设作者:向加磊来源:《电脑知识与技术》2009年第36期摘要:利用数字地球平台GoogleEarth的基础地理框架和高分辨率卫星照片底图,使用建模工具进行三维建筑群模型建立,通过KML语法实现地理数据显示,实现了虚拟城市的建设和实施。
实验证明,数字地球平台凭借其在地理资源、三维显示、网络传输等方面的优势,是实现数字城市建设的有效工具。
关键词:数字地球;数字城市;三维建模;GoogleEarth;KML中图分类号:TP391文献标识码:A文章编号:1009-3044(2009)36-10313-03Based on Digital Earth Platform, Three-dimensional Virtual Digital City ConstructionXIANG Jia-lei(Zhejiang Frontier Corps, Beilun Frontier Inspection Station, Ningbo 315800, China)Abstract: The use of digital earth platform, GoogleEarth the basic geographic framework and high-resolution satellite photo base map, use the modeling tools for complex three-dimensional model building, through the KML syntax to achieve geographic data, to enable a virtual city construction and implementation. Experiments show that digital terrestrial platform, by virtue of its geographical resources, three-dimensional display, network transmission, and other areas is to achieve an effective tool for the construction of digital cities.Key words: digital earth; digital city; three-dimensional modeling; GoogleEarth; KML1 数字地球概述“数字地球”(Digital Earth)作为一个名词,由前美国副总统戈尔于1998年1月31日在美国加利福尼亚科学中心发表的题为“数字地球:认识21世纪的人类星球”的讲演中正式提出。
osgearth实践应用案例
osgearth实践应用案例
1. 地理信息系统(GIS)应用:osgEarth可以与GIS软件集成,用于创建高度精确的地理信息系统。
例如,osgEarth可以用于创建地图、分析地形数据、显示地理位置等。
2. 3D可视化:osgEarth可以将地理数据转化为3D模型,实现地理数据的可视化展示。
例如,osgEarth可以用于创建虚拟地球模型,展示地球上的地形、水域、建筑物等。
3. 地理数据分析:osgEarth提供了丰富的地理数据分析功能,可以进行地形分析、地理数据可视化等。
例如,osgEarth可以用于分析地形高程数据,计算坡度、坡向等地形指标。
4. 场景模拟与规划:osgEarth可以用于场景模拟与规划,例如城市规划、交通规划等。
osgEarth可以将地理数据与实时数据结合,进行场景模拟和规划分析。
5. 航空航天应用:osgEarth可以用于航空航天应用,例如飞行模拟、无人机导航等。
osgEarth可以创建高度精确的地球模型,用于飞行仿真和导航。
6. 智能交通系统:osgEarth可以与交通系统集成,用于交通数据可视化和分析。
例如,osgEarth可以显示交通拥堵情况,进行交通流量预测等。
以上仅为osgEarth的一些实践应用案例,osgEarth还可以应用于许多其他领域,如农业、环境保护、水资源管理等。
osgEarth基础入门
osgEarth基础⼊门osgEarth基础⼊门2015年3⽉21⽇16:19osgEarth是基于三维引擎osg开发的三维数字地球引擎库,在osg基础上实现了⽡⽚调度插件,可选的四叉树调度插件,更多的地理数据加载插件(包括GDAL,ogr,WMS,TMS,VPB,filesystem等),再结合⼀套地理投影转换插件,这样就能够实现⾼效处理加载调度地理数据在三维地球上的显⽰,实现三维虚拟地球。
想要实现⼀个简单的基于osgEarth的三维地球,有两种⽅式,这两种⽅式是互通的。
⼀种基于XML标签的earth⽂件加载,另外⼀种是采⽤C++代码,本质是⼀样的,osgEarth内部⽀持直接解析XML标签⽂件,转换为代码实现,具体参考tests⽂件夹例⼦,代码则参考application 下⾯例⼦。
但是⼤多数情况下,你需要更灵活掌控性更强的代码来实现功能,因为只有⼀个加载了基础数据的三维地球是只能看,不能解决实际问题的,需要界⾯通常采⽤QT,更多的三维渲染和仿真业务则由osg来完成。
因此学好osg是做这⼀切的基础。
osgEarth的特点:⽀持加载常见的栅格数据(影像和DEM),但是⼤数据必须建⽴⾦字塔,设置为地理投影,想要⾼效率最好处理为⽡⽚,这样也便于部署在服务端。
⽮量数据,最好尽可能的简化,因为⼤的⽮量会⼗分影响渲染速度,当然也可以对⽮量栅格化处理加快速度,对于模型的话,⼤数据量⼀定要做LOD或者pageLod。
osgEarth程序的常规流程:创建osgViewer---->创建MapNode---->设置Earth操作器---->设置场景参数----->runMapNode是继承⾃osg的Node,是osgEarth中地球节点,你所添加的影像,DEM,模型都包含在MapNode中,因为它们都加⼊到Map中,Map则类似⼆维中的Map可以添加各种图层。
剩余的不管是模型节点Node,或者是标注Node,还是其他的都是可以直接添加到MapNode中或者另外的Group中。
浅谈Google Earth平台的3D GIS系统构建
浅谈Google Earth平台的3D GIS系统构建一、3D GIS的概述3D GIS(三维地理信息系统),它是面向体的一种信息技术,是将三维空间坐标(x,y,z)作为独立参数来进行空间实体的几何建模,其数学表达:F=(x,y,z),所建立的模型不仅可以实现三维可视化,还可以进行三维空间分析。
1、3D GIS的功能三维GIS除了要具备二维GIS的传统功能以外,还应该具有如下独有的功能:①可视化2.5维、三维对象三维GIS的首要特色是要能对2.5维、三维对象进行可视化表现。
在建立和维护三维GIS的各个阶段中,不论是对三维对象的输入、编辑、存储、管理,还是对它们进行空间操作与分析或是输出结果,只要涉及到三维对象,就存在三维可视化问题。
三维对象的几何建模与可视表达在三维GIS建设的整个过程中都是需要的,这是三维GIS的一项基本功能。
②三维空间DBMS管理三维GIS的核心是三维空间数据库。
三维空间数据库对空间对象的存储与管理使得三维GIS既不同于CAD、商用数据库与科学计算可视化,也不同于传统的二维GIS。
它可能由扩展的关系数据库系统也可能由面向对象的空间数据库系统存储管理三维空间对象。
③三维空间分析在二维GIS中,空间分析是GIS区别于三维CAD与科学计算可视化的特有功能,在三维GIS中也同样如此。
空间分析三维化,也就是在直接在三维空间中进行空间操作与分析,连同上文述及的对空间对象进行三维表达与管理,使得三维GIS明显不同于二维GIS,同时在功能上也更加强大。
2、3D GIS数据获取方法空间数据获取是GIS建设和运行的基础,如果能够实现三维空间信息的实时廉价获取,将促使3D GIS获得更加迅猛的发展。
近年来三维数据获取技术有了重大进步,特别是航空与近景摄影测量、机载与地面激光扫描、地面移动测量与GPS等传感器的精度与速度都有了明显的提高。
已经由传统的大地测量和工程测量方式发展到一些更方便和快捷的获取3D空间数据的技术方法。
基于OSGEarth的城市三维场景构建
基于OSGEarth的城市三维场景构建吴小东;许捍卫【摘要】基于OSGEarth开源工程,采用LOD与分页、动态调度等技术,研究了三维地形、影像、地物组织、调度及融合方式;并以泰州市为例,实现了基于OSGEarth城市三维场景的构建,达到良好的效果,为以后的中小城市“数字城市”建设提供了空间框架.%In this paper, on a basis of the OSGEarth open-source project, we researched on 3D terrain, images, objects organization, scheduling and fusion techniques, carried out by the use of the technologies of LOD (Levels of detail), paging and dynamic scheduling and so forth. Taking Taizhou for example, the construction of urban 3D scene with good results was acquired by using OSGEarth, which provided a spatial frame for future construction of small and medium-sized digital cities.【期刊名称】《地理空间信息》【年(卷),期】2013(011)002【总页数】4页(P107-110)【关键词】OSGEarth;三维场景;泰州【作者】吴小东;许捍卫【作者单位】河海大学地球科学与工程学院,江苏南京210098【正文语种】中文【中图分类】P208城市三维场景构建是“数字城市”建设[1]的关键技术之一。
面对TB级以上的海量数据,虽然随着计算机硬件技术的发展,在一定程度上缓解了大规模数据渲染的问题,但是仍然无法从根本上解决“有限的系统资源与无限大的数据量的矛盾”。
基于BIM+GIS的室内外三维一体化系统设计与实现
基于BIM+GIS 的室内外三维一体化系统设计与实现廖菊燕柳州市勘察测绘研究院有限公司 广西柳州 545000摘要: 传统的虚拟场景是基于三维GIS 平台进行建立的,注重对海量地形数据的组织与调用、多分辨率地形的描述以及多源数据的集成,主要从宏观角度对室外地形环境进行表达,缺少室内空间的相关描述。
BIM 和GIS 两者优势互补,两者的结合能够实现室内外空间的一体化三维表达,实现微观和宏观的结合。
基于设计的框架,设计并开发了BIM+GIS 室内外仿真原型系统,以OSGEarth SDK 为基础,通过C++语言的二次开发,将上述方法进行集成,实现了集成可视化交互、信息交互、交互建模以及分析应用四大应用模块的室内外一体化空间的三维可视化场景,并针对具体应用实现了室内外一体化任务推演。
关键词: 三维一体化 BIM GIS 仿真原型系统中图分类号: TP274文献标识码: A文章编号: 1672-3791(2024)01-0018-04Design and Implementation of an Indoor and Outdoor 3DIntegrated System Based on BIM+GISLIAO JuyanLiuzhou Surveying and Mapping Research Institute Co., Ltd., Liuzhou, Guangxi Zhuang Autonomous Region,545000 ChinaAbstract: The traditional virtual scene is built based on a 3D GIS platform, and it focuses on the organization and invocation of massive terrain data, the description of multi-resolution terrain and the integration of multi-source data, mainly expresses the outdoor terrain environment from a macro perspective, but lacks the relevant description of the indoor terrain environment. The advantages of BIM and GIS are complementary, and the combination of the two can achieve the integrated 3D expression of indoor and outdoor space and realize the combination of micro and macro. This paper designs and develops a BIM+GIS indoor and outdoor simulation prototype system. Based on the design framework, on the basis of OSGEarth SDK, through the secondary development of C++, the system inte‐grates the above methods, realizes the 3D visualization scene of indoor and outdoor integrated space that integrates the four application modules of visual interaction, information interaction, interactive modeling and analysis and application, and realizes indoor and outdoor integrated task deduction for specific applications.Key Words: 3D integration; BIM; GIS; Simulation prototype system由于数据源的限制,3D GIS 创建的3D 场景通常使用抽象的几何对象(如点、线、面、体等)来表示真实世界。
osgearth介绍
osgearth介绍osgEarth为开发osg应⽤提供了⼀个地理空间SDK和地形引擎.osgEarth的⽬标:l 提供基于osg开发3D地理空间应⽤的⽀持;l 直接从数据源可视化地形模型和影像变得更加简单;l 提供对开放式绘图标准,技术和数据的交互操作;在很多情形下,osgEarth可以替代离线地形数据库创建⼯具,你可以通过osgEarth完成如下⼯作:获取地形基础地图并快速⽽流畅的运⾏访问开放式标准的地图数据服务,例如WMS和TMS将基于web服务的影像数据和本地存储的数据整合在运⾏时嵌⼊新的地理空间数据层超时处理可能改变的数据集成商业数据源社区资源osgEarth是⼀个⾃由开源的SDK,任何⼈⽃可以获取源码,同时欢迎和⿎励参与社区的测试,新功能研发和bug修复.⼯具osgEarth⾃带很多协助处理earth⽂件和地理空间数据的⼯具.osgearth_viewer从命令⾏加载并显⽰⼀个地图.osgEarth提供的地球操纵器⽤于控制相机,对地理空间数据的浏览进⾏了优化.osgearth_version显⽰osgEarth的当前版本号.osgearth_cache管理osgEarth的缓存.osgearth_cache较常⽤的⽤法:通过⾮交互⽅式--seed参数⽣成缓存信息.osgearth_cache --seed file.earthosgearth_package从earth⽂件创建⼀个基于TMS格式,可重复发布的包。
osgearth_package --tms file.earth --out packageosgearth_conv将⽡⽚源中到内容拷贝到另⼀个⽂件。
所有参数以键值对⽅式出现,需要为每个驱动选项查找头⽂件。
当然,输出驱动必须⽀持写(通过实现ReadWriteTileSource接⼝)。
"in"属性来⾃于GDALOptions getConfig⽅法。
"out"属性来⾃于MBTilesOptions getConfig⽅法。
基于osgEarth三维数字地球建设的研究
基于osgEarth三维数字地球建设的研究吴晓雪;任鸿翔;张显库;谷军;何南【摘要】The eMule-project based on osgEarth is an important application which combined the geographic information system and virtual reality technology. Taking the three-dimensional earth based on osgEarth for example, this paper used lod, paging, dynamic scheduling and other technologies, researched 3d terrain, image, object organization, scheduling and integrated approach, and also analysed template body technology in drawing linear vector data and scene hierarchy hidden in the technology. In Visual Studio 2010 platform, the OpenSceneGraph was used to program language. The experimental results proved the feasibility of the technology, and realized the construction of three-dimensional digital earth.%基于osgEarth开源工程是将地理信息系统和虚拟现实技术结合起来的一个重要应用。
以基于osgEarth三维数字地球建设的研究为例,采用 LOD与分页、动态调度等技术。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
34 信息化测绘技术应用TECHNOLOGY APPLICATION摘 要:基于osgEarth 开源库,使用其自带的dem 高程数据和dom 正射影像数据切片工具,对数据进行金字塔切片,通过配置文件实现矢量数据、瓦片数据、三维模型的加载和显示,快速构建简单的三维场景。
关键词:osgEarth;天地图;dem;dom;三维模型基于osgEarth 的本地化三维场景构建和应用刘洪双(河南省地图院,河南 郑州 450008)作者简介:刘洪双 (1977― ),男,汉族,从事地图测绘程序研发工作。
E-mail:37735159@1 引言openSceneGraph 是一个开源的三维引擎,被广泛地应用在可视化仿真、游戏、虚拟现实、科学计算、三维重建、地理信息、太空探索、石油矿产等领域。
osg 采用标准C++和OpenGL 编写而成,可运行在所有的Windows 平台、OSX、GNU/Linux、IRIX、Solaris、HP-Ux、AIX、Android 和FreeBSD 操作系统。
osgEarth 是基于三维引擎osg 开发的三维数字地球引擎库,在osg 基础上实现了瓦片调度插件,可选的四杈树调度插件,更多的地理数据加载插件(包括GDAL、ogr、WMS、TMS、VPB、filesystem 等),再结合一套地理投影转换插件,这样就能够实现高效处理加载调度地理数据在三维地球上的显示,实现三维虚拟地球。
本文主要介绍利用osgEarth 对本地三维数据的调用,包括对“天地图”发布的WMTS 服务的调用、本地矢量数据的调用、dem 高程数据的金字塔切片和调用、dom 影像数据的金字塔切片和调用、模型的制作和调用等技术。
2 “天地图”瓦片服务的调用“天地图”提供了丰富的矢量数据、栅格数据服务接口,提供了覆盖全球的地理信息数据。
其中中国的数据覆盖了从宏观的中国全境到微观的乡镇、村庄。
因此,利用osgEarth 调用天地图提供的数据,并跟本地数据结合,实现快速建模,快速更新,快速发布,将有利于地方虚拟城市和三维地形的建设和发展,提供新型的地理信息服务模式。
可以从网上下载已经编译好的osgEarth 程序包,也可以自己下载osgEarth 源码和所需要的插件库和osgEarth 使用的开源库,利用CMake 对源码进行编译,生成dll 文件和可执行exe 文件,在此不作详细论述,下面着重讲述调用方法。
在下载的程序包目录下新建六文件,其中三个批处理dat 文件,三个earth 配置文件。
见图1。
tianditu.bat 为批处理文件,内容如下:cd ./binosgearth_viewer ../tianditu.earthtianditu.earth 为osgEarth 的配置文件。
内容如下:<map name="tianditu" type="geocentric" version="2"><image name="WX_weixing" driver="xyz"><url>/img_w/wmts?service =wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet =w&TileMatrix={z}&TileRow={y}&图1 程序安装目录图TileCol={x}&style=default&format=tiles</url><profile>spherical-mercator</profile><cache_policy usage="none"/><visible>TRUE</visible></image><image name = "world" driver = "gdal"><url>data/world.tif</url></image><heightfield name = "henan" driver = "gdal"><url>data/henan.tif</url></heightfield><model name = "oil" driver="simple"><url>data/oil.ive</url><location>113.721133 34.7723194 1</ location></model><model name="boundaries" driver="feature_geom"> <features name="dishijie" driver="ogr"><url>data/dijishi.shp</url><build_spatial_index>true</build_spatial_ index><transparency>false</transparency></features><styles><style type="text/css">world {s t r o k e: #FFEE88;stroke-opacity: 1.0;stroke-width: 4.0;altitude-offset: 300.0;}</style></styles></model></map><image>标签下面的url地址为天地图Web墨卡托投影的卫星影像WMTS服务地址,另外一个<image>是本地卫星影像tif文件地址[1]。
<heightfield>标签为dem数据文件地址。
<profile>标签下是球形墨卡托投影。
<model>一个模型的数据源(例如,功能、数据、外部模型)。
<driver>读取特征数据的驱动插件名称。
配置完成后,双击 tianditu.bat,启动自带的osgViewer程序并读取tianditu.earth配置文件。
3 dem数据的金字塔切片和调用osgEarth通过配置文件tianditu.earth可以调用本地的dem数据。
例如:把dem文件henan.tif拷贝到data文件夹下面,在配置文件中加入如下代码,就可以实现对本地dem数据的加载和显示。
<heightfield name = "henan" driver = "gdal"><url>data/henan.tif</url></heightfield>由于dem数据文件较大,要加快浏览速度,或者直接在iis服务器中进行发布是不合适的(例如: http://ip/data/henan.tif),可以采用金字塔切片的方法对dem数据进行矢量瓦片化处理,即使用osgEarth自带的osgearth_package工具,对dem数据进行切片[2]。
在图1中在dem.earth 文件添加如下代码:<m a p n a m e="F e a t u r e G e o m e t r y D e m o"type="projected" version="2"><heightfield name = "henan" driver = "gdal"><url>data/henan.tif</url><tile_size>32</tile_size></heightfield></map>在dem.dat 执行如下命令:cd ./binosgearth_package ../dem.earth --tms --ext tif--out f:\tms\就会在 f:\tms\ 文件夹下面生成一个henan文件夹,里面存储dem金字塔切片文件。
修改tianditu.earth文件中的配置信息:<heightfield name = "henan" driver = "tms"><url>F:/tms/henan/tms.xml</url></heightfield>2017/ 4 3536 信息化测绘技术应用TECHNOLOGY APPLICATION图2 地形图4 卫星影像的金字塔切片和调用osgEarth 也可以通过tianditu.earth 配置文件调用本地的卫星影像数据。
例如:把world.tif 拷贝到data 文件夹下面,在配置文件中加入如下代码,就可以加载显示本地的影像数据。
<image name = "world" driver = "gdal"> <url>data/world.tif</url></image>可以使用osgEarth 自带的工具,对dom 影像数据进行金字塔切片处理。
在图1dom.earth 文件中添加如下代码:<m a p n a m e ="F e a t u r e G e o m e t r y D e m o " type="projected" version="2"> <image name = "world" driver = "gdal"> <url>data/world.tif</url> <tile_size>256</tile_size> </image> </map>在dom.dat 执行如下命令:cd ./binosgearth_package ../dom.earth --tms --ext png --out f:\dms\就会在 f:\dms\ 文件夹下面生成一个world 文件夹,里面存储dom 影像金字塔切片文件。