王 閃,彭清山,程 琦,周 亮,高能攀
(武漢市測繪研究院,湖北武漢 430022)
隨著計算機、網(wǎng)絡、數(shù)據(jù)庫等技術(shù)的更新,GIS技術(shù)的發(fā)展呈現(xiàn)出新的特點和趨勢,應用領(lǐng)域得到大幅拓寬,基于互聯(lián)網(wǎng)的WebGIS就是其中之一。WebGIS[1]將 Internet和 GIS 技術(shù)結(jié)合在一起,以互聯(lián)網(wǎng)為環(huán)境,把Web頁面作為GIS軟件的用戶界面,可在計算機網(wǎng)絡上實現(xiàn)地理數(shù)據(jù)的顯示、瀏覽、查詢、分析、輔助決策等功能[2]。WebGIS使用B/S架構(gòu),具有建設成本低、維護更新便捷、保密性能好等諸多優(yōu)勢,從而在工程勘測、設計和規(guī)劃數(shù)據(jù)管理工作中得到廣泛應用。構(gòu)建WebGIS的軟件種類繁多。其中,美國Esri公司的ArcGIS Server系列產(chǎn)品是目前我國市場上應用最為廣泛的WebGIS平臺,已成功應用于大量企業(yè)級GIS應用與服務系統(tǒng)的構(gòu)建[3]。
AutoCAD是美國Autodesk公司于1982年開發(fā)的自動計算機輔助設計軟件,現(xiàn)已經(jīng)成為國際上廣為流行的圖形設計工具。AutoCAD在圖形數(shù)據(jù)的采集和編輯方面擁有強大的功能,使其在測繪、國土、城市規(guī)劃等領(lǐng)域得到了廣泛應用[4]。AutoCAD最初開發(fā)的目的是為了滿足機械、建筑等設計方面的需求,導致其在地圖和地理信息的管理方面存在著諸多先天性的不足(如屬性數(shù)據(jù)管理不便、沒有嚴格的拓撲關(guān)系、空間分析難以實現(xiàn)),但是其在制圖表現(xiàn)形式、繪制方式等方面卻有著常規(guī)GIS系統(tǒng)無法比擬的強大優(yōu)勢[5-6]。因此,很多地理信息的數(shù)據(jù)采集、編輯工作使用AutoCAD完成。
隨著WebGIS在工程設計、規(guī)劃數(shù)據(jù)管理等領(lǐng)域應用的不斷深入,設計人員常常需要將使用Auto-CAD系統(tǒng)生成的圖形數(shù)據(jù)與WebGIS系統(tǒng)發(fā)布的地圖進行疊加分析,以方便設計人員比較圖形數(shù)據(jù)與地圖底圖兩者在空間位置、大小上的差異,從而及時發(fā)現(xiàn)設計、規(guī)劃數(shù)據(jù)的問題[7-8]。通常在C/S架構(gòu)下客戶端直接將AutoCAD矢量數(shù)據(jù)讀取導入到ArcGIS平臺并配以指定的空間參考即可實現(xiàn)數(shù)據(jù)疊加。但是B/S架構(gòu)下客戶端為瀏覽器,無法直接讀取AutoCAD矢量數(shù)據(jù)[9-10]。因此,很少有WebGIS系統(tǒng)提供AutoCAD矢量數(shù)據(jù)的實時疊加功能,從而制約了疊加分析的實時性和效率,限制了WebGIS系統(tǒng)的應用范圍。本文提出基于WebGIS平臺,通過Auto-CAD矢量數(shù)據(jù)的實時發(fā)布,快速直觀地實現(xiàn)了圖形數(shù)據(jù)與GIS數(shù)據(jù)的在線疊加分析,提高了工作效率。
為了實現(xiàn)將AutoCAD矢量數(shù)據(jù)與WebGIS系統(tǒng)發(fā)布的地圖服務進行圖形疊加,需要將AutoCAD圖形文件從客戶端上傳至服務器,由服務器來負責讀取并轉(zhuǎn)換為MapService發(fā)布。本文采用方法是將AutoCAD矢量數(shù)據(jù)上傳至ArcGIS Server服務器,服務器端讀取數(shù)據(jù)并添加到MXD文檔中,然后將該MXD文檔發(fā)布為一個MapService。
整個AutoCAD矢量數(shù)據(jù)的發(fā)布流程為“圖形文件上傳→ArcObjects讀取圖形文件→賦予空間參考→使用MXD文檔發(fā)布地圖服務”4步。
1)客戶端選擇需要與WebGIS系統(tǒng)所發(fā)布的地圖服務進行圖形疊加顯示的AutoCAD圖形文件,系統(tǒng)通過實現(xiàn)文件上傳功能的Web Service,將該文件上傳至用以完成MapService服務發(fā)布的ArcGIS Server。
2)服務器新建一個空白的MXD文檔后,使用ArcObjects將該AutoCAD圖形文件整體作為一個CadLayer讀取,或?qū)utoCAD圖形文件中的要素分為點、線、面、注記等類分層作為FeatureLayer讀取。
3)對于讀取后的CadLayer(或FeatureLayer),賦予WebGIS系統(tǒng)發(fā)布的地圖服務所使用的空間參考,將圖層添加到MXD文檔并保存。
4)使用服務器上擁有發(fā)布MapService權(quán)限的用戶標識連接到ArcGIS Server后,新建一個MapS-ervice并對其進行必要的服務配置后,將MXD文檔路徑賦予該MapService并添加到該服務器后完成服務發(fā)布。客戶端即可通過發(fā)布的 MapService和WebGIS系統(tǒng)所發(fā)布的地圖服務進行疊加顯示。
詳細流程圖如圖1所示。
圖1 AutoCAD矢量數(shù)據(jù)發(fā)布流程
由于WebGIS系統(tǒng)采用的是B/S 3層架構(gòu),用戶使用的客戶端是瀏覽器,無法使用ArcObjects來完成AutoCAD矢量數(shù)據(jù)的讀取。因此,需要將圖形數(shù)據(jù)傳輸至用以發(fā)布MapService的服務器。
客戶端負責讀取需要發(fā)布的AutoCAD文件并將其變?yōu)樽止?jié)流后,再將這些字節(jié)流按照一定的大小分批次地上傳至服務器;服務器端新建一個空文件,將這些字節(jié)流按照順序追加至此文件,最終完成文件上傳功能。實現(xiàn)客戶端讀取AutoCAD文件的程序代碼為:
ArcGIS Server不能直接將AutoCAD矢量數(shù)據(jù)發(fā)布為 MapService,因此需要使用 ArcObjects將AutoCAD矢量數(shù)據(jù)讀取到CadLayer(或FeatureLayer)中,賦予特定的空間參考并添加至MXD文檔中。利用ArcObjects讀取AutoCAD矢量數(shù)據(jù)并賦予北京1954坐標系的空間參考的代碼為:
將AutoCAD矢量數(shù)據(jù)讀取并保存MXD文檔后,需要通過ArcGIS Server將MXD文檔進行發(fā)布,客戶端才能通過加載該MapService與WebGIS系統(tǒng)所發(fā)布的地圖服務進行疊加比較。以下代碼段將MXD文檔發(fā)布為MapService:
筆者以所在單位基于ArcGIS Server開發(fā)的“勘測成果一張圖”系統(tǒng)為WebGIS平臺,實現(xiàn)了實時發(fā)布AutoCAD矢量數(shù)據(jù),完成了“AutoCAD圖形文件上傳→ArcObjects讀取圖形文件→賦予空間參考→使用MXD文檔發(fā)布地圖服務”一整套處理流程。
該系統(tǒng)運行在筆者所在單位的百兆局域網(wǎng)上,ArcGIS Server服務器使用Intel Xeon E5640至強處理器、4 GB內(nèi)存、250 GB硬盤,操作系統(tǒng)為 Windows 2003 Server;客戶端使用Intel P4 2.40 GHz處理器,1 GB內(nèi)存、120 GB硬盤,操作系統(tǒng)為 Windows XP SP3。經(jīng)多次測試,實現(xiàn)一個文件大小約1 MB、比例尺為1∶2000的全要素AutoCAD矢量數(shù)據(jù)從開始上傳到最終發(fā)布疊加,所需時間少于10 s。由于能夠快速地完成AutoCAD矢量數(shù)據(jù)實時發(fā)布,該功能在日常工作中得到了廣泛的使用,極大地方便了工作人員對AutoCAD矢量數(shù)據(jù)與地圖底圖進行對比檢查。疊加效果如圖2所示(后端的地圖為“勘測成果一張圖”系統(tǒng)發(fā)布的地圖底圖,前端為需要進行疊加比較的AutoCAD圖形設計文件),用戶可直觀地對AutoCAD圖形文件與GIS地圖進行對比分析。
圖2 AutoCAD矢量數(shù)據(jù)發(fā)布
本文使用ArcObjects和ArcGIS Server能夠快速將AutoCAD的矢量數(shù)據(jù)實時發(fā)布為MapService供用戶疊加分析,解決了長期以來工程勘測、設計和規(guī)劃數(shù)據(jù)管理工作中WebGIS系統(tǒng)無法實時將AutoCAD系統(tǒng)圖形數(shù)據(jù)與WebGIS系統(tǒng)中GIS數(shù)據(jù)進行快速疊加分析的問題,并成功應用于“勘測成果一張圖”系統(tǒng),大大提高了疊加分析的工作效率。本文方法的局限在于:限制所讀取的AutoCAD矢量數(shù)據(jù)空間參考系與WebGIS系統(tǒng)發(fā)布的地圖服務的空間參考系一致。在后續(xù)工作中,可通過將空間參考轉(zhuǎn)換功能植入服務器端程序中加以完善。
[1] 韓敏,戴步成,鄭丹晨,等.ArcGIS Server電子地圖研究與應用[J].測繪科學,2011,36(3):204-206.
[2] 財政部經(jīng)濟建設司,國土資源部財務司.土地開發(fā)整理項目預算定額標準[M].北京:中國財政經(jīng)濟出版社,2012.
[3] 周紅波,趙建民,袁文翠.AutoCAD圖形數(shù)據(jù)向ArcInfo數(shù)據(jù)格式轉(zhuǎn)換問題的研究[J].石油工業(yè)計算機應用,2010(2):41-44.
[4] 申勝利,李華.基于 ArcEngine的 ArcGIS與 AutoCAD數(shù)據(jù)轉(zhuǎn)換研究[J].測繪通報,2007(2):41-43,60.
[5] 安如,張琴,丁賢榮,等.長江河道AutoCAD數(shù)據(jù)轉(zhuǎn)換為GIS數(shù)據(jù)的方法[J].河海大學學報:自然科學版,2009,37(5):523-528.
[6] 陳能,施蓓琦.AutoCAD地形圖數(shù)據(jù)轉(zhuǎn)換為GIS空間數(shù)據(jù)的技術(shù)研究與應用[J].測繪通報,2005(8):11-14,34.
[7] 任東風,徐立軍,才藝.CAD到ArcGIS數(shù)據(jù)轉(zhuǎn)換問題[J].遼寧工程技術(shù)大學學報:自然科學版,2010,29(S1):25-27.
[8] 羅元穎.WEBGIS在測量規(guī)劃中的應用[J].貴州地質(zhì),2010,27(2):155-156.
[9] 郭敏,劉長星.AutoCAD向 GIS數(shù)據(jù)轉(zhuǎn)換方法的研究[J].技術(shù)與創(chuàng)新管理,2009,30(1):102-104.
[10] 曹國云,張偉.AutoCAD數(shù)據(jù)到GIS空間數(shù)據(jù)轉(zhuǎn)換技術(shù)和方法的研究[J].安徽農(nóng)業(yè)科學,2006,34(22):6035-6036,6064.