Skyline軟體系列平台

來源:互聯網
上載者:User
Skyline軟體系列平台提供了從資料生產、編輯到網路發布的一整套的成熟的商業解決方案。無論是單機環境還是網路環境,使用者都能夠根據自己的需求進行功能定製,建立起自己的三維地理資訊系統。本文主要從skyline軟體的工作流程出發,介紹一下skyline的軟體體繫結構。

 

一、資料生產----TerraBuilder

     我們知道,要建立起一個真正的三維地理資訊系統,首先必須要有DEM以及遙感影像資料,它們是構成三維情境的基礎。skyline軟體家族中的TerraBuilder 所扮演的角色就是利用DEM以及遙感影像資料來搭建自己的三維情境。

    TerraBuilder 支援絕大數格式的DEM以及影像資料,並且可以支援多CPU伺服器或多台機器同時運算(TerraBuilder  Fuser模組)。

    TerraBuilder 有兩種方式產生出skyline自己的三維情境資料:一種是MPT資料,它是TerraBuilder計算出來的一個三維情境檔案(尾碼名是.mpt);還有一種方式是不事先計算好mpt檔案,而是即時運算DEM和影像資料(DirectConnect模組,並且與TerraGate結合),即時發布給瀏覽器(TerraExplorer Pro或TerraExplorer Viewer),這時的資料是.tbp尾碼的檔案。後面這種即時發布模式顯然可以避免耗時很長的運算MPT檔案的時間,實現快速發布更新較為頻繁的資料。

 

二、資料編輯----TerraExplorer Pro

    在TerraBuilder建立好MPT檔案或tbp檔案後,便可以在TerraExplorer Pro軟體中開啟三維地形資料,然後便可以進行各種編輯工作,包括添加GIS專題圖層、標繪、3D模型等等,從而建立起更加真實豐富的三維虛擬環境。經過TerraExplorer Pro的各項處理和編輯工作,再進行打包(Basic kit)儲存,產生一個.FLY尾碼的檔案,它儲存了地區的三維地形資訊(注意並不是地形資料)以及在地形情境中建立的各種對象資訊(二維的以及三維的)。FLY檔案有點類似於ArcGIS的mxd檔案,它可以在本地由pro或viewer開啟,或通過IIS發布,供用戶端開啟。

 

三、資料網路發布----三維地形資料發布TerraGate、向量資料發布Streaming Feature Server(SFS)

    TerraGate是一款強大的地形傳輸伺服器,它能夠同時向數以千計的客戶傳送三維地形資料(MPT檔案或DirectConnect即時形成的三維地形資料)。TerraGate的運行是基於網路無縫可變頻寬的,並且不會被連通性的潛伏和中斷而影響。當網速較慢而地形資料傳送不暢時,初始影像便以低解析度的形式被使用者接收,使用者就可以進行三維瀏覽顯示,而不用等到所有資料傳送完畢。

    SFS是skyline自己的向量資料發布工具,即skyline自己構建的WFS。它能夠讀取各種資料來源,包括Oracle Spatial、ArcSDE、Shape檔案資料等等,通過緩衝機制實現向量資料的高效傳輸。

四、二次開發

    TerraExplorer API提供了一套強大的介面用來整合TerraExplorer、TerraExplorer Pro和使用者自訂應用,同時也提供了一套ActiveX控制項,可將檢視區 3D、資訊樹和導航圖以控制項對象的方式嵌入到使用者自訂的可視化介面中。skyline開發只有一個組件類入口,那就是TerraExplorerClass,在執行個體化TerraExplorerClass後,其他TerraExplorer CoClass Interfaces中所有的介面都實現了TerraExplorerClass類,而skyline中的各種對象(ITerraExplorerObject5 Interface中,如ITerrainPolyline5、ITerrainLabel5、ITerrainBuilding5等等)則都是由CoClass Interfaces中的IObjectManager介面建立。

         //skyline中的介面定義

        private TerraExplorer objTerraExplorer;

        private ITerraExplorer51 objITerraExplorer;

        private IMenu objIMenu;

        private IInformationTree5 objIInformationTree5;

        private ISnapShot2 objISnapShot;

        private IPlane5 objIPlane5;

        private IRender5 objIRender5;

        private IObjectManager5 objIObjectManager5;

        private ICoordSys3 objICoordSys3;

        private ITerrain5 objITerrain5;

        private IContainer2 objIContainer2;

        private ILayer5 objILayer5;

        /// <summary>

        /// 初始化對象和事件

        /// </summary>

        private void InitializeTerraExplorer()

        {

            objTerraExplorer = new TerraExplorerClass();

            objITerraExplorer = objTerraExplorer as ITerraExplorer51;

            objIMenu = objTerraExplorer as IMenu;

            objICoordSys3 = objTerraExplorer as ICoordSys3;

            objIObjectManager5 = objTerraExplorer as IObjectManager5;

            objIInformationTree5 = objTerraExplorer as IInformationTree5;

            objIPlane5 = objTerraExplorer as IPlane5;

            objIRender5 = objTerraExplorer as IRender5;

            objISnapShot = objTerraExplorer as ISnapShot2;

            objITerrain5 = objTerraExplorer as ITerrain5;

            objIContainer2 = objTerraExplorer as IContainer2;

            objILayer5 = objTerraExplorer as ILayer5;

            objTerraExplorer.OnLButtonDown += new _ITerraExplorerEvents5_OnLButtonDownEventHandler(objTerraExplorer_OnLButtonDown);

            objTerraExplorer.OnObjectAction += new _ITerraExplorerEvents5_OnObjectActionEventHandler(objTerraExplorer_OnObjectAction);

        }

            //載入資料

            objITerraExplorer.Load(@"D:\Default.fly");

    關於各個介面的使用在本文中就不作介紹了。

本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/westdusk/archive/2010/05/22/5617196.aspx

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.