com.esri.arcgis.geometry
Interface IPolyline

All Superinterfaces:
ICurve, IGeometry, IPolycurve, Serializable
All Known Subinterfaces:
IPolyline2, IPolyline3, IPolyline4, IPolyline5
All Known Implementing Classes:
IPolyline2Proxy, IPolyline3Proxy, IPolyline4Proxy, IPolyline5Proxy, IPolylineProxy, Polyline

public interface IPolyline
extends IPolycurve, Serializable

Provides access to members that identify and add behavior to a polyline object.

Superseded By

IPolyline5

Description

A polyline is a collection of one or many paths. The paths do not have to be connected to each other. A polyline can be defined either as a PointCollection, SegmentCollection, or GeometryCollection. Each collection type allows the user to access and manipulate different aspects of the polyline geometry.

Remarks

To define a polyline containing many disjoint paths, the polyline must be defined as a GeometryCollection to which preconstructed path geometries are added. Adding segments to a polyline defined as a SegmentCollection, or points to a polyline defined as a PointCollection, assumes that the polyline is a single path of connected segments.

Polylines

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
IPolycurve, IPointCollection, IGeometry, IConstructCurve, ISegmentCollection, IGeometryCollection, IPath

Method Summary
 boolean reshape(IPath reshapeSource)
          Modifies this polyline by replacing some of its segments with some segments from reshapeSource.
 void simplifyNetwork()
          Removes zero length segments (zero in 2 dimensions), merges parts at endpoints that only connect to each other, reorients segments that are pointing against the prevailing orientation for a part.
 
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

reshape

boolean reshape(IPath reshapeSource)
                throws IOException,
                       AutomationException
Modifies this polyline by replacing some of its segments with some segments from reshapeSource.

Description

Reshape replaces the Segments in the Polyline between consecutive Intersections with the input Path segments that connect those intersections. Reshape returns a boolean indicating whether or not a modification to the Polyline occurred.

Remarks

Note: For multipart (more than one path) polyline output part ordering may not be preserved. The orientation of vertices within parts is preserved.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
reshapeSource - A reference to a com.esri.arcgis.geometry.IPath (in)
Returns:
The didReshape
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IPolyline.reshape(com.esri.arcgis.geometry.IPath), IRing.reshape(com.esri.arcgis.geometry.IPath)

simplifyNetwork

void simplifyNetwork()
                     throws IOException,
                            AutomationException
Removes zero length segments (zero in 2 dimensions), merges parts at endpoints that only connect to each other, reorients segments that are pointing against the prevailing orientation for a part.

Description

Performs a partial simplification of the Polyline to ensure necessary consistency for a valid Network but not true topological simplicity. SimplifyNetwork performs the following alterations to the base Polyline:

1) Deletes empty and zero length segments.
2) Removes empty parts.
3) Makes segment orientation mutually consistent. Ensures that the following FromPoints and preceding ToPoints of connected segments are equal.
4) Creates new parts for discontiguous segments or segments with different attributes.
5) Merge parts where exactly two parts share an endpoint.
6) For a pair of segments in a part that share an endpoint such that one segment has NaN attributes and the other has non-NaN attributes, assign the non-NaN attributes of one to the corresponding NaN slots of the other.

Remarks

It is possbile for network features to have an inconsistent geometry requiring simplification, for example, a network edge can be a multipart feature whose parts share an endpoint. To correct the feature's geometry, set IsKnownSimple to False and call SimplifyNetwork on the feature to correct the inconsistency.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.