IMSegmentation3 Interface

Provides access to additional linear referencing operations on polylines.

Members

Name Description
Method CalculateNonSimpleMs Redefines the non-simple Ms to be values obtained from interpolation of surrounding defined Ms, or extrapolation of Ms.
Method CalibrateByDistance Calibrates Ms of existing vertices using new Ms from the input points and the shortest path distances along the polyline between those points. The update method is given as a combination of esriGeometryUpdateMEnum values.
Method CalibrateByMs Calibrates Ms of existing vertices using new Ms from the input points and existing Ms along shortest paths between those points. The update method is given as a combination of esriGeometryUpdateMEnum values.
Method ExtrapolateMs Extrapolates the Ms at one or both ends of the geometry based on the M interval between the fromIndex and the toIndex.
Method GetDistancesAtM Returns an array of distances along the polyline at which is located the specified M. If the geometry's M's are monotonic along the geometry then the array will only have one element.
Method GetMsAtDistance Returns M values at the distance along the geometry. An array of one or two Ms is returned. Two Ms can be returned if the given distance is exactly at the beginning or ending of a part.
Method GetNormalsAtM Returns a geometry bag of line segments corresponding to the normal at the locations along the geometry where the specified M occurs.
Method GetPointsAtM Returns a multipoint geometry corresponding to the locations along the geometry where the specified M occurs.
Method GetSubcurveBetweenMs Returns a polyline geometry corresponding to the subcurve(s) between the fromM and the toM.
Method GetSubcurveBetweenMsEx Returns a polyline geometry corresponding to the subcurve(s) between the fromM and the toM values. The 'details' arguments are composed of esriMCurveRelationEnum values.
Method InsertMAtDistance Sets the M value at the given distance along the geometry; creates a point at that distance if no point exists there.
Method InterpolateMsBetween Generates Ms by linear interpolation of segment distances for all vertices in the range [start+1, end-1].
Read-only property MMax The maximum M value.
Read-only property MMin The minimum M value.
Read-only property MMonotonic A value indicating whether Ms are monotonic, and if so, whether they are ascending or descending.
Read-only property MMonotonicity A combination of esriMonotinicityEnum values that describes all trends in M values over the length of the curve.
Method MultiplyMs Multiplies all the M values by a factor.
Method OffsetMs Offsets all the M values by an offset value.
Method OrientByMs Re-orients the curve to make Ms non-decreasing, if possible.
Method QueryFirstLastM Returns the first and last defined M value for the curve.
Method ReverseMsOrder Reverses the order of the Ms along the geometry.
Method SetAndInterpolateMsBetween Sets the Ms at the beginning and the end of the geometry and interpolates the M values between these values.
Method SetMsAsDistance Sets the M values to the cumulative length from the origin of the geometry.
Method SetMsAsDistance2 Sets Ms on vertices as scaled and offset distances from the input origin as measured along the polyline. Shortest path distances from the origin are used. Optionally ignores distances between parts of the polyline.
Method UpdateAllMsByMs Sets Ms on vertices as scaled and offset M distances from the input origin as measured along the polyline based on the existing M's. Shortest path distances from the origin are used. Optionally ignores distances between parts of the polyline.
Method UpdateMsByDistance Updates Ms along the shortest path between the specified endpoints. The interpolation ratio is determined by the input ms and euclidean distance along that path. The update method is given as a combination of esriGeometryUpdateMEnum values.
Method UpdateMsByMs Updates Ms along the shortest path between the specified endpoints. The interpolation ratio is determined by the existing ms along that path and the input ms. The update method is given as a combination of esriGeometryUpdateMEnum values.

IMSegmentation3.GetNormalsAtM Method

Returns a geometry bag of line segments corresponding to the normal at the locations along the geometry where the specified M occurs.

Public Function GetNormalsAtM ( _
    ByVal M As Double, _
    ByVal Length As Double _
) As IGeometryCollection
public IGeometryCollection GetNormalsAtM (
    double M,
    double Length
);

Remarks

Note : The Length parameter represents the length of the normal lines returned. A negative value returns the normal lines on the left of the polyline.

In the above example the specified M was 10 and the Length was 50. The normal line was then created on the right side of the polyline at the location of M = 10.

IMSegmentation3.MMonotonicity Property

A combination of esriMonotinicityEnum values that describes all trends in M values over the length of the curve.

Public ReadOnly Property MMonotonicity As Integer
public int MMonotonicity {get;}

Remarks

The MMonotonicity value in the above case is 15 because that polyline has intervals that EsriValueIncreases (1), EsriValueLevel (2), EsriValueDecreases(4) and EsriValuesEmpty(8).

Note : That method returns a combination of esriMonotinicityEnum values.

IMSegmentation3.OrientByMs Method

Re-orients the curve to make Ms non-decreasing, if possible.

Public Sub OrientByMs ( _
)
public void OrientByMs (
);

Remarks

Note: If one or many parts of the polyline are non-MMonotonic then the reordering will not happen.

IMSegmentation3.QueryFirstLastM Method

Returns the first and last defined M value for the curve.

Public Sub QueryFirstLastM ( _
    ByRef firstM As Double, _
    ByRef lastM As Double _
)
public void QueryFirstLastM (
    ref double firstM,
    ref double lastM
);

Description

QueryFirstLastM returns the first and the last Non-NAN Ms on the polyline. If all the vertex attributes are NANs then NANs are returned.

Remarks

Note : NAN stands for Not A Number.

IMSegmentation3.UpdateAllMsByMs Method

Sets Ms on vertices as scaled and offset M distances from the input origin as measured along the polyline based on the existing M's. Shortest path distances from the origin are used. Optionally ignores distances between parts of the polyline.

Public Sub UpdateAllMsByMs ( _
    ByVal Origin As IPoint, _
    ByVal Scale As Double, _
    ByVal Offset As Double, _
    ByVal ignoreGaps As Boolean _
)
public void UpdateAllMsByMs (
    IPoint Origin,
    double Scale,
    double Offset,
    bool ignoreGaps
);

Inherited Interfaces

Interfaces Description
IMSegmentation2 Provides access to additional linear referencing operations on polylines.
IMSegmentation Provides access to members for defining an M-based linear coordinate system on a polyline or polygon.
IMCollection Provides access to members that control operations on M-aware multipoints, polylines, polygons and multipatches.

Classes that implement IMSegmentation3

Classes Description
Polyline An ordered collection of paths; optionally has measure, height and ID attributes.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.