Provides access to additional linear referencing operations on polylines.
**Note:** the IMSegmentation2 interface has been superseded byIMSegmentation3. Please consider using the more recent version.

#### Product Availability

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

#### Members

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. | |

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. | |

MultiplyMs | Multiplies all the M values by a factor. | |

OffsetMs | Offsets all the M values by an offset value. | |

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. | |

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. |

#### Inherited Interfaces

Interfaces | Description |
---|---|

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. |

#### CoClasses that implement IMSegmentation2

CoClasses and Classes | Description |
---|---|

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

#### Remarks

The IMSegmentation2 interface (like the IMSegmenation interface) also provides methods designed to work with the dynamic segmentation functionality in ArcObjects. These methods offer extended ways to interpolate and update the m attributes on a PolyLine, by cumulative distance and also by existing m values.

#### See Also

IMSegmentation Interface | IMCollection Interface | IMSegmentation2 Interface | IPoint.M Property | IMAware Interface