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控制項,可將三維視窗、資訊樹和導航圖以控制項物件的方式嵌入到使用者自定義的視覺化介面中。skyline開發只有乙個元件類入口,那就是terraexplorerclass,在例項化terraexplorerclass後,其他terraexplorer coclass inte***ces中所有的介面都實現了terraexplorerclass類,而skyline中的各種物件(iterraexplorerobject5 inte***ce中,如iterrainpolyline5、iterrainlabel5、iterrainbuilding5等等)則都是由coclass inte***ces中的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;
///
/// 初始化物件和事件
///
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");
關於各個介面的使用在本文中就不作介紹了。
skyline軟體體系及工作流程
skyline軟體系列平台提供了從 資料生產 編輯 到網路發布 的一整套的成熟的商業解決方案。無論是單機環境還是網路環境,使用者都能夠根據自己的需求進行功能定製,建立起自己的三維地理資訊系統。本文主要從skyline軟體的工作流程出發,介紹一下skyline的軟體體系結構。一 資料生產 terrab...
軟體平台構建
mplab c for pic18 v3.35 upgrade version的安裝程式到microchip的 有 破解程式乙個,對v3.35有效 原理是建立假檔案,騙過c18 upgrade version的安裝程式 先執行執行破解程式,選擇c18即將要安裝的路徑後按儲存 之後直接執行c18 up...
軟體外包平台
專案眾包 無憂案例 程式設計師客棧 快碼眾包 kuaima.co coding碼市 猿團 oschina眾包 zb.oschina.net 碼易眾包平台 geekmayi.com 人人開發 rrkf.com 帝天科技 外包團隊,不是眾包平台 碼客幫 www.make8.com 我愛方案網 kb.52...