Provides access to additional linear referencing operations on polylines.
Members
Name | Description | |
---|---|---|
CalculateNonSimpleMs | Redefines the non-simple Ms to be values obtained from interpolation of surrounding defined Ms, or extrapolation of Ms. | |
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. | |
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. | |
ExtrapolateMs | Extrapolates the Ms at one or both ends of the geometry based on the M interval between the fromIndex and the toIndex. | |
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. | |
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. | |
GetNormalsAtM | Returns a geometry bag of line segments corresponding to the normal at the locations along the geometry where the specified M occurs. | |
GetPointsAtM | Returns a multipoint geometry corresponding to the locations along the geometry where the specified M occurs. | |
GetSubcurveBetweenMs | Returns a polyline geometry corresponding to the subcurve(s) between the fromM and the toM. | |
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. | |
InsertMAtDistance | Sets the M value at the given distance along the geometry; creates a point at that distance if no point exists there. | |
InterpolateMsBetween | Generates Ms by linear interpolation of segment distances for all vertices in the range [start+1, end-1]. | |
MMax | The maximum M value. | |
MMin | The minimum M value. | |
MMonotonic | A value indicating whether Ms are monotonic, and if so, whether they are ascending or descending. | |
MMonotonicity | A combination of esriMonotinicityEnum values that describes all trends in M values over the length of the curve. | |
MultiplyMs | Multiplies all the M values by a factor. | |
OffsetMs | Offsets all the M values by an offset value. | |
OrientByMs | Re-orients the curve to make Ms non-decreasing, if possible. | |
QueryFirstLastM | Returns the first and last defined M value for the curve. | |
ReverseMsOrder | Reverses the order of the Ms along the geometry. | |
SetAndInterpolateMsBetween | Sets the Ms at the beginning and the end of the geometry and interpolates the M values between these values. | |
SetMsAsDistance | Sets the M values to the cumulative length from the origin of the geometry. | |
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. | |
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. | |
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. | |
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. |