空間拓撲:
https://www.baidu.com/link?url=f8fd1d75GhwtT1JuyPDZydZlWCgEXB9DeuTzDqGQIIRpq0bM-8t3MlC5tXYvEwQw4XHIw6SS40qYgvkoK0S_sRdHfAKTFy6GYi8gegOstYm&wd=&eqid=9209db400004c901000000065ac0e81b
描述的是自然界地理對象的空間位置關系-相鄰、重合、連通等,是地理對象空間屬性的一部分。目前ESRI提供的數據存儲方式中,Coverage和GeoDatabase能夠建立拓撲,Shape格式的數據不能建立拓撲。
1、 GeoDatabase建立拓撲的基礎:
- GeoDatabase實現拓撲的基礎是”幾何重合”,GeoDatabase中的地理對象都是實體存儲,主要是根據節點坐標是否重合來判斷地理要素之間是否存在某種拓撲關系。
- 拓撲只能在要素集(FeatureDataset)中創建,參加創建拓撲的所有要素類(FeatureClass)必須具有相同的空間參考。
- 參與拓撲創建的必須是簡單要素類,注記類(Annoca),尺寸和幾何網絡要素類不能參與拓撲的創建。
- 單個要素集可以創建多個拓撲。
2、 GeoDatabase拓撲中的重要概念。
- 規則:表達要素之間的空間關系,ESRI提供了27種拓撲關系。
- 拓撲容限,決定在多大范圍內要素能夠被捕捉在一起(也稱為聚類容限(cluster tolerance))。
- 拓撲等級,控制在拓撲驗證的過程中節點移動的級別。這時候,等級低的要素類將向等級高的要素類移動,最高級別為1,最低級別為-50。
- 臟區(dirty area):臟區就是參與拓撲創建時被修改的地理要素(增,刪,改)的區域。
- 錯誤要素(Error Feature):只要素類中不符合拓撲規則的要素或者要素的一部分。
3、 27種拓撲關系:
- esriTRTAny:任何拓撲規則,在查詢拓撲的時候用。
- esriTRTFeatureLargerThanClusterTolerance:地理要素小於聚類容限被刪除。
- esriTRTAreaNoGaps:面是封閉的。
- esriTRTAreaNoOverlap:面不相交。
- esriTRTAreaCoveredByAreaClass:The rule is an area covered by area class rule。
- esriTRTAreaAreaCoverEachOther:兩個區域完全重合。
- esriTRTAreaCoveredByArea:一個區域被另一個區域覆蓋。
- esriTRTAreaNoOverlapArea:一個面沒有相交的面。
- esriTRTLineCoveredByAreaBoundary:線被區域的邊線覆蓋。
- esriTRTPointCoveredByAreaBoundary:點在面的邊界上。
- esriTRTPointProperlyInsideArea:點完全在面內。
- esriTRTLineNoOverlap:無重合的線。
- esriTRTLineNoIntersection:無相交的線。
- esriTRTLineNoDangles:無搖擺的線。
- esriTRTLineNoPseudos:線不存在偽節點。
- esriTRTLineCoveredByLineClass:The rule is a line covered by line class rule。
- esriTRTLineNoOverlapLine:The rule is a line-no overlap line rule。
- esriTRTPointCoveredByLine:點被線覆蓋。
- esriTRTPointCoveredByLineEndpoint:點被線的尾節點覆蓋。
- esriTRTAreaBoundaryCoveredByLine:一個面的邊界被線覆蓋。
- esriTRTAreaBoundaryCoveredByAreaBoundary:一個面的邊界被另一個面的邊界覆蓋。
- esriTRTLineNoSelfOverlap:不存在自重合的線。
- esriTRTLineNoSelfIntersect:不存在自相交的線。
- esriTRTLineNoIntersectOrInteriorTouch:The rule is a line-no intersect or interior touch rule。
- esriTRTLineEndpointCoveredByPoint:線的尾節點被點覆蓋。
- esriTRTAreaContainPoint:面包含點。
- esriTRTLineNoMultipart:The rule is a line cannot be multipart rule。
多邊形topology
1.must not overlay:單要素類,多邊形要素相互不能重疊
2.must not have gaps:單要素類,連續連接的多邊形區域中間不能有空白區(非數據區)
3.contains point:多邊形+點,多邊形要素類的每個要素的邊界以內必須包含點層中至少一個點
4.boundary must be covered by:多邊形+線,多邊形層的邊界與線層重疊(線層可以有非重疊的更多要素)
5.must be covered by feature class of:多邊形+多邊形,第一個多邊形層必須被第二個完全覆蓋(省與全國的關系)
6.must be covered by:多邊形+多邊形,第一個多邊形層必須把第二個完全覆蓋(全國與省的關系)
7.must not overlay with:多邊形+多邊形,兩個多邊形層的多邊形不能存在一對相互覆蓋的要素
8.must cover each other:多邊形+多邊形,兩個多邊形的要素必須完全重疊
9.area boundary must be covered by boundary of:多邊形+多邊形,第一個多邊形的各要素必須為第二個的一個或幾個多邊形完全覆蓋
10.must be properly inside polygons:點+多邊形,點層的要素必須全部在多邊形內
11.must be covered by boundary of:點+多邊形,點必須在多邊形的邊界上
線topology
1.must not have dangle:線,不能有懸掛節點
2.must not have pseudo-node:線,不能有偽節點
3.must not overlay:線,不能有線重合(不同要素間)
4.must not self overlay:線,一個要素不能自覆蓋
5.must not intersect:線,不能有線交叉(不同要素間)
6.must not self intersect:線,不能有線自交叉
7.must not intersect or touch interrior:線,不能有相交和重疊
8.must be single part:線,一個線要素只能由一個path組成
9.must not covered with:線+線,兩層線不能重疊
10.must be covered by feature class of:線+線,兩層線完全重疊
11.endpoint must be covered by:線+點,線層中的終點必須和點層的部分(或全部)點重合
12.must be covered by boundary of:線+多邊形,線被多邊形邊界重疊
13.must be covered by endpoint of:點+線,點被線終點完全重合
14.point must be covered by line:點+線,點都在線上
注意:https://wenku.baidu.com/view/2524db41a5e9856a56126084.html
1.arcgis的shp格式數據不支持拓撲規則檢查,所以一定要保持geodatabase規則
2.要進行拓撲規則檢查的要素類必須在同一要素集下
什么是拓撲?
是反映空間要素和要素類之間的關系的數據模型或格式
——要素:是現實對象的GIS表示
空間數據用於保證數據質量的完整性規則
一致性、相鄰性、聯通性……
GIS中引入拓撲的意義:
(1)有效避免了數據重復存儲;
(2)存儲實體間關系,便於查詢和檢索。
ArcCatalog 提供的拓撲向導工具中的六個步驟:
1、拓撲關系命名
2、指定cluster tolerance
3、選擇參與拓撲關系的要素
4、設定坐標精度級別
5、指定拓撲規則
6、驗證拓撲關系
AE中與拓撲相關的接口
(1)ITopologicalOperator:對已存在的幾何對象做空間拓撲運算從而產生新的幾何對象
例如:Boundary 返回幾何對象的邊界
Buffer方法 可以對幾何對象進行緩沖區空間拓撲操作
Clip方法 用一個Envelope對象對一個幾何對象進行裁剪,返回該幾何對象被裁剪后的區域
(2)IRelationalOperator:獲取不同幾何對象之間的關聯關系,如包含,相等,包含,相交,疊加等,一般通過IRelationalOperator的某
一個方法返回一個bool值來說明這兩個幾何對象是否具有某種關系
例如:Contains方法 檢查幾何對象A是否包含幾何對象B
Crosses方法 檢查兩個幾何對象是否相交
Touches方法 檢查兩個幾何對象是否相連
(3)IProximityOperator:獲取兩個幾何對象的距離,以及給定一個點,求另一個幾何對象上離給定點最近的點
例如:QueryNearestPoint方法 返回幾何對象上離給定輸入點距離最近的點的引用
ReturnNearestPoint方法 創建並返回幾何對象上離給定輸入點距離最近的點
ReturnDistance方法 返回兩個幾何對象間的最短距離
(4)AE開發中設計空間分析時,操作的幾何對象必須是簡化的幾何對象,在操作前可以通過ITopologicalOperator.Simplify()方法使一個幾何對象在拓撲上一致
ArcGIS 中的拓撲概述
如果有重疊且共享相同坐標位置、邊界或節點的要素,則地理數據庫拓撲可幫助更好地管理地理數據。
地理數據庫拓撲幫助您確保數據完整性。拓撲的使用提供了一種對數據執行完整性檢查的機制,幫助您在地理數據庫中驗證和保持更好的要素表示。
此外,還可以使用拓撲為要素之間的多種空間關系建模。這為多種分析操作(如查找相鄰要素、處理要素之間的重疊邊界以及沿連接要素進行導航)提供了支持。
拓撲關系
拓撲是點、線和多邊形要素共享幾何的方式的排列布置。拓撲用於以下操作:
- 限制要素共享幾何的方式。例如,相鄰多邊形(如宗地)具有共享邊、街道中心線和人口普查區塊共享幾何以及相鄰的土壤多邊形共享邊。
- 定義並執行數據完整性規則:多邊形之間不應存在任何間距、不應有任何疊置要素等。
- 支持拓撲關系查詢和導航,如確定要素鄰接性和連通性。
- 支持可強制執行數據模型拓撲約束的復雜編輯工具。
- 根據非結構化的幾何構造要素,如根據線創建多邊形。
根據現有數據構建拓撲的過程可總結為以下步驟:
拓撲工作流和任務
| 任務 | 詳細信息鏈接 |
|---|---|
| 設計拓撲。 |
請參閱設計地理數據庫拓撲。 |
| 在地理數據庫中的公用要素數據集內創建一組要素類。 |
請參閱使用要素數據集概述。 |
| 如果已經有要素數據,將這些數據加載到要素類中。 |
請參閱關於導入要素類。 |
| 使用 ArcCatalog 或地理處理工具創建拓撲。 |
請參閱創建拓撲。 |
| 構建和驗證拓撲。 |
請參閱驗證拓撲。 |
| 將拓撲添加到 ArcMap 並設置其顯示屬性。 |
|
| 使用編輯環境來識別和修復錯誤。 |
請參閱編輯拓撲。 |
| 管理要素類更新和臟區。 |
請參閱驗證拓撲。 |
| 管理版本化地理數據庫內的拓撲。 |
請參閱拓撲和已版本化的地理數據庫。 |
| 執行多個其他一般編輯任務。 |
請參閱一般拓撲任務。 |
