ArcObjects Library Reference (GeoDatabase)  

ITopology.DirtyArea Property

The dirty area polygon of the topology.

[Visual Basic .NET]
Public Function get_DirtyArea ( _
    ByVal Location As IPolygon _
) As IPolygon
public IPolygon get_DirtyArea (
    IPolygon Location
HRESULT get_DirtyArea(
  IPolygon* Location,
  IPolygon** dirtyAreaPolygon


Location [in]

  Location is a parameter of type IPolygon

dirtyAreaPolygon [out, retval]

  dirtyAreaPolygon is a parameter of type IPolygon

Product Availability

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


The DirtyArea  property returns a dirty area polygon of the topology associated with the input IPolygon object.  The IPolygon can correspond to the extent of the topology or a subset of the extent.  If there is no dirty area intersecting the specified area, an empty polygon is returned.  The dirty area polygon that is returned may be a multipart polygon. Use the State property on ITopology to determine if the Topology has any dirty areas or if it has been validated.



A topology has an associated dirty area or dirty areas. A dirty area corresponds to regions within the extent of the topology where features participating within the topology have been modified (added, deleted or updated) and have yet to be validated. The topological relationships between features covered by dirty areas are unknown. The dirty area must be validated inorder to discover the topological relationships and evaluate any topology rules.

Whenever the geometry or subtype of a feature participating within a topology is modified, the extent of the dirty area is enlarged to encompass the envelope of the modified feature.


The following example demonstrates how to obtain the DirtyArea for the entire Topology.

  // Assume we have a reference to a Topology called topology and Cast to IGeodataset
  IGeoDataset geoDataset = (IGeoDataset)topology;
  // Create a new polygon object
  ESRI.ArcGIS.Geometry.ISegmentCollection location = (ESRI.ArcGIS.Geometry.ISegmentCollection)new ESRI.ArcGIS.Geometry.PolygonClass();

  // Set the rectangle of the pLocation polygon to be equal to the Topology extent 
  ESRI.ArcGIS.Geometry.IPolygon locationPolygon = (ESRI.ArcGIS.Geometry.IPolygon)location;

  // Get the Dirty Area that covers the entire topology.
  IPolygon polygon = topology.get_DirtyArea(locationPolygon);

See Also

ITopology Interface

.NET Related Topics

Creating a topology in the geodatabase