先看看arcgis組建中定義的枚舉關係。
esriTopologyRuleType
{
esriTRTAny = -1,
esriTRTFeatureLargerThanClusterTolerance = 0,
esriTRTAreaNoGaps = 1,
esriTRTAreaNoOverlap = 3,
esriTRTAreaCoveredByAreaClass = 4,
esriTRTAreaAreaCoverEachOther = 5,
esriTRTAreaCoveredByArea = 7,
esriTRTAreaNoOverlapArea = 8,
esriTRTLineCoveredByAreaBoundary = 10,
esriTRTLineInsideArea = 11,
esriTRTPointCoveredByAreaBoundary = 13,
esriTRTPointProperlyInsideArea = 15,
esriTRTAreaContainOnePoint = 16,
esriTRTLineNoOverlap = 19,
esriTRTLineNoIntersection = 20,
esriTRTLineNoDangles = 21,
esriTRTLineNoPseudos = 22,
esriTRTLineCoveredByLineClass = 26,
esriTRTLineNoOverlapLine = 28,
esriTRTPointCoveredByLine = 29,
esriTRTPointCoveredByLineEndpoint = 31,
esriTRTPointDisjoint = 34,
esriTRTPointCoincidePoint = 35,
esriTRTAreaBoundaryCoveredByLine = 37,
esriTRTAreaBoundaryCoveredByAreaBoundary = 38,
esriTRTLineNoSelfOverlap = 39,
esriTRTLineNoSelfIntersect = 40,
esriTRTLineNoIntersectOrInteriorTouch = 41,
esriTRTLineEndpointCoveredByPoint = 42,
esriTRTAreaContainPoint = 43,
esriTRTLineNoMultipart = 44,
esriTRTLineNoIntersectLine = 45,
esriTRTLineNoIntersectOrInteriorTouchLine = 46
};
翻譯後的查看:
public enum TopoErroType
{
任何規則=-1,
要素大於最小容差 = 0,
面要素之間無空隙 = 1,ok
面要素間無重疊 = 3,ok
第二個圖層面要素必須被第一個圖層任一面要素覆蓋 = 4,ok
兩圖層面要素必須互相覆蓋 = 5,ok
第一個圖層面要素必須被另一個圖層任一面要素包含 = 7,
面要素不能與另一個面圖層相互重疊 = 8,
線要素必須跟面圖層邊界的一部分或全部重疊 = 10,
線要素必須在面內=11,
點要素必須落在面要素邊界上 = 13,
點要素必須落在面要素內 = 15,
面要素必須只包含一個點要素=16,ok
線要素間不能有相互重疊部分 = 19,
線要素之間不能相交 = 20,
線要素不允許有懸掛點 = 21,
線要素不允許有僞節點 = 22,
第一個圖層線要素應被第二個線圖層線要素覆蓋 = 26,
第一個圖層線要素不被第二個線圖層線要素重疊 = 28,
點要素應被線要素覆蓋 = 29,
點要素應在線要素的端點上 = 31,
點要素之間不相交=34,
點要素重合點要素=35,
面要素邊界必須被線要素覆蓋 = 37,ok
面要素的邊界必須被另一面要素邊界覆蓋 = 38,ok
線要素不能自重疊 = 39,
線要素不能自相交 = 40,
線要素間不能相交或內部接觸 = 41,
線要素端點必須被點要素覆蓋 = 42,
面要素內必須包含至少一個點要素 = 43,ok
線要素必須爲單一部分 = 44,
線要素不能與其他要素相交=45,
線不能與其他要素相交或內部接觸=46
};
參考arcmap中拓撲規則定義的截圖:
點要素規則:
點要素必須落在面要素邊界上 13 選擇feaclass2 面
點要素應在線要素的端點上 31 選擇feaclass2 線
點要素應被線要素覆蓋 29 選擇feaclass2 線
點要素必須落在面要素內 15 選擇feaclass2 面
點要素重合點要素=35, 選擇feaclass2 點
點要素之間不相交=34, 選擇feaclass2 點
線要素規則:
線要素間不能有相互重疊部分 = 19, 同圖層
線要素之間不能相交 = 20,同圖層
第一個圖層線要素應被第二個線圖層線要素覆蓋 = 26, feaclass2 線
第一個圖層線要素不被第二個線圖層線要素重疊 = 28, feaclass2 線
線要素必須與面圖層邊界的一部分或全部重疊 = 10, feaclass2 面
線要素不允許有懸掛點 = 21,同圖層
線要素不允許有僞節點 = 22,同圖層
線要素不能自重疊 = 39,自己
線要素不能自相交 = 40,自己
線必須爲單一部分 = 44,自己
線要素間不能相交或內部接觸 = 41, 同圖層
線要素端點必須被點要素覆蓋 = 42, feaclass 點
線要素不能與其他要素相交=45,
線不能與其他要素相交或內部接觸=46
線要素必須在面內=11,feaclass 面
面要素規則:
面要素間無重疊 = 3 同圖層
面要素之間無空隙 = 1, 同圖層
第二個圖層面要素必須被第一個圖層任一面要素覆蓋 = 4
兩圖層面要素必須互相覆蓋 = 5, feaclass2 面層
第一個圖層面要素必須被第一個圖層任一面要素包含 = 7
面要素邊界必須被線要素覆蓋 = 37,feaclass2 線層
面要素的邊界必須被另一面要素邊界覆蓋 = 38, feaclass2 面層
面要素內必須包含至少一個點要素 = 43, feaclass2 點層
面要素必須只包含一個點要素=16, feaclass2 點層