public class LinearLocation extends Objectimplements Comparable
LineString or
MultiLineString. The referenced geometry is not maintained within this location, but must be provided for operations which require it. Various methods are provided to manipulate the location value and query the geometry it references.
| Constructor and Description |
|---|
LinearLocation()
Creates a location referring to the start of a linear geometry
|
LinearLocation(int segmentIndex, double segmentFraction)
|
LinearLocation(int componentIndex, int segmentIndex, double segmentFraction)
|
LinearLocation(LinearLocation
Creates a new location equal to a given one.
|
| Modifier and Type | Method and Description |
|---|---|
void |
clamp(Geometry
Ensures the indexes are valid for a given linear
Geometry.
|
Object |
clone()
Copies this location
|
int |
compareLocationValues(int componentIndex1, int segmentIndex1, double segmentFraction1)
Compares this object with the specified index values for order.
|
static int |
compareLocationValues(int componentIndex0, int segmentIndex0, double segmentFraction0, int componentIndex1, int segmentIndex1, double segmentFraction1)
Compares two sets of location values for order.
|
int |
compareTo(Object
Compares this object with the specified object for order.
|
int |
getComponentIndex()
Gets the component index for this location.
|
Coordinate |
getCoordinate(Geometry
Gets the
Coordinate along the given linear
Geometry which is referenced by this location.
|
static LinearLocation |
getEndLocation(Geometry
Gets a location which refers to the end of a linear
Geometry.
|
LineSegment |
getSegment(Geometry
Gets a
LineSegment representing the segment of the given linear
Geometry which contains this location.
|
double |
getSegmentFraction()
Gets the segment fraction for this location
|
int |
getSegmentIndex()
Gets the segment index for this location
|
double |
getSegmentLength(Geometry
Gets the length of the segment in the given Geometry containing this location.
|
boolean |
isEndpoint(Geometry
Tests whether this location is an endpoint of the linear component it refers to.
|
boolean |
isOnSameSegment(LinearLocation
Tests whether two locations are on the same segment in the parent
Geometry.
|
boolean |
isValid(Geometry
Tests whether this location refers to a valid location on the given linear
Geometry.
|
boolean |
isVertex()
Tests whether this location refers to a vertex
|
static Coordinate |
pointAlongSegmentByFraction(Coordinate
Computes the
Coordinate of a point a given fraction along the line segment
(p0, p1).
|
void |
setToEnd(Geometry
Sets the value of this location to refer to the end of a linear geometry.
|
void |
snapToVertex(Geometry
Snaps the value of this location to the nearest vertex on the given linear
Geometry, if the vertex is closer than
minDistance.
|
String |
toString()
|
public LinearLocation()
public LinearLocation(int segmentIndex,
double segmentFraction)public LinearLocation(int componentIndex,
int segmentIndex,
double segmentFraction)public LinearLocation(LinearLocationloc)
loc - a LinearLocation
public static LinearLocationgetEndLocation(Geometry linear)
Geometry.
linear - the linear geometry
public static CoordinatepointAlongSegmentByFraction(Coordinate p0, Coordinate p1, double frac)
Coordinate of a point a given fraction along the line segment
(p0, p1). If the fraction is greater than 1.0 the last point of the segment is returned. If the fraction is less than or equal to 0.0 the first point of the segment is returned. The Z ordinate is interpolated from the Z-ordinates of the given points, if they are specified.
p0 - the first point of the line segment
p1 - the last point of the line segment
frac - the length to the desired point
public void clamp(Geometrylinear)
Geometry.
linear - a linear geometry
public void snapToVertex(GeometrylinearGeom, double minDistance)
Geometry, if the vertex is closer than
minDistance.
linearGeom - a linear geometry
minDistance - the minimum allowable distance to a vertex
public double getSegmentLength(GeometrylinearGeom)
linearGeom - a linear geometry
public void setToEnd(Geometrylinear)
linear - the linear geometry to use to set the end
public int getComponentIndex()
public int getSegmentIndex()
public double getSegmentFraction()
public boolean isVertex()
public CoordinategetCoordinate(Geometry linearGeom)
Coordinate along the given linear
Geometry which is referenced by this location.
linearGeom - the linear geometry referenced by this location
public LineSegmentgetSegment(Geometry linearGeom)
LineSegment representing the segment of the given linear
Geometry which contains this location.
linearGeom - a linear geometry
public boolean isValid(GeometrylinearGeom)
Geometry.
linearGeom - a linear geometry
public int compareTo(Objecto)
compareTo in interface
Comparable
o - the
LineStringLocation with which this
Coordinate is being compared
LineStringLocation is less than, equal to, or greater than the specified
LineStringLocation
public int compareLocationValues(int componentIndex1,
int segmentIndex1,
double segmentFraction1)
componentIndex1 - a component index
segmentIndex1 - a segment index
segmentFraction1 - a segment fraction
LineStringLocation is less than, equal to, or greater than the specified locationValues
public static int compareLocationValues(int componentIndex0,
int segmentIndex0,
double segmentFraction0,
int componentIndex1,
int segmentIndex1,
double segmentFraction1)
componentIndex0 - a component index
segmentIndex0 - a segment index
segmentFraction0 - a segment fraction
componentIndex1 - another component index
segmentIndex1 - another segment index
segmentFraction1 - another segment fraction
public boolean isOnSameSegment(LinearLocationloc)
Geometry.
loc - a location on the same geometry
public boolean isEndpoint(GeometrylinearGeom)
linearGeom - the linear geometry referenced by this location
public Objectclone()
public StringtoString()