com.esri.arcgis.geometry
Interface IPolygon4

All Superinterfaces:
ICurve, IGeometry, IPolycurve, IPolygon, IPolygon2, IPolygon3, Serializable
All Known Implementing Classes:
Polygon

public interface IPolygon4
extends IPolygon3, Serializable

Provides access to members that extend the IPolygon3 interface.

Product Availability

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


Method Summary
 IGeometryBag getConnectedComponentBag()
          Creates and returns a geometry bag containing polygons that represent connected components of the original.
 IGeometryBag getExteriorRingBag()
          Creates and returns a geometry bag that contains references to all exterior rings.
 IGeometryBag getInteriorRingBag(IRing exteriorRing)
          Creates and returns a geometry bag that contains references to all rings that are interior to the specified exterior ring.
 IGeometryBag getOutermostComponentBag()
          Creates and returns a geometry bag containing polygons that represent outermost components of the original and all components within (islands within lakes).
 void simplifyEx(boolean preserveFromToPoints, boolean closeRings, boolean useXORRule)
          Same as ITopologicalOperator::Simplify, but with some additional options that affect performance and how the interior is classified.
 
Methods inherited from interface com.esri.arcgis.geometry.IPolygon3
simplifySpaghetti
 
Methods inherited from interface com.esri.arcgis.geometry.IPolygon2
getConnectedComponents, getOutermostComponents, queryExteriorRingsEx, queryInteriorRingsEx
 
Methods inherited from interface com.esri.arcgis.geometry.IPolygon
close, findExteriorRing, getExteriorRingCount, getInteriorRingCount, queryExteriorRings, queryInteriorRings, simplifyPreserveFromTo
 
Methods inherited from interface com.esri.arcgis.geometry.IPolycurve
densify, generalize, smooth, splitAtDistance, splitAtPoint, weed
 
Methods inherited from interface com.esri.arcgis.geometry.ICurve
getFromPoint, getLength, getSubcurve, getToPoint, isClosed, queryFromPoint, queryNormal, queryPoint, queryPointAndDistance, queryTangent, queryToPoint, reverseOrientation, setFromPoint, setToPoint
 
Methods inherited from interface com.esri.arcgis.geometry.IGeometry
geoNormalize, geoNormalizeFromLongitude, getDimension, getEnvelope, getGeometryType, getSpatialReference, isEmpty, project, queryEnvelope, setEmpty, setSpatialReferenceByRef, snapToSpatialReference
 

Method Detail

simplifyEx

void simplifyEx(boolean preserveFromToPoints,
                boolean closeRings,
                boolean useXORRule)
                throws IOException,
                       AutomationException
Same as ITopologicalOperator::Simplify, but with some additional options that affect performance and how the interior is classified.

Remarks

Parameters:

preserveFromToPoints: Boolean value that determines if the from/to points of a ring in the polygon need to remain located at ring indexes 0 and PointCount-1 af the completion of the operation. Specify 'false' to improve performance of this operation.

closeRings : Boolean value that determines if the rings of the polygon must be closed prior to reconstruct the topology of the polygon. Specify false if you know that rings are closed or you are passing in spaghetti input that should not be checked for closure.

useXORRule: Boolean value that determines how the 'inside' of the polygon is determined. Specify true to use an even-odd counting rule: a point is inside the polygon if a horizontal line through that has encountered an odd number of boundaries to the left (overlapping boundaries count 1 for each overlap). Use this when the input consists of well-defined rings that need to be oriented correctly, have overlaps removed, etc. Specify false to use the default behavior, which iterates over a two step process: dangle removal, then "peeling off" of the largest unambiguous rings. This approach can remove more segments than the XOR-true approach, but is probably more appropriate for spaghetti input where segment overlaps should not be considered significant.

Here is an example of the different between XOR=TRUE vs. XOR= FALSE:

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
preserveFromToPoints - The preserveFromToPoints (in)
closeRings - The closeRings (in)
useXORRule - The useXORRule (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExteriorRingBag

IGeometryBag getExteriorRingBag()
                                throws IOException,
                                       AutomationException
Creates and returns a geometry bag that contains references to all exterior rings.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.geometry.IGeometryBag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getInteriorRingBag

IGeometryBag getInteriorRingBag(IRing exteriorRing)
                                throws IOException,
                                       AutomationException
Creates and returns a geometry bag that contains references to all rings that are interior to the specified exterior ring.

Product Availability

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

Parameters:
exteriorRing - A reference to a com.esri.arcgis.geometry.IRing (in)
Returns:
A reference to a com.esri.arcgis.geometry.IGeometryBag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getConnectedComponentBag

IGeometryBag getConnectedComponentBag()
                                      throws IOException,
                                             AutomationException
Creates and returns a geometry bag containing polygons that represent connected components of the original. The rings of the output polygons are references to rings in the original.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.geometry.IGeometryBag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOutermostComponentBag

IGeometryBag getOutermostComponentBag()
                                      throws IOException,
                                             AutomationException
Creates and returns a geometry bag containing polygons that represent outermost components of the original and all components within (islands within lakes). The rings of the output polygons are references to rings in the original.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.geometry.IGeometryBag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.