public class LengthIndexedLine extends Object
Geometry using the length along the line as the index. Negative length values are taken as measured in the reverse direction from the end of the geometry. Out-of-range index values are handled by clamping them to the valid range of values. Non-simple lines (i.e. which loop back to cross or touch themselves) are supported.
| Constructor and Description |
|---|
LengthIndexedLine(Geometry
Constructs an object which allows a linear
Geometry to be linearly referenced using length as an index.
|
| Modifier and Type | Method and Description |
|---|---|
double |
clampIndex(double index)
Computes a valid index for this line by clamping the given index to the valid range of index values
|
Geometry |
extractLine(double startIndex, double endIndex)
Computes the
LineString for the interval on the line between the given indices.
|
Coordinate |
extractPoint(double index)
Computes the
Coordinate for the point on the line at the given index.
|
Coordinate |
extractPoint(double index, double offsetDistance)
Computes the
Coordinate for the point on the line at the given index, offset by the given distance.
|
double |
getEndIndex()
Returns the index of the end of the line
|
double |
getStartIndex()
Returns the index of the start of the line
|
double |
indexOf(Coordinate
Computes the minimum index for a point on the line.
|
double |
indexOfAfter(Coordinate
Finds the index for a point on the line which is greater than the given index.
|
double[] |
indicesOf(Geometry
Computes the indices for a subline of the line.
|
boolean |
isValidIndex(double index)
Tests whether an index is in the valid index range for the line.
|
double |
project(Coordinate
Computes the index for the closest point on the line to the given point.
|
public CoordinateextractPoint(double index)
Coordinate for the point on the line at the given index. If the index is out of range the first or last point on the line will be returned. The Z-ordinate of the computed point will be interpolated from the Z-ordinates of the line segment containing it, if they exist.
index - the index of the desired point
public CoordinateextractPoint(double index, double offsetDistance)
Coordinate for the point on the line at the given index, offset by the given distance. If the index is out of range the first or last point on the line will be returned. The computed point is offset to the left of the line if the offset distance is positive, to the right if negative. The Z-ordinate of the computed point will be interpolated from the Z-ordinates of the line segment containing it, if they exist.
index - the index of the desired point
offsetDistance - the distance the point is offset from the segment (positive is to the left, negative is to the right)
public GeometryextractLine(double startIndex, double endIndex)
LineString for the interval on the line between the given indices. If the endIndex lies before the startIndex, the computed geometry is reversed.
startIndex - the index of the start of the interval
endIndex - the index of the end of the interval
public double indexOf(Coordinatept)
project(com.vividsolutions.jts.geom.Coordinate) to compute a guaranteed result for points which may be far from the line.
pt - a point on the line
project(Coordinate)
public double indexOfAfter(Coordinatept, double minIndex)
project(com.vividsolutions.jts.geom.Coordinate) to compute a guaranteed result for points which may be far from the line.
pt - a point on the line
minIndex - the value the returned index must be greater than
project(Coordinate)
public double[] indicesOf(GeometrysubLine)
subLine - a subLine of the line
public double project(Coordinatept)
pt - a point on the line
public double getStartIndex()
public double getEndIndex()
public boolean isValidIndex(double index)
index - the index to test
true if the index is in the valid range
public double clampIndex(double index)