2019亚洲日韩新视频_97精品在线观看_国产成人精品一区二区_91精品网站在线观看

幾種GIS軟件線與面要素轉(zhuǎn)換的探討

來源:期刊VIP網(wǎng)所屬分類:軟件開發(fā)時間:瀏覽:

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

  關鍵詞:GIS;線要素;面要素;要素轉(zhuǎn)換

  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首次提出了地理信息系統(tǒng)以來,地理信息系統(tǒng)如雨后春筍般迅速發(fā)展并壯大起來,與之相對應的是各種GIS軟件應運而生,國外以ESRI公司的ARC/INFO和ArcView、MapInfo公司的MapInfo等軟件為代表,而國內(nèi)此類軟件有武漢中地公司的MapGIS等。盡管各軟件的功能很強大,但在實際運用中,結合各應用領域的具體情況,每種軟件都有其各自的優(yōu)勢。下面針對不同的軟件,進一步探討線與面要素間的轉(zhuǎn)換功能。

  1 線與面要素互轉(zhuǎn)的意義

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

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

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

  2 幾種常用GIS軟件中線與面轉(zhuǎn)換功能的具體實現(xiàn)方法

  在上述的幾種軟件中,線與面要素轉(zhuǎn)換的具體實現(xiàn)方法各有優(yōu)劣。現(xiàn)以撫順市新賓縣的一個鎮(zhèn)的境界線數(shù)據(jù)為例,分述如下:

  2.1 MapInfo中線與面要素的轉(zhuǎn)換

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

  2.2 MapGIS中的線與面要素的轉(zhuǎn)換

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

  2.3 ArcGIS中線與面要素的轉(zhuǎn)換

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

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

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

  2.4 ArcView中線與面要素的轉(zhuǎn)換

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

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

  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 結論

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

  參考文獻:

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

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

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

主站蜘蛛池模板: 普兰县| 塘沽区| 永福县| 蚌埠市| 民和| 大悟县| 西华县| 凯里市| 新蔡县| 平舆县| 英吉沙县| 新绛县| 荣成市| 益阳市| 柘城县| 盐津县| 乾安县| 大田县| 改则县| 宁明县| 康马县| 鄯善县| 桑植县| 辽阳县| 旌德县| 林西县| 杭锦后旗| 桐城市| 洛南县| 和林格尔县| 忻州市| 农安县| 台南市| 吉木萨尔县| 嘉义市| 罗城| 宁安市| 集贤县| 应城市| 芜湖市| 治县。|