ArcObjects Library Reference (GeoDatabase)  

ITopologyErrorFeature Interface

Provides access to members that return information about topology errors.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Members

Description
Read-only property DestinationClassID ObjectClassID of the destination feature that created the topology error.
Read-only property DestinationOID ObjectID of the destination feature that created the topology error.
Read-only property ErrorID ID of the error.
Read-only property IsDeleted Indicates if this topology error feature has been deleted.
Read-only property IsException Indicates if topology error is an exception.
Read-only property OriginClassID ObjectClassID of the origin feature that created the topology error.
Read-only property OriginOID ObjectID of the origin feature that created the topology error.
Read-only property ShapeType The geometry type of the topology error.
Read-only property TopologyRule The topology rule that caused the topology error.
Read-only property TopologyRuleType The Object Class for the row.

CoClasses that implement ITopologyErrorFeature

CoClasses and Classes Description
TopologyErrorFeature Esri Topology Error Feature object.

Remarks

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.

 

.NET Related Topics

Checking for topology error features in a geodatabase topology | Working with topology errors