ArcGIS10操作簡介.doc_第1頁
ArcGIS10操作簡介.doc_第2頁
ArcGIS10操作簡介.doc_第3頁
ArcGIS10操作簡介.doc_第4頁
ArcGIS10操作簡介.doc_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

最近學(xué)習(xí)FME,使用FME完成了一個對界址點重排序的案例,寫出來與大家分享探討一下:其實根據(jù)宗地生成界址點,界址線只需一個轉(zhuǎn)換器Chopper即可完成,把最大節(jié)點數(shù)設(shè)為1,轉(zhuǎn)為點;最大節(jié)點數(shù)設(shè)為2,轉(zhuǎn)為線。但是往往客戶還會有其他的需求,比如:1、 界址點按照街坊統(tǒng)一編號,從1開始累加編號,界址點編號在同一街坊不重復(fù)2、 界址點從每宗地的左上角開始,順時針順序編號3、 界址點按照本街坊,從左往右,從上往下順序依次編號例如下圖: 那么我先說說我的思路:第一步順序提取每個宗地坐標點:這個過程是將宗地轉(zhuǎn)為點,并順序提取每個宗地界址點并編號(原始Point_id),注意,此編號的起點并不是左上角,有可能是右上角,右下角。 這里用到Orientor:將多邊形節(jié)點轉(zhuǎn)為順時針;還有一個循環(huán):順序提取坐標點并賦給屬性ys_point_id第二步界址點重排序:尋找左上角界址點,并賦point_id為1,然后以此界址點為起點,為界址點重新順序編號point_id;這個過程重要點有兩個地方,1、 尋找左上角界址點:通過獲取每個點坐標,選擇X最小的為起點(當(dāng)然這也有可能是左下角)2、 界址點重新編號:首先找到左上角點,通過此點的ys_point_id-1計算出id,然后根據(jù)此id計算其他每個界址點的新序號point_id=ys_point_id-id,當(dāng)然這里需要進行判斷,如果point_id0那么此id為新序號,如果point_id=0,那么point_id+point_sum為新序號。(point_sum為宗地界址點總數(shù),在第一步計算出) 當(dāng)然在此過程用到Sorter:重新排序;DuplicateRemover:刪除重復(fù)點。最后輸出將會得到重新排序后的界址點。如果還需要生成界址線,并且?guī)в衅鹗键c號;終止點號的屬性,實現(xiàn)思路就是將這些重排序的點與線重疊,將點編號傳遞給線,從而得到界址線的起始點號、終止點號。注意:數(shù)據(jù)中可能會出現(xiàn)環(huán)、聚合體等復(fù)雜結(jié)構(gòu),所以在做這些處理之前需要考慮對環(huán)和聚合體的預(yù)處理;環(huán)的處理將用到DonutHoleExtractor轉(zhuǎn)換器;聚合體的處理用到Deaggregator轉(zhuǎn)換器,這些具體問題就需要具體分析了。以上純屬個人理解,如有不對請多指教我們在處理地籍?dāng)?shù)據(jù)過程中,經(jīng)常需要將宗地多邊形拆分為界址線、界址點,并根據(jù)空間位置建立相互間關(guān)系。此外,我們假定有兩個前提。一是批量處理或海量數(shù)據(jù)庫,將所有宗地拆分的同時應(yīng)消除重疊,隨后通過界址線分別計算與宗地左右關(guān)系、界址點起止關(guān)系;二是適用于打印出圖的單個宗地,除滿足前述宗地界址關(guān)系外,還要求界址點從左上角開始、順時針方向遞增編號。本文嘗試通過FME這一數(shù)據(jù)轉(zhuǎn)換平臺實現(xiàn)該功能,同時歡迎大家指正。(注:為簡化描述,下文只對較復(fù)雜或關(guān)鍵設(shè)置截圖說明。)2 實施2.1 幾何圖形基本上,通過轉(zhuǎn)換器Chopper即可將宗地拆分為界址線(設(shè)置最大允許頂點數(shù)為2)、界址點(設(shè)置為1)。根據(jù)幾何圖形的不同,通過以下兩個途徑來消除重疊。2.1.1 界址點提取及編號一般來說,轉(zhuǎn)換器DuplicateRemover可以將標記字段重復(fù)的記錄篩選出來,因此只需提取各點平面坐標X/Y并把它們合并為前述標記字段。這種情況下,我們未考慮點與點之間拓撲關(guān)系,即一定距離范圍內(nèi)的所有點可視作同一點。盡管轉(zhuǎn)換器CoordinateRounder對坐標截位可近似處理,但該運算不是嚴密的拓撲關(guān)系,這里不建議使用。此外,我們也可以選用轉(zhuǎn)換器PointOnPointOverlayer。對于_overlaps0的部分,可直接取為界址點;對于_overlaps1,需將ptlist*編號相關(guān)聯(lián)的部分剔除。如下圖(圖1) 兩種方法比較不難看出,利用轉(zhuǎn)換器DuplicateRemover消除重疊點流程更簡練,效率更高。此外,本文即采用此法。對于界址點編號,可按指定分組字段進行,比如行政街坊,這里把它作為參數(shù)發(fā)布了。(圖2) 2.1.2 界址線提取可以利用轉(zhuǎn)換器LineOnLineOverlayer,設(shè)置項“Separate Collinear Segments”應(yīng)選擇默認值“No”,即融合共享邊。如需編號,也按上述方法。(圖3) 2.2 關(guān)系建立所謂關(guān)系建立,即相關(guān)聯(lián)的二者之一,其必須包含對方的屬性。而這個屬性可以選擇唯一標識碼(BSM),也可選擇數(shù)據(jù)格式的主鍵(如ObjectID、FeatureID等等)。這實際上是一個屬性傳遞的操作。 2.2.1 界址點與線獲取界址線起止點的界址編號,可以有三種方法來實現(xiàn)界址點/線的關(guān)系建立:通過轉(zhuǎn)換器PointOnLineOverlayer,由list0、list1獲取界址點編號;將界址線分拆為兩個端點,然后通過轉(zhuǎn)換器PointOnPointOverlayer依次與界址點疊加進而獲取其編號;通過轉(zhuǎn)換器FeatureMerger關(guān)聯(lián)X/Y合并字段,獲取界址點編號。第一種方法,考慮到與界址線疊加的點,其順序不具備編號遞增的規(guī)律,而list卻按照該順序排列,因此無法行不通。第二種方法,界址線頂點保留了其原有屬性,與界址點疊加后形成字段相加,以此輸出作為SUPPLIER端即可通過FeatureMerger傳遞給界址線。第三種方法,分別獲取界址點、及界址線兩端點坐標并合并字段,以此字段作為關(guān)聯(lián)通過FeatureMerger傳遞屬性。后兩種方法經(jīng)測試,只在效率上稍有差別,即方法32。2.2.2 界址線與宗地可以使用轉(zhuǎn)換器LineOnAreaOverlayer獲取二者關(guān)系。由于界址線由宗地直接提取,并且在前述消除重疊的處理時是按照宗地多邊形順序的優(yōu)先級來保留的界址線的,因此lnlist0poly_id即為左宗地、lnlist1poly_id為右宗地。之后通過poly_id把宗地的標識碼關(guān)聯(lián)上,這里要兩次用到轉(zhuǎn)換器FeatureMerger。判斷界址線與宗地左右關(guān)系的一個實例就是,當(dāng)宗地方向為順時針,孤立存在、或無共享邊的時候,界址線左邊應(yīng)為空。(圖4)必須注意的是,不能認為“l(fā)nlist0標識碼”或“l(fā)nlist1標識碼”就是我們需要的屬性,除非在處理界址線的時候事先已按照“標識碼”字段進行了排序。3 小結(jié)利用FME提供的一組/6個空間疊置運算的轉(zhuǎn)換器(其中點/點,點/線疊置運算還支持拓撲容差設(shè)置項),我么可以實現(xiàn)不同幾何類型的要素間屬性傳遞。本文正是基于此著手的,考慮到通用性,將其制作成自定義轉(zhuǎn)換器。參數(shù)設(shè)置及流程如下:(圖5)(圖6) 流程中所有轉(zhuǎn)換器在FME2008版本中均存在且設(shè)置一樣,因此可以在ArcGIS9.3及以上環(huán)境中調(diào)用。關(guān)于效率,在2G內(nèi)存的筆記本上測試15萬個宗地圖形,運行時間約為10分鐘,尚可。4 問題與思考4.1 宗地多邊形包含弧段關(guān)于宗地的弧段邊界,圖形解析方面,我們可以在弧段上均勻內(nèi)插若干點。問題在于此處的宗地界址關(guān)系難以描述,而目前也沒有權(quán)威文獻或規(guī)范對此進行約束。因此此處將其轉(zhuǎn)換為折線。4.2 宗地不滿足拓撲關(guān)系當(dāng)宗地拓撲關(guān)系不正確時,該流程計算的宗地界址關(guān)系有有可能存在漏洞。例如,宗地邊界相交但未有頂點的時

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論