初識WorldWind——WorldWind編譯生成,解決亂碼等問題

本文中World Wind的GitHub下載地址:https://github.com/hujiulin/WorldWindhtml

美國國家航空航天局(National Aeronautics and Space Administration, NASA)主導的World Wind是全球開發人員共同參與研發的一個開源地理信息系統項目。由NASA Research開發,NASA Learning Technologies來發展,將地球的衛星、電子、地形地圖以及其餘地理數據經過一個三維的數字化的地球進行展現,旨在面向各行業的數據集成,支持WMS、WFS、WTMS等服務,是一款很是優秀的三維客戶端框架繪製引擎。它使用了XML對數據進行描述和設置,具備良好的通用性和擴展性。World Wind目前有基於.NET和Java開發的兩種版本。World Wind除了三維地球的基礎功能以外,還具備很強的可擴展性,具備多種功能性插件,支持谷歌、微軟等發佈的地圖(衛星、電子、地形)數據。java

本文主要解決了World Wind編譯、運行、中文亂碼等問題。git

[1].源碼的下載,環境的配置,源碼的編譯[使用國際網絡,以防網絡不能訪問]github

源碼的下載:windows

WorldWind分爲.Net和java兩種版本,Nasa的官方網站是:http://worldwind.arc.nasa.gov/java/服務器

提供java版本的下載。網絡

.Net版本的下載:app

http://worldwind31.arc.nasa.gov/svn/trunk/WorldWind/框架

這裏提供的是svn,建議用svn進行download編輯器

備註:上述SVN是經過http://www.worldwindcentral.com/wiki/Source_code 維基百科找到的。

環境的配置:

1. 須要提早裝好DirectX9

源碼的編譯:

1.亂碼:會發現不少字符串相關的語法錯誤。文件編碼引發

在VS的解決方案管理器裏右鍵文件

選「打開方式」,

選「帶編碼功能的CSharp編輯器」

選「西歐(windows)-代碼頁 1252」

打開文件,無亂碼

文件菜單文件的保存編碼改爲UTF8,再保存源碼文件

備註:受影響的文件有6個左右

2. LoaderLock問題:

菜單(調試-》異常)——》異常窗口 ——》ManagerDebuggingAssistants ——》去掉LoaderLock選項

3. 註冊表權限問題:

打開HtmlEditor項目的屬性,取消「生成(Build )」選項卡的爲COM互操做註冊(’Register for COM interop’)前的勾選

4.開始運行程序,發現一切正常,可是從初始化界面到程序自己須要等待較長的時間,這是由於中國連不上worldwind的服務器形成的緣由,worldwind本身也提供離線模式,亦能夠修改xml中wms服務器的url。此處暫時採用的辦法是註釋掉如下兩行代碼:

Worldwind->PluginSDK->ConfigurationLoader.cs中:

262行:

image

321行:

image

5. 運行程序,加載Initializing的畫面錯位

經過調試發如今worldwind.cs中的public MainApplication()中[563行],

image

使用splash窗體。

Splash窗體:

Splash構造函數

image

能夠看到picturebox的代碼註釋,並且窗體上並沒有picturebox的控件。

使用的是image 屬性。

image

將圖片調整成如圖所示的樣子,啓動程序正常。

決定將源碼備份到百度網盤和本身的svn服務器上。[百度的服務器上沒上傳成功]

剛纔遷移了worldwind的源碼,出現一個問題:

從新生成,清理項目都沒有用。

image

解決方法:

刪除該文件:

image

刪除以後,需從新配置:

image

問題解決。

備註:第一次運行程序時,稍微須要等下。

若是缺乏引用:AVIFile.dll FlickrNel.dll等引用,請將Release模式切換爲Debug,便可徹底編譯運行經過。[固然具體緣由是須要將對應dll拷貝到Release目錄下。]

在解決亂碼問題的時候,部分人遇到一個狀況:主界面顯示度數的地方會造成「擄」這樣的亂碼,這是由於亂碼問題並沒獲得徹底解決,請在「高級選項保存」時選擇:帶簽名的UTF-8保存便可解決該問題。

亂碼的文件有:

Project File
WorldWind Compass3D.cs
WorldWind GPSTrackerPlugin.WorldWind.cs
WorldWindow WorldWindow.cs
PluginSDK ConfigurationLoader.cs
PluginSDK Angle.cs

亂碼問題所有解決:

image

今天將svn上的代碼,遷移到x64的機器上編譯,程序不能運行,調試模式下看到錯誤:

「未處理的「System.BadImageFormatException」類型的異常」

解決方式:

Any CPU或者x64模式-》改爲x86,而後將output path改爲與「..\bin\Debug\」

從新生成解決方案,編譯運行便可成功:

image

參考連接:http://cesiumcn.org/topic/206.html | 國內快速訪問:http://cesium.coinidea.com/topic/206.html

相關文章
相關標籤/搜索