|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IMSegmentation2
Provides access to additional linear referencing operations on polylines.
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.
IPoint.getM()
,
IMSegmentation
,
IMSegmentation2
,
IMCollection
,
IMAware
Method Summary | |
---|---|
IEnumSplitPoint |
calibrateByDistance(IEnumVertex points,
int updateHow,
boolean ignoreGaps,
double cutoffDistance)
Calibrates Ms of existing vertices using new Ms from the input points and the shortest path distances along the polyline between those points. |
IEnumSplitPoint |
calibrateByMs(IEnumVertex points,
int updateHow,
double cutoffDistance)
Calibrates Ms of existing vertices using new Ms from the input points and existing Ms along shortest paths between those points. |
IGeometryCollection |
getSubcurveBetweenMsEx(double fromM,
double toM,
int[] fromMDetails,
int[] toMDetails)
Returns a polyline geometry corresponding to the subcurve(s) between the fromM and the toM values. |
void |
setMsAsDistance2(IPoint origin,
double scale,
double offset,
boolean ignoreGaps)
Sets Ms on vertices as scaled and offset distances from the input origin as measured along the polyline. |
void |
updateMsByDistance(int fromPart,
int fromPoint,
int toPart,
int toPoint,
double fromM,
double toM,
int updateHow,
boolean ignoreGaps)
Updates Ms along the shortest path between the specified endpoints. |
void |
updateMsByMs(int fromPart,
int fromPoint,
int toPart,
int toPoint,
double fromM,
double toM,
int updateHow)
Updates Ms along the shortest path between the specified endpoints. |
Methods inherited from interface com.esri.arcgis.geometry.IMSegmentation |
---|
calculateNonSimpleMs, extrapolateMs, getDistancesAtM, getMMonotonic, getMsAtDistance, getPointsAtM, getSubcurveBetweenMs, insertMAtDistance, interpolateMsBetween, reverseMsOrder, setAndInterpolateMsBetween, setMsAsDistance |
Methods inherited from interface com.esri.arcgis.geometry.IMCollection |
---|
getMMax, getMMin, multiplyMs, offsetMs |
Method Detail |
---|
void setMsAsDistance2(IPoint origin, double scale, double offset, boolean ignoreGaps) throws IOException, AutomationException
origin
- A reference to a com.esri.arcgis.geometry.IPoint (in)scale
- The scale (in)offset
- The offset (in)ignoreGaps
- The ignoreGaps (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IMSegmentation.setMsAsDistance(boolean)
void updateMsByDistance(int fromPart, int fromPoint, int toPart, int toPoint, double fromM, double toM, int updateHow, boolean ignoreGaps) throws IOException, AutomationException
The updateHow argument is given as a combination of esriGeometryUpdateMEnum values. When combining multiple values, the bitwise Or operator should always be used. This assures an error-free combination of the values (as long as the attempted combination is valid). Do not use the addition operator (+) to combine the values as unexpected results may occur.
For example, to interpolate between the input points and to extrapolate before and after the input points, you would use 7, which equates to: esriGeometryInterpolate OR esriGeometryExtrapolateBefore OR esriGeometryExtrapolateAfter
esriGeometryInterpolate = 0001 (1)
esriGeometryExtrapolateBefore = 0010 (2)
esriGeometryExtrapolateAfter = 0100 (4)
0001
0010
0100
----
0111
fromPart
- The fromPart (in)fromPoint
- The fromPoint (in)toPart
- The toPart (in)toPoint
- The toPoint (in)fromM
- The fromM (in)toM
- The toM (in)updateHow
- The updateHow (in)ignoreGaps
- The ignoreGaps (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IMSegmentation2.updateMsByMs(int, int, int, int, double, double, int)
void updateMsByMs(int fromPart, int fromPoint, int toPart, int toPoint, double fromM, double toM, int updateHow) throws IOException, AutomationException
The updateHow argument is given as a combination of esriGeometryUpdateMEnum values. When combining multiple values, the bitwise Or operator should always be used. This assures an error-free combination of the values (as long as the attempted combination is valid). Do not use the addition operator (+) to combine the values as unexpected results may occur.
For example, to interpolate between the input points and to extrapolate before and after the input points, you would use 7, which equates to: esriGeometryInterpolate OR esriGeometryExtrapolateBefore OR esriGeometryExtrapolateAfter
esriGeometryInterpolate = 0001 (1)
esriGeometryExtrapolateBefore = 0010 (2)
esriGeometryExtrapolateAfter = 0100 (4)
0001
0010
0100
----
0111
fromPart
- The fromPart (in)fromPoint
- The fromPoint (in)toPart
- The toPart (in)toPoint
- The toPoint (in)fromM
- The fromM (in)toM
- The toM (in)updateHow
- The updateHow (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IMSegmentation2.updateMsByDistance(int, int, int, int, double, double, int, boolean)
IEnumSplitPoint calibrateByDistance(IEnumVertex points, int updateHow, boolean ignoreGaps, double cutoffDistance) throws IOException, AutomationException
The updateHow argument is given as a combination of esriGeometryUpdateMEnum values. When combining multiple values, the bitwise Or operator should always be used. This assures an error-free combination of the values (as long as the attempted combination is valid). Do not use the addition operator (+) to combine the values as unexpected results may occur.
For example, to interpolate between the input points and to extrapolate before and after the input points, you would use 7, which equates to: esriGeometryInterpolate OR esriGeometryExtrapolateBefore OR esriGeometryExtrapolateAfter. A value of 0 will only split the input polyline and assign the Ms value to the new created vertex. If an input point has the same X (or projected to the same X) as an existing vertex the Ms value of the existing vertex will be updated.
Note : The "After" and "Before" for the updateHow parameter is define by the order of the points in the multipoints. Ex : If the points are define from left to right the "Before" will be at the left of the first point and the "After" will be at the right of the last point.
The cutoffDistance parameter is an input Double that represents the distance from the polyline from where points are not considered anymore as being valid calibration points.
The following picture demonstrates graphically the method behavior. A updateHow paramater of 7 has been used.
esriGeometryInterpolate =
0001 (1)
esriGeometryExtrapolateBefore = 0010 (2)
esriGeometryExtrapolateAfter = 0100 (4)
0001
0010
0100
----
0111
points
- A reference to a com.esri.arcgis.geometry.IEnumVertex (in)updateHow
- The updateHow (in)ignoreGaps
- The ignoreGaps (in)cutoffDistance
- The cutoffDistance (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IMSegmentation2.calibrateByMs(com.esri.arcgis.geometry.IEnumVertex, int, double)
IEnumSplitPoint calibrateByMs(IEnumVertex points, int updateHow, double cutoffDistance) throws IOException, AutomationException
The updateHow argument is given as a combination of esriGeometryUpdateMEnum values. When combining multiple values, the bitwise Or operator should always be used. This assures an error-free combination of the values (as long as the attempted combination is valid). Do not use the addition operator (+) to combine the values as unexpected results may occur.
The cutoffDistance parameter is an input Double that represents the distance from the polyline from where points are not considered anymore as being valid calibration points.
For example, to interpolate between the input points and to extrapolate before and after the input points, you would use 7, which equates to: esriGeometryInterpolate OR esriGeometryExtrapolateBefore OR esriGeometryExtrapolateAfter
esriGeometryInterpolate = 0001 (1)
esriGeometryExtrapolateBefore = 0010 (2)
esriGeometryExtrapolateAfter = 0100 (4)
0001
0010
0100
----
0111
points
- A reference to a com.esri.arcgis.geometry.IEnumVertex (in)updateHow
- The updateHow (in)cutoffDistance
- The cutoffDistance (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IMSegmentation2.calibrateByDistance(com.esri.arcgis.geometry.IEnumVertex, int, boolean, double)
IGeometryCollection getSubcurveBetweenMsEx(double fromM, double toM, int[] fromMDetails, int[] toMDetails) throws IOException, AutomationException
fromM
- The fromM (in)toM
- The toM (in)fromMDetails
- The fromMDetails (in/out: use single element array)toMDetails
- The toMDetails (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IMSegmentation.getSubcurveBetweenMs(double, double)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |