陳 踴 黎 剛 徐 潔
摘要:ArcGIS Mobile是ESRI從ArcGIS 9.2開始推出的移動GIS開發(fā)框架,它的出現(xiàn)把ArcGIS Server應(yīng)用擴展到了移動領(lǐng)域。介紹了ArcGIS Mobile的主要特點和功能,以及開發(fā)移動GIS的軟硬件要求和主要開發(fā)方式,并分析和探討了實現(xiàn)移動GIS的關(guān)鍵技術(shù),最后展望了其發(fā)展應(yīng)用前景。
關(guān)鍵詞:ArcGIS Mobile;移動GIS;GPS
中圖分類號:TN929.5文獻(xiàn)標(biāo)識碼:A文章編號:1672-3198(2009)23-0301-02
1引言
隨著各種智能手機、導(dǎo)航設(shè)備、UMPC(超便攜電腦)在內(nèi)的各種移動終端的迅速普及,移動設(shè)備開始在人們生活和業(yè)務(wù)中發(fā)揮越來越重要的作用。人們可以隨時隨地完成以前只有在辦公室或家里才能完成的工作,智能終端加無線互聯(lián)網(wǎng)已經(jīng)成功應(yīng)用到人們生活的方方面面。
2ArcGIS Mobile及移動GIS介紹
作為GIS界世界上最大的軟件公司,ESRI公司在2008年推出了新一代移動GIS開發(fā)包——ArcGIS Mobile,它主要的優(yōu)點是基于微軟最新的.NET Compact Framework平臺,能夠提供強大的數(shù)據(jù)同步應(yīng)用和開發(fā)定制支持,可被用于在智能手機、UMPC等智能設(shè)備上創(chuàng)建和部署專業(yè)移動GIS應(yīng)用。這些應(yīng)用支持與ArcGIS Server的無線同步、GIS數(shù)據(jù)復(fù)制和野外在線編輯。除了支持在線應(yīng)用外,ArcGIS Mobile也支持離線應(yīng)用,這種靈活的模式使ArcGIS Mobile應(yīng)用在移動環(huán)境下有著非常好的伸縮性。
在ArcGIS9.3產(chǎn)品系列中,ArcGIS Mobile開發(fā)包是作為ArcGIS Server產(chǎn)品的一個擴展模塊發(fā)布的。ArcGIS Mobile SDK是一個基于Microsoft.NET Framework的構(gòu)建高性能移動GIS應(yīng)用的軟件開發(fā)包,它主要包含一套用于移動GIS開發(fā)的控件。
基于ArcGIS Mobile的移動GIS系統(tǒng),通過與GPS、無線網(wǎng)絡(luò)以及移動數(shù)據(jù)庫等技術(shù)的結(jié)合,可以實現(xiàn)以下豐富的功能:
(1)查詢?yōu)g覽空間數(shù)據(jù)和屬性信息,顯示影像地圖和街景圖片等。
(2)接收GPS信號并定位、獲取位置坐標(biāo)、記錄軌跡、路線導(dǎo)航和監(jiān)控追蹤等。
(3)能夠編輯點、線、面等空間要素,能夠與服務(wù)器實現(xiàn)無線同步和實時交互。
(4)支持多種空間數(shù)據(jù)格式,可以訪問WMS、WFS等符合OGC標(biāo)準(zhǔn)的數(shù)據(jù)源。
(5)基于移動數(shù)據(jù)庫技術(shù),能實現(xiàn)豐富的數(shù)據(jù)應(yīng)用和數(shù)據(jù)管理。
以上多種功能的組合,可以使移動GIS應(yīng)用于各種領(lǐng)域,如城市網(wǎng)格化管理、環(huán)境監(jiān)測、農(nóng)林調(diào)查、車輛監(jiān)控等。
3基于ArcGIS Mobile的移動GIS的開發(fā)方式
3.1軟硬件環(huán)境
ArcGIS Mobile目前只支持微軟的Windows Mobile平臺,其開發(fā)需要.NET Compact Framework的支持,后者是用于移動或嵌入式設(shè)備的.NET Framework版本,它包含了移動應(yīng)用程序運行所需要的公共語言運行時和類庫。開發(fā)工具可以選擇Visual Studio 2005或Visual Studio 2008。
各種基于Windows Mobile的智能手機、UMPC等移動設(shè)備都支持ArcGIS Mobile。如果需要GPS支持,該移動設(shè)備還必須內(nèi)置GPS接收功能,或者通過藍(lán)牙連接外置的GPS模塊。如果需要在移動設(shè)備上上網(wǎng)和進(jìn)行數(shù)據(jù)同步的話,該設(shè)備還必須支持SIM卡或Wi-Fi,前者可以利用GPRS實現(xiàn)無線上網(wǎng),后者則可以通過無線路由器接入網(wǎng)絡(luò),從而實現(xiàn)與服務(wù)器的連接。
3.2創(chuàng)建地圖服務(wù)和數(shù)據(jù)
ArcGIS Mobile基于ArcMap進(jìn)行圖層組織和地圖設(shè)計。由于移動設(shè)備一般在野外工作,因此在設(shè)計地圖時要對地圖的顏色搭配和符號樣式有嚴(yán)格的要求,地圖要盡可能的簡潔,以方便野外工作人員進(jìn)行查看和編輯。
用戶可以用ArcCatalog發(fā)布設(shè)計好的地圖文件。在ArcCatalog中創(chuàng)建地圖服務(wù)時,在服務(wù)類型中,一定要勾上“Mobile Data Access”一項,這樣建立的地圖服務(wù)就支持ArcGIS Mobile應(yīng)用。另外,用戶也可以通過ArcGIS Server Manager,在IE中發(fā)布和管理地圖服務(wù)。ArcGIS Server Manager提供了一種基于網(wǎng)頁的輕量級的后臺管理平臺,用戶可以在遠(yuǎn)程機器上實現(xiàn)對服務(wù)器上的地圖服務(wù)的建立、啟動、停止和刪除等操作。
由于ArcGIS Mobile支持離線應(yīng)用,即在沒有網(wǎng)絡(luò)連接的時候,可以調(diào)用本地設(shè)備上的地圖緩存數(shù)據(jù),這增強了系統(tǒng)的靈活性,也有利于程序開發(fā)和調(diào)試。因為打開地圖緩存的速度比在服務(wù)器上打開一個地圖服務(wù)快很多,并且可以減少和GIS服務(wù)器數(shù)據(jù)同步的數(shù)據(jù)量。
生成地圖緩存的方式有幾種,可以用ArcGIS Mobile SDK中的Extractor程序,也可以用ArcToolbox中的工具生成。在工具箱中,找到“Mobile Tools”,ArcToolbox專門為Mobile應(yīng)用提供了兩個工具,其中“Generate Mobile Service Cache”就是用以生成Mobile地圖服務(wù)的緩存。
3.3創(chuàng)建移動應(yīng)用程序
一旦組織和發(fā)布了一個支持Mobile應(yīng)用的地圖服務(wù),就可以利用該地圖服務(wù)來建立應(yīng)用程序了。由于不同智能設(shè)備平臺的應(yīng)用程序的差別,在Visual Studio 2005中新建項目時,要根據(jù)自己持有的設(shè)備類型來創(chuàng)建一個新的移動設(shè)備項目。
在Visual Studio 2005下提供了基于控件的智能設(shè)備應(yīng)用程序開發(fā)。在工具箱的“ArcGIS Mobile Controls”選項卡中提供了與Mobile開發(fā)的各種控件,其中Map控件提供了對地圖內(nèi)容進(jìn)行管理和控制的功能。當(dāng)給窗體添加了一個Map對象時,會發(fā)現(xiàn)Map自動綁定了一個MobileService對象,在ArcGIS Mobile中,地圖內(nèi)容通過MobileService控件獲得和發(fā)送,Map則主要負(fù)責(zé)表現(xiàn)。地圖服務(wù)地址和地圖緩存路徑的設(shè)置也保存在MobileService對象中。
Map控件中還需要設(shè)置放大、縮小和漫游等地圖操作,這通過Map控件的MapActions實現(xiàn)。同時通過添加Pan MapAction等幾個基本操作控件并把相應(yīng)的按鈕事件對應(yīng)到這些地圖操作上,一個基本的移動GIS應(yīng)用就實現(xiàn)了。
3.4程序調(diào)試與部署
智能設(shè)備仿真器可以模擬實際的移動設(shè)備,因此可以方便的用來進(jìn)行程序調(diào)試。用戶可以在目標(biāo)平臺中選擇以Emulator結(jié)尾的仿真器來調(diào)試程序,也可以選擇真實的移動設(shè)備進(jìn)行調(diào)試。
當(dāng)程序編譯成功后,可以直接把生成的可執(zhí)行文件拷貝到移動設(shè)備上。如果采用仿真器,則通過在仿真器中設(shè)置共享目錄的方式,把程序從主機拷貝到仿真器的內(nèi)存中。如果使用真實設(shè)備,則可以省略設(shè)置共享目錄的操作,而直接在PC中通過資源管理器訪問連接的移動設(shè)備,并拷貝相關(guān)程序。程序拷貝完后,即完成了部署,可以直接單擊運行。
4移動GIS開發(fā)的關(guān)鍵技術(shù)
4.1無線網(wǎng)絡(luò)技術(shù)
無線網(wǎng)絡(luò)技術(shù)擺脫了線纜約束,真正實現(xiàn)了隨時隨地的無線接入網(wǎng)絡(luò),對移動GIS系統(tǒng)的發(fā)展影響重大。
無線網(wǎng)絡(luò)技術(shù)可分為兩類:一類是移動通信網(wǎng)技術(shù),如2G、2.5G、3G等;另一類是無線局域網(wǎng)(WLAN)技術(shù),如Wi-Fi等。目前的移動GIS系統(tǒng),多采用第一類無線網(wǎng)絡(luò)技術(shù)接入互聯(lián)網(wǎng),提供的服務(wù)也主要受制于其低帶寬。即將到來的3G時代,移動終端以車速移動時,傳輸速率為144Kbps,室外靜止或步行時速率為384Kbps,而室內(nèi)則高達(dá)2Mbps??梢灶A(yù)見,隨著無線網(wǎng)絡(luò)接入技術(shù)的發(fā)展,約束移動GIS系統(tǒng)的“瓶頸”將會被逐漸解決。
對于支持SIM卡的智能設(shè)備(如智能手機),可以利用其無線通信能力實現(xiàn)自定義的功能。從WM5.0開始,微軟在.NET Compact Framework中提供了豐富的托管類庫,以支持對智能設(shè)備上的電話、短信和聯(lián)系人等進(jìn)行二次開發(fā)。在.NET Compact Framework中提供的SystemState類主要用于收集和監(jiān)視系統(tǒng)的很多狀態(tài)信息,包括日歷、郵件、電話、同步、電源等。RegistryState類用于監(jiān)視注冊表某鍵值發(fā)生變化。Phone類提供直接彈出電話撥通界面,并提供Talk方法,該方法傳入電話號碼(string類型)后即可撥號。還有PocketOutlook類所提供的Appointment(約會)、Task(計劃)、Contact(聯(lián)系人)、短信和郵件的操作。
用戶通過調(diào)用相應(yīng)的接口,可以很快的實現(xiàn)移動GIS需要的功能,如通過短信定時發(fā)送智能設(shè)備的經(jīng)緯度坐標(biāo),從而實現(xiàn)位置跟蹤等。
4.2移動數(shù)據(jù)庫技術(shù)
目前在WM系統(tǒng)下開發(fā)基于數(shù)據(jù)庫的移動應(yīng)用時,可以選擇的移動數(shù)據(jù)庫有Pocket Access和SQL Server CE。SQL Server CE是用于移動設(shè)備上的小型關(guān)系數(shù)據(jù)庫,它支持常見的結(jié)構(gòu)化查詢語言(SQL)語法,以及提供開發(fā)模式和與SQL Server兼容的API,已成為簡化移動應(yīng)用系統(tǒng)開發(fā)的強大工具。
在.NET Compat Framework未出來之前,開發(fā)基于數(shù)據(jù)庫的移動應(yīng)用時,采用的是Embedded Visual Tools 3.0中的VB或VC++,使用OLEDB for SQL Server CE或ADOCE來訪問SQL Server CE數(shù)據(jù)庫。在SQL Server CE 2.0推出后,加入了對.NET Compact Framework的支持,用戶可以直接用Visual Studio.NET中的ADO.NET來訪問數(shù)據(jù)庫了。
在智能設(shè)備中數(shù)據(jù)庫的關(guān)鍵技術(shù)是要實現(xiàn)與服務(wù)器的同步問題。在SQL Server CE中,提供了遠(yuǎn)程數(shù)據(jù)訪問(RDA)或合并復(fù)制兩種技術(shù)實現(xiàn)移動設(shè)備與服務(wù)器上數(shù)據(jù)的同步。這意味著,智能設(shè)備應(yīng)用程序不僅可以訪問自身的SQL Server CE數(shù)據(jù)庫,還可以通過TCP/IP連接直接訪問服務(wù)器上的SQL Server數(shù)據(jù)庫,從而實現(xiàn)數(shù)據(jù)同步。
4.3GPS移動定位技術(shù)
無論在行業(yè)應(yīng)用還是個人應(yīng)用,GPS(Global Positioning System,全球定位系統(tǒng))技術(shù)的使用已經(jīng)變得非常廣泛。微軟從Windows Mobile 5.0開始,推出了GPS Intermediate Driver(GPS中間驅(qū)動程序,以下簡稱GID),使開發(fā)基于GPS的Windows Mobile應(yīng)用程序變得更加簡單。GID的原理是在開發(fā)人員編寫的應(yīng)用程序和GPS設(shè)備之間加入一個中間層,使開發(fā)人員不需要通過串口直接訪問GPS設(shè)備,而是訪問GID提供的API函數(shù),GID再去訪問GPS設(shè)備。從而使編寫出來的GPS應(yīng)用程序具有設(shè)備無關(guān)性。
在ArcGIS Mobile中提供了三個控件來支持GPS功能的快速開發(fā)。FileGpsConnection控件提供文件GPS連接,它可以從一個包含GPS數(shù)據(jù)的文本文件中,模擬一個GPS連接,這樣在調(diào)試中會非常方便;SerialPortGpsConnection控件則提供串口GPS連接,這主要用在實際應(yīng)用中;GpsDisplay和上述兩種GpsConnection聯(lián)動,實現(xiàn)GPS信息在地圖上的表現(xiàn)。
通過GPS與GIS技術(shù)的結(jié)合,可以實現(xiàn)各種與位置有關(guān)的地理信息服務(wù)(LBS,Location Based Services),從而大大擴展了移動GIS的應(yīng)用領(lǐng)域。
參考文獻(xiàn)
[1]@許捍衛(wèi).移動式GIS發(fā)展的關(guān)鍵技術(shù)及應(yīng)用前景[J].測繪工程,2003,12 (1):34-36.
[2] @許穎,魏峰遠(yuǎn).移動GIS關(guān)鍵技術(shù)及開發(fā)模式探討[J].測繪與空間地理信息,2008,(8).
[3] @陳穎彪,千慶蘭,陳健飛.嵌入式GIS數(shù)據(jù)采集與導(dǎo)航系統(tǒng)設(shè)計技術(shù)與功能[J].地球信息科學(xué),2008,10(5).
[4] @孔凡隨,鄒學(xué)忠.移動GIS關(guān)鍵技術(shù)及其應(yīng)用[J].現(xiàn)代測繪,2005,(6):53-64.