av日韩亚洲,一本一本a久久,亚洲一区二区三区,亚洲一区二区三区免费视频

幾種GIS軟件線與面要素轉換的探討

來源:期刊VIP網所屬分類:軟件開發時間:瀏覽:

  摘要:本文闡述了在MapInfo 7.0、MapGIS 6.5、ArcGIS 9.2以及ArcView 3.x四個軟件中線與面要素類型轉換的實現方法。

  關鍵詞:GIS;線要素;面要素;要素轉換

  Abstract: this paper introduces the MapInfo 7.0, MapGIS 6.5, ArcGIS 9.2 and ArcView 3. X four software midline and face elements type conversion method.

  Keywords: GIS; Line elements; Surface elements; Elements conversion

  中圖分類號: TP311.5 文獻標識碼:A 文章編號:

  0 引言

  自從加拿大學者Roger F. Tomlinson首次提出了地理信息系統以來,地理信息系統如雨后春筍般迅速發展并壯大起來,與之相對應的是各種GIS軟件應運而生,國外以ESRI公司的ARC/INFO和ArcView、MapInfo公司的MapInfo等軟件為代表,而國內此類軟件有武漢中地公司的MapGIS等。盡管各軟件的功能很強大,但在實際運用中,結合各應用領域的具體情況,每種軟件都有其各自的優勢。下面針對不同的軟件,進一步探討線與面要素間的轉換功能。

  1 線與面要素互轉的意義

  在GIS軟件中,線要素和面要素數據都是分開存儲的。線要素類中不允許存放面要素數據,面要素類中也不可能存放線要素數據。同時,在許多實際情況下,我們獲得的數據信息可能只是線要素,也可能僅僅為面要素;而在GIS軟件中的一些分析和操作功能,以及顯示輸出時卻需要它們互轉后的數據信息。

  以境界數據為例,很多情況下,使用單位所獲取的此類信息都是以線要素的形式存儲的,這種形式的數據遠遠不能滿足實際的需要。比如,用此線要素數據制作行政區劃圖時,就需要先將線要素轉換成面要素數據,再進行一些諸如顏色、比例尺等因素的調整。有時,某一大區域所擁有的數據量很大,給顯示和分析帶來了極大的不便,此時就需要根據一定的規則和實際情況將這個區域進行分割,得到一系列符合要求的小區域。很多軟件都提供了相應的功能,即用面數據去對大區域進行切割處理,此時也需要面要素數據的支持。

  下面分別以MapInfo 7.0、MapGIS 6.5、ArcGIS 9.2以及ArcView 3.x等軟件為例,闡述線與面要素數據的轉換是如何在各軟件中實現的。

  2 幾種常用GIS軟件中線與面轉換功能的具體實現方法

  在上述的幾種軟件中,線與面要素轉換的具體實現方法各有優劣。現以撫順市新賓縣的一個鎮的境界線數據為例,分述如下:

  2.1 MapInfo中線與面要素的轉換

  MapInfo軟件雖然空間分析功能遠遠趕不上ESRI公司的系列產品,但其圖形編輯功能卻有其獨特的優勢。通常,人們對掃描的圖形進行矢量化操作都在該軟件中進行。在MapInfo中的編輯功能中,提供了兩種功能:“convert to Regions”和“convert to Polylines”,這兩個功能可以將線要素轉成面要素,也可以將面要素轉成線要素。見圖1所示。

  2.2 MapGIS中的線與面要素的轉換

  MapGIS軟件中數據的組織是以點、線、弧以及區域等形式完成的。為了將線要素轉換成面要素,首先應將線要素提取為弧要素,再將閉合的弧段數據提取為區域。而將面要素轉換成線要素,從邏輯上來說,則是上述步驟的逆過程。見圖2所示。

  2.3 ArcGIS中線與面要素的轉換

  在ArcMap中,盡管沒有具體的功能實現線轉面、面轉線的操作,但卻可以使用其它方法將面要素轉換成線要素。方法一:可將某個polygon要素中的數據先復制,然后再粘貼到polyline要素中。這種方法雖然可以實現面要素轉成線要素,但屬性表中的信息不會保存下來,也就是說,這種方法將丟失屬性信息。方法二:在高級編輯中,Topology菜單中的Construct Features功能也可以將面要素轉換成線要素。

  而為了將線要素轉成面要素,則需要到ArcCatalog中實現這個功能。首先應將其他格式的數據轉換到Geodatabase中一個的要素數據集下;其次,鼠標指向該數據集并右擊,選擇New中的Polygon Feature Class From Lines…,出現Polygon Feature Class From Lines對話框;最后在該對話框中進行各種相應的設置,選擇OK后,就會在該要素數據集中產生一個對應的面要素類。見圖3所示。

  對于線要素和面要素的轉換,ArcGIS的ArcToolbox中將會提供專門的命令實現這個功能,大大地提高了數據操作的速度和精度。

  2.4 ArcView中線與面要素的轉換

  盡管在ArcView中沒有直接的功能對線、面要素進行互轉,但卻可以在scripts中使用Avenue語言實現這些功能,不僅可以實現對線、面要素的互轉,而且也可以實現點、線、面三類要素數據的互轉。

  如果僅僅是一些簡單對象類型之間的互轉,則可以使用表達式實現三種不同數據類型的轉換,如aObject.AsMultiPoint、aObject.AsPolygon、aObject.AsPolyLine等。若轉換的數據量大且等級高,則需要在scripts文檔中使用完整的Avenue語言去實現它。下面是將當前面要素層轉換成線要素的一部分腳本:

  theView = av.GetActiveDoc

  theThemeIn = theView.GetActiveThemes.Get(0)

  fnDefault = FileName.Make("$HOME").MakeTmp("shape","shp")

  fnOutput = FileDialog.Put( fnDefault,"*.shp","Output Shape File" )

  if (fnOutput = nil) then exit end

  fnOutput.SetExtension("shp")

  ftbOutput = FTab.MakeNew( fnOutput, POLYLINE )

  ftbOutput.AddFields({Field.Make("ID", #FIELD_LONG, 8, 0)})

  3 結論

  結合以上幾種軟件,通過對線與面要素轉換功能的研究,可以看出:盡管MapInfo在線與面要素數據的轉換方法上相對簡單,但點、線和面三種類型數據可存放在同一數據層中,不利于數據的分析和管理,且線與面要素數據轉換的方法僅針對數據層中的具體要素而言,無法實現數據層級別上的線與面要素數據的轉換。因此,對于大量的要素層數據,如果要進行線與面要素的轉換,則最好使用ESRI公司的ArcGIS 和ArcView等系列軟件。

  參考文獻:

  [1] 陳述彭, 魯學軍, 周成虎. 地理信息系統導論. 北京:科學出版社, 2002.

  [2] 羅云啟, 羅毅. 數字化地理信息系統MapInfo應用大全. 北京:北京希望電子出版社, 2001.

  [3]秦其明, 曹五豐, 陳杉. ArcView地理信息系統實用教程. 北京:北京大學出版社, 2000.

主站蜘蛛池模板: 容城县| 嵊泗县| 陈巴尔虎旗| 鞍山市| 九江市| 邯郸县| 广德县| 迭部县| 永丰县| 敦煌市| 七台河市| 沈丘县| 和田市| 金堂县| 泰来县| 若羌县| 贺州市| 新竹县| 邓州市| 寻乌县| 凤翔县| 柘荣县| 河北省| 运城市| 理塘县| 黔南| 闸北区| 临武县| 平乐县| 澳门| 城市| 乐清市| 金沙县| 会昌县| 舟山市| 灵川县| 永春县| 博湖县| 大连市| 临澧县| 赣榆县|