This document is archived and information here might be outdated. Recommended version. |
Provides access to members that return information about topology errors.
Name | Description | |
---|---|---|
DestinationClassID | ObjectClassID of the destination feature that created the topology error. | |
DestinationOID | ObjectID of the destination feature that created the topology error. | |
ErrorID | ID of the error. | |
IsDeleted | Indicates if this topology error feature has been deleted. | |
IsException | Indicates if topology error is an exception. | |
OriginClassID | ObjectClassID of the origin feature that created the topology error. | |
OriginOID | ObjectID of the origin feature that created the topology error. | |
ShapeType | The geometry type of the topology error. | |
TopologyRule | The topology rule that caused the topology error. | |
TopologyRuleType | The Object Class for the row. |
Classes | Description |
---|---|
TopologyErrorFeature | Esri Topology Error Feature object. |
The ITopologyErrorFeature interface provides access to the properties of error features in a topology. Topology errors are generated for each instance of a topology rule that is determined to be invalid during the validation process. Topology error features can also be deleted during the validation process.
Error features cannot be edited directly, so while you can use interfaces such as IFeature on a TopologyErrorFeature, calling methods such as IFeature::Value or IFeature::Store will fail. Topology errors have an associated geometry that can be used for rendering or fixing the error. Topology errors are persisted with the topology.
The only modification that can be made to an error feature is to mark it as an exception. An error feature that is marked as an exception will return True for its IsException property. Error features can be marked as exceptions by passing them to the ITopologyRuleContainer::PromoteToRuleException method, and those marked as exceptions can be demoted to error features by passing them to ITopologyRuleContainer::DemoteFromRuleException.
The following table shows the properties of error features created by violations of each rule. If an object ID or class ID is not applicable for a feature, a value of zero will be returned.
Name (esriTopologyRuleType value) |
Origin OID |
Origin ClassID |
Destination OID |
Destination ClassID |
Error Feature Geometry (1) |
---|---|---|---|---|---|
Must Not Overlap (Polygons) esriTRTAreaNoOverlap |
Yes | Yes | Yes | No | Polygon |
Must Not Have Gaps esriTRTAreaNoGaps |
No | Yes | No | No | Polyline |
Must Not Overlap With (Polygons) esriTRTAreaNoOverlapArea |
Yes | Yes | Yes | Yes | Polygon |
Must Be Covered By Feature Class Of (Polygons) esriTRTAreaCoveredByAreaClass |
Yes | Yes | No | Yes | Polygon |
Must Cover Each Other esriTRTAreaAreaCoverEachOther |
(2) | Yes | (2) | Yes | Polygon |
Must Be Covered By esriTRTAreaCoveredByArea |
Yes | Yes | No | Yes | Polygon |
Boundary Must Be Covered By esriTRTAreaBoundaryCoveredByLine |
Yes | Yes | No | Yes | Polyline |
Area Boundary Must Be Covered By esriTRTAreaBoundaryCoveredByAreaBoundary |
Yes | Yes | No | Yes | Polyline |
Contains Point esriTRTAreaContainPoint |
Yes | Yes | No | Yes | Polygon |
Must Not Overlap (Lines) esriTRTLineNoOverlap |
Yes | Yes | Yes | No | Polyline |
Must Not Intersect esriTRTLineNoIntersection |
Yes | Yes | Yes | No |
Point, Polyline |
Must Be Covered By Feature Class Of (Lines) esriTRTLineCoveredByLineClass |
Yes | Yes | No | Yes | Polyline |
Must Not Overlap With (Lines) esriTRTLineNoOverlapLine |
Yes | Yes | Yes | Yes | Polyline |
Must Be Covered By Boundary Of (Lines) esriTRTLineCoveredByAreaBoundary |
Yes | Yes | No | Yes | Polyline |
Must Not Have Dangles esriTRTLineNoDangles |
Yes | Yes | No | No | Point |
Must Not Have Pseudos esriTRTLineNoPseudos |
Yes | Yes | Yes | No | Point |
Must Not Self-Overlap esriTRTLineNoSelfOverlap |
Yes | Yes | No | No | Polyline |
Must Not Self-Intersect esriTRTLineNoSelfIntersect |
Yes | Yes | No | No | Point, Polyline |
Must Be Single Part esriTRTLineNoMultipart |
Yes | Yes | No | No | Polyline (3) |
Must Not Intersect Or Touch Interior esriTRTLineNoIntersectOrInteriorTouch |
Yes | Yes | Yes | No | Point, Polyline |
Endpoint Must Be Covered By esriTRTLineEndpointCoveredByPoint |
Yes | Yes | No | Yes | Point |
Must Be Covered By Boundary Of (Points) esriTRTPointCoveredByAreaBoundary |
Yes | Yes | No | Yes | Point |
Must Be Covered By Endpoint Of esriTRTPointCoveredByLineEndpoint |
Yes | Yes | No | Yes | Point |
Point Must Be Covered By Line esriTRTPointCoveredByLine |
Yes | Yes | No | Yes | Point |
Must Be Properly Inside esriTRTPointProperlyInsideArea |
Yes | Yes | (4) | Yes | Point |
(1) Every Topology rule can return an error that is a point geometry, because of the special case where the error geometry is completely collapsed. If a feature has all of its vertices within the cluster tolerance, it will collapse in on itself during validation and an error feature with a point geometry will be created.
(2) Error features caused by a "Must Cover Each Other" rule will have either an origin object ID or a destination object ID, but not both.
(3) An error feature will be created for each part of a polyline that contains multiple parts.
(4) If a point is on the boundary of a polygon from the destination class, an error feature will be created, and the polygon's object ID will be returned as the destination object ID. If a point does not touch any polygons of the destination class, no destination object ID will be returned.