1. 程式人生 > >在ArcGIS、MapGIS、CAD之間自由走動

在ArcGIS、MapGIS、CAD之間自由走動

  前段時間在做專案的時候,在技術上遇到些困難,每天苦思冥想,查閱大量資料,終不得解,後經老師指教,問題總算解決。但是經過這件事情後我想其實這些困難不算是大困難,只是我們學習的面太狹窄了,知識不成體系,沒有多少解決思路,容易走進死衚衕,才導致這樣困窘的局面。

        在查閱資料的過程中,我發現作為國產地理資訊軟體的MapGIS對於國外ArcGIS來講有其自己的優點,畢竟這個軟體是國人編寫的,符合國人的應用習慣和整合某些常用製圖標準,比如在製作土地利用規劃圖框時,在MapGIS的“實用服務”模組下的“投影變換”系統中的“系列標準圖框”就可以直接生成不同比例尺的圖框,如下圖:

圖片


          而ArcGIS就沒有這個功能,需一點一點的做,很費力,但是MapGIS的空間分析功能和ArcGIS相比就遜色多了。因此,我就萌發了結合多個軟體來做專案念頭,充分利用不同軟體的優勢,但是軟體的格式各異,MapGIS 的標準資料格式主要有點( wt)、線(wl)、面(wp)3 種類型,軟體本身提供的資料交換格式有點(wat)、線(wa1)、面(wap),它們都是ASCII 碼的明碼檔案。而ArcGIS 是美國環境系統研究所(ESRI)開發的一款GIS 軟體,是國內GIS 行業常用的軟體,它對空間資料的支援較強,資料格式主要有Shape、Coverage、Geodatabase 和E00。CAD主要是DWG,幸好在MapGIS 軟體的檔案轉換模組中,提供了對dxf、mif、E00、shape等檔案的輸入輸出功能。實現了不同軟體檔案之間的交換。

       GIS軟體在組織資料的時候一般都是按點、線、面分類,這一點MAPGIS和arcGIS是一樣的,所以我們在轉換資料的時候要分別按點、線、面轉換,對於“點”要素來講,分“註釋型”點和“圖元型”點,前者從mapgis到arcgis本人覺得通過座標點生成點,然後賦屬性和採用“E00”方式 轉換的結果比較滿意,除了符號引數不一樣以外,圖形和屬性都完整且定位準確。只是“E00”方式轉換得到的Coverage格式裡的anotation檔案需轉到Geodatebase裡,變成Geodatebase的anotation才能編輯,後者則直接輸入shape檔案,但是如果屬性欄位中包含有中文,還需單獨匯出屬性進行替換原先隨shape匯出的屬性。“線”和“面”要素從mapgis到arcgis相比“點”來講就簡單多了,直接由mapgis“檔案轉換”模組匯出shape檔案,然後單獨匯出屬性,進行替換,再進行拓撲修復(repair geometry)就ok了,。從arcgis到mapgis則是一種逆向的轉換過程,轉換也是在mapgis中的“檔案轉換”功能模組中完成。轉換過來的資料也是圖形和屬性資料完整,定位準確但是符號,線型,內部填充引數不一致。導致出現這個問題是因為這個軟體之間的線型庫和顏色庫編碼不一致。轉換後調出符號庫進行相應的設定即可,或者在轉換前分別就點、線、面編輯相應的程式碼對照表,這樣這個問題就可解決。由於DBF格式檔案中文欄位只能為10個字即符5個漢字,所以在mapgis轉入arcgsi過程中,屬性欄位過長需更改。下面是不同要素型別的轉換對比:

圖片

圖片

圖片
線屬性對比

圖片

圖片


面要素對比

圖片

圖片


 面面積對比

圖片

圖片

       CAD檔案只要轉換成mapgis和arcgis其中一種,就可以基於以上的方法轉到另一種軟體中,實現資料交換。下面就CAD轉到mapgis為例,探討轉換方法。

       CAD中的線型庫和顏色庫的編碼和mapgis的也不一致,導致轉換後顏色丟失和線型引數不一致的問題,有些圖元是以塊的形式組成的,轉換後形成“張冠李戴”,有時兩邊無法對應,在mapgis中提供了符號對照表、線型對照表、顏色對照表、層對照表,一套對照表檔案介面,很好地解決了這個問題。要使CAD到mapgis首先,將CAD的dwg格式,轉化為cad的資料交換格式,在這個過程中不要對原圖的塊做爆破處理,但是有樣條曲線的話最好對其進行爆破處理。其次將系統庫目錄設為,並將..\slib目錄下的符號對照表、線型對照表、顏色對照表、層對照表4個檔案拷貝至系統庫目錄....\suvslib下。然後用記事本對這4個進行編輯(mapgis編碼在“數字測圖”系統中查到,注意大小寫),最後進入mapgis的“檔案轉換”模組,裝入DXF,將CAD檔案裝到系統中,復位視窗便可查到轉換後的結果檔案圖。而arcgis裡的“To CAD”工具可以實現gis到CAD。一般情況都是從CAD轉入GIS。

圖片

圖片

圖片

       經過上述的轉換方法,我們便可以在CAD、MAPGIS、ARCGIS之間共享資料檔案。

      目前GIS技術已在土地規劃、管理,城市規劃、經濟、交通、資源、軍事、災害等領域廣泛應用,如何更好地實現資料共享將是很關鍵的問題,希望Open GIS的到來能更好地解決這一問題。

       從旅遊管理的酒店管理到人文地理學的區域發展與城市規劃,這一路走來,漸漸的喜歡上了用“圖”表達這種方式,下一步除了繼續學習GIS操作技能和專業理論知識外,將學習,探討和建立模型,把經典的區域經濟分析方法、土地評價、規劃等方法整合到GIS中實現,學習VC++,開始“虛擬現實”之旅。

       ESRI公司總裁Jack先生曾說過:“GIS只與一件事有關,那就是想象力”。我在想GIS能不能讓煮飯智慧化?學校食堂的飯菜通常不盡人意,如果能開發一套GIS煮飯技術,應用到學校食堂,讓廣大學生能享受可口的飯菜,這是多麼好的事啊! 呵呵........當然我沒有這個想象力,還望能有高人出現,讓GIS煮飯技術應用學校食堂,走進尋常百姓家,呵呵,我也可以吃上好吃的飯菜。

       瑞雪兆豐年,2011...........