兩個最牛的三維地球開源引擎

概述

提到三維地球,可能大家首先想到的就是谷歌地球(GoogleEarth),這個GIS行業的攪局者,是它在近些年讓GIS行業有了更蓬勃地發展。

而谷歌地球,最早是由Keyhole團隊開發的一個名為EarthViewer的三維地球應用程式。

Keyhole團隊一開始在MapQuest和Esri的夾縫中艱難地生存,這個在當時認為“看起來很酷但並無用處”的軟體在很長一段時間內都沒有找到自己的市場定位,後來終於在房地產行業找到了賴以生存的一席之地。

兩個最牛的三維地球開源引擎

谷歌地球

儘管緊接著陸續地進入了更多的行業,但Keyhole團隊幾乎一直入不敷出,直到伊拉克戰爭爆發後,主播在新聞報道中使用EarthViewer作為戰場演示的相關報道,這才讓它在美國本土被大眾所知曉。

最終,Keyhole的整個團隊被如日中天的谷歌收購,才有了今天的谷歌地球(GoogleEarth)。

這裡有點跑題了,關於谷歌地球(GoogleEarth)前世今生的精彩故事,本公眾號近期會單獨撰文與大家分享,

今天我們要與大家分享的是兩個最牛的三維地球開源引擎!

最牛的桌面端三維地球開源引擎

雖然桌面端的谷歌地球(GoogleEarth)無論在三維地形地貌的呈現上,還是在使用者的操作體驗上都是最優秀的,但令人扼腕嘆息的是,它並不是一個開源的三維地球桌面端。

迄今為止,osgEarth無疑是令人親睞的桌面端三維地球開源引擎,

現在世面上琳琅滿目的三維地球桌面端平臺,幾乎都是基於osgEarth二次開發的結果。

同樣地,在水經微圖中的三維地球模組,也是基於osgEarth二次開發的成果,在軟體地圖顯示區的左下角點選“地球”按鈕,可以切換到三維地球,如下圖所示。

兩個最牛的三維地球開源引擎

切換到三維地球

水經微圖中基於osgEarth進行二次開發的桌面端三維地球模組,如下圖所示。

兩個最牛的三維地球開源引擎

基於osgEarth的三維地球

因此,我們說osgEarth是最牛的桌面端三維地球開源引擎,這顯然已經是一個不爭的事實。

在GIS行業,osgEarth應該是無人不知、無人不曉,如果你還是第一次聽說它的話,可以透過官方網站的一段文字描述(原文是英文)對它進行初步瞭解!

osgEarth 是一個用於OpenSceneGraph (OSG)的可擴充套件地形渲染工具包,它是一個開源、高效能、3D 圖形工具包。只需建立一個簡單的 XML 檔案,將其指向您的影象、高程和向量資料,將其載入到您最喜歡的 OSG 應用程式中,然後開始!osgEarth 支援各種資料,並附帶大量示例,可幫助您快速輕鬆地啟動和執行。

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等線上地圖資料

osgEarth的二次開發

在osgEarth的官方網站,提供了關於osgEarth安裝方法和二次開發等相關文件和說明,如下圖所示。

兩個最牛的三維地球開源引擎

osgEarth官方網站

你也可以透過“如何在內網離線釋出全國高程DEM資料並在OsgEarth中呼叫瞭解在osgEarth中離線載入衛星影像與高程的具體方法。

最牛的Web端三維地球開源引擎

谷歌在2008年推出了基於Web端的三維地球,而且為公眾提供了免費的Google Earth API,這使開發人員能夠使用 JavaScript 在瀏覽器中構建豐富的 3D 地圖應用程式。

但是由於Google Earth API 建立在一種稱為NPAPI 外掛框架的技術之上,出於安全原因,Chrome和Firefox都宣佈將取消對這個框架的支援。

因此,谷歌官方在2014年宣佈棄用 Google Earth API ,以下是官宣原文。

兩個最牛的三維地球開源引擎

Google Earth API 棄用申明

儘管如此,谷歌還是保留了網頁版本的谷歌地球,雖然功能沒有桌面版那麼多,但的確透過網頁檢視比透過桌面程式檢視要方便得多。

兩個最牛的三維地球開源引擎

Google Earth Web 版

谷歌對Google Earth API的棄用,讓原本基於該平臺開發的許多應用程式不得不轉戰其它平臺,而這個時候還有什麼平臺可以選擇呢?

縱觀整個行業,能擔下Google Earth API下一棒任務的,就非開源的Cesium三維地球莫屬了。為此,Cesium還特別提供了Google Earth API 應用遷移到 Cesium 的教程,如下圖所示。

兩個最牛的三維地球開源引擎

Google Earth API 遷移教程

因此,我們說Cesium是目前最牛的Web端三維地球開源引擎,一點也不為過。

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)可以在其上進行合成。

Cesium的二次開發

在Cesium的官網,Cesium為使用者提供了大量的開發示例程式碼和執行的效果圖,如下圖所示。

兩個最牛的三維地球開源引擎

開發示例

兩個最牛的三維地球開源引擎

三維模型載入示例(一)

兩個最牛的三維地球開源引擎

三維模型載入示例(二)

你也可以透過“開源三維地球Cesium中如何離線載入衛星影像和高程DEM資料”一文【點選檢視】瞭解在Cesium中離線載入衛星影像與高程的具體方法。

開機即用的離線三維地球系統

隨著GIS在各個行業的不斷深入,基於三維地球平臺開發行業務功能的需求越來越迫切。

為此,我們為大家部署好了開機即可使用,並且同時部署了osgEarth桌面端和Cesium網頁Web端的《水經注全球三維離線GIS系統》基礎平臺,而

使用者則只需要在該平臺的基礎之上專注業務功能的開發即可。

該系統基於電腦硬體和離線地圖資料等不同引數分為低配版、標配版和高配版。

兩個最牛的三維地球開源引擎

《水經注全球三維離線GIS系統》低配版

兩個最牛的三維地球開源引擎

《水經注全球三維離線GIS系統》標配版

兩個最牛的三維地球開源引擎

《水經注全球三維離線GIS系統》高配版

《水經注全球三維離線GIS系統》尤其適用於有高度保密要求的企事業單位,

你可以透過“水經注全球三維離線GIS系統”一文【點選檢視】瞭解關於該系統的更多引數說明。

總結

本文為大家分享了兩個最牛的三維地球開源引擎,一個是基於桌面端的osgEarth三維開源地球平臺,另一個是基於Web端的Cesium三維開源地球平臺。

而我們在這兩個最牛的開源平臺基礎上,對全球上百TB的全球衛星影像進行了離線部署,成功構建了一套“通電即可,開機即用”的離線三維地球系統基礎應用平臺。

鑑於不同行業有不同的個性化需求,我們的工作只能到此為止,但

我們也可以在此平臺的基礎之上有償提供一些力所能及的業務功能開發服務。