开源地图引擎有哪些(OSG开源框架)

开源地图引擎有哪些(OSG开源框架)

本文首发于2021年9月。

01

概述

提到三维地球,可能大家首先想到的就是谷歌地球(GoogleEarth),这个GIS行业的搅局者,是它在近些年让GIS行业有了更蓬勃地发展。

而谷歌地球,最早是由Keyhole团队开发的一个名为EarthViewer的三维地球应用程序。

Keyhole团队一开始在MapQuest和Esri的夹缝中艰难地生存,这个在当时认为“看起来很酷但并无用处”的软件在很长一段时间内都没有找到自己的市场定位,后来终于在房地产行业找到了赖以生存的一席之地。

谷歌地球

尽管紧接着陆续地进入了更多的行业,但Keyhole团队几乎一直入不敷出,直到伊拉克战争爆发后,主播在新闻报道中使用EarthViewer作为战场演示的相关报道,这才让它在美国本土被大众所知晓。

02

最牛的桌面端三维地球开源引擎

虽然桌面端的谷歌地球(GoogleEarth)无论在三维地形地貌的呈现上,还是在用户的操作体验上都是最优秀的,但令人扼腕叹息的是,它并不是一个开源的三维地球桌面端。

迄今为止,osgEarth无疑是令人亲睐的桌面端三维地球开源引擎,现在世面上琳琅满目的三维地球桌面端平台,几乎都是基于osgEarth二次开发的结果。

切换到三维地球

水经微图中基于osgEarth进行二次开发的桌面端三维地球模块,如下图所示。

基于osgEarth的三维地球

因此,我们说osgEarth是最牛的桌面端三维地球开源引擎,这显然已经是一个不争的事实。

osgEarth 是一个用于OpenSceneGraph (OSG)的可扩展地形渲染工具包,它是一个开源、高性能、3D 图形工具包。只需创建一个简单的 XML 文件,将其指向您的图像、高程和矢量数据,将其加载到您最喜欢的 OSG 应用程序中,然后开始!osgEarth 支持各种数据,并附带大量示例,可帮助您快速轻松地启动和运行。

03

osgEarth的核心功能特点

(1)在osgEarth中部署可扩展地形模型

尽管是在离线条件下,也可以动态创建三维地形

不需写任何代码就可以加载全球的三维地形

可以显示高分辨率的影像图层

可动态融合显示图像、高程和矢量数据源

可通过设置地图切片缓存以最大限度地提高性能

可通过调整图层不透明度以获得多纹理效果

(2)osgEarth 地形渲染以外的其它功能

可在地形上显示悬垂的矢量 (GIS) 数据

可在不同坐标参考系之间进行数据重投影

可导入外部的3D模型与三维地形表面进行叠加

进行快速的三维点拾取

可将新数据与现有的 VPB 数据库进行合并而无需重建它们

访问地形图块以进行非视觉处理

(3)支持加载多种GIS数据

支持加载GeoTIFF 图像和数字高程模型 (DEM) 文件等许多其他格式

支持加载ESRI Shape 矢量数据

支持所有符合 OGC 标准的网络地图数据(如WMS)

可加载通过MapServer或ESRI ArcGIS Server发布的 GIS 图层

支持加载如OpenStreetMap、ArcGIS Online或NASA OnEarth等在线地图数据

04

osgEarth的二次开发

在osgEarth的官方网站,提供了关于osgEarth安装方法和二次开发等相关文档和说明,如下图所示。

osgEarth官方网站

05

最牛的Web端三维地球开源引擎

谷歌在2008年推出了基于Web端的三维地球,而且为公众提供了免费的Google Earth API,这使开发人员能够使用 JavaScript 在浏览器中构建丰富的 3D 地图应用程序。

但是由于Google Earth API 建立在一种称为NPAPI 插件框架的技术之上,出于安全原因,Chrome和Firefox都宣布将取消对这个框架的支持。

Google Earth API 试用申明

尽管如此,谷歌还是保留了网页版本的谷歌地球,虽然功能没有桌面版那么多,但的确通过网页查看比通过桌面程序查看要方便得多。

Google Earth Web 版

谷歌对Google Earth API的弃用,让原本基于该平台开发的许多应用程序不得不转战其它平台,而这个时候还有什么平台可以选择呢?

纵观整个行业,能担下Google Earth API下一棒任务的,就非开源的Cesium三维地球莫属了。为此,Cesium还特别提供了Google Earth API 应用迁移到 Cesium 的教程,如下图所示。

Google Earth API 迁移教程

因此,我们说Cesium是目前最牛的Web端三维地球开源引擎,一点也不为过。

06

Cesium的核心功能特点

(1)无需插件支持

由于Cesium 使用 WebGL 进行硬件加速图形,因此它完全用 JavaScript 编写,不需要安装插件。

也正是因为Google Earth API离不开插件的支持,所以才会被谷歌弃用。

(2)跨平台、跨设备、跨浏览器

Cesium 可在 Windows、Linux 和 Mac 上运行,无论是台式机和移动设备,还是在 Chrome、Firefox、IE 11 和 Opera 中都能很好的兼容。

(3)开源

Cesium 是开源的,使用 Apache 2.0 许可证,它可免费用于商业和非商业目的的用途。

(4)支持开放标准和开放格式

Cesium 通过支持开放标准和开放格式,如 WMS、WMTS 和 GeoJSON等,并且地形格式也是开放的。

(5)稳定性

Cesium 代码经过公开同行评审、单元测试,代码覆盖率超过 90%,静态分析和记录,确保了平台的稳定性。

自 2012 年 8 月以来,Cesium 一直每月发布一次。

(6)详细的API文档

除了数据驱动的可视化之外,Cesium 还提供了一个详细的文档化 API,用于对相机、图像加载、几何批处理和小部件等事物进行细粒度控制。

(7)支持多种视图

Cesium 支持 3D、2D 和哥伦布视图(2.5D),所有这些都具有相同的 API。

(8)无缝 HTML 集成

由于 Cesium 不是插件,因此其他 HTML 元素(例如 UI)可以在其上进行合成。

07

Cesium的二次开发

在Cesium的官网,Cesium为用户提供了大量的开发示例代码和运行的效果图,如下图所示。

开发示例

三维模型加载示例(一)

三维模型加载示例(二)

08

开机即用的离线三维地球系统

随着GIS在各个行业的不断深入,基于三维地球平台开发行业务功能的需求越来越迫切。

为此,我们为大家部署好了开机即可使用,并且同时部署了osgEarth桌面端和Cesium网页Web端的《水经注全球三维离线GIS系统》基础平台,而用户则只需要在该平台的基础之上专注业务功能的开发即可。

该系统基于电脑硬件和离线地图数据等不同参数分为低配版、标配版和高配版。

《水经注全球三维离线GIS系统》低配版

《水经注全球三维离线GIS系统》标配版

《水经注全球三维离线GIS系统》高配版

09

总结

本文为大家分享了两个最牛的三维地球开源引擎,一个是基于桌面端的osgEarth三维开源地球平台,另一个是基于Web端的Cesium三维开源地球平台。

而我们在这两个最牛的开源平台基础上,对全球上百TB的全球卫星影像进行了离线部署,成功构建了一套“通电即可,开机即用”的离线三维地球系统基础应用平台。

鉴于不同行业有不同的个性化需求,我们的工作只能到此为止,但我们也可以在此平台的基础之上有偿提供一些力所能及的业务功能开发服务。

发表评论

登录后才能评论