19 #ifndef GEOS_LINEARREF_LOCATIONINDEXEDLINE_H 20 #define GEOS_LINEARREF_LOCATIONINDEXEDLINE_H 61 : linearGeom(p_linearGeom)
106 double offsetDistance)
const 109 index.
getSegment(linearGeom)->pointAlongOffset(
127 std::unique_ptr<geom::Geometry>
256 return index.
isValid(linearGeom);
271 loc.
clamp(linearGeom);
static LinearLocation * indicesOf(const geom::Geometry *linearGeom, const geom::Geometry *subLine)
Determines the location of a subline along a linear Geometry.
LinearLocation indexOf(const geom::Coordinate &pt) const
Computes the index for a given point on the line.
LinearLocation indexOfAfter(const geom::Coordinate &pt, const LinearLocation &minIndex) const
Finds the index for a point on the line which is greater than the given index.
Coordinate is the lightweight class used to store coordinates.
LinearLocation getStartIndex() const
Returns the index of the start of the line.
double getSegmentFraction() const
Gets the segment fraction for this location.
geom::Coordinate getCoordinate(const geom::Geometry *linearGeom) const
Gets the Coordinate along the given linear Geometry which is referenced by this location.
const geom::Geometry * linearGeom
LinearLocation * indicesOf(const geom::Geometry *subLine) const
Computes the indices for a subline of the line.
void clamp(const geom::Geometry *linear)
Ensures the indexes are valid for a given linear Geometry.
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Indicates one or more illegal arguments.
static LinearLocation indexOf(const geom::Geometry *linearGeom, const geom::Coordinate &inputPt)
Represents a location along a LineString or MultiLineString.
std::unique_ptr< geom::LineSegment > getSegment(const geom::Geometry *linearGeom) const
Gets a LineSegment representing the segment of the given linear Geometry which contains this location...
bool isValidIndex(const LinearLocation &index) const
Tests whether an index is in the valid index range for the line.
static LinearLocation indexOfAfter(const geom::Geometry *linearGeom, const geom::Coordinate &inputPt, const LinearLocation *minIndex)
std::unique_ptr< geom::Geometry > extractLine(const LinearLocation &startIndex, const LinearLocation &endIndex) const
Computes the LineString for the interval on the line between the given indices.
geom::Coordinate extractPoint(const LinearLocation &index, double offsetDistance) const
Computes the Coordinate for the point on the line at the given index, offset by the given distance...
geom::Coordinate extractPoint(const LinearLocation &index) const
Computes the Coordinate for the point on the line at the given index.
LinearLocation clampIndex(const LinearLocation &index) const
Computes a valid index for this line by clamping the given index to the valid range of index values...
Basic namespace for all GEOS functionalities.
LocationIndexedLine(const geom::Geometry *p_linearGeom)
Constructs an object which allows linear referencing along a given linear Geometry.
bool isValid(const geom::Geometry *linearGeom) const
Tests whether this location refers to a valid location on the given linear Geometry.
static LinearLocation getEndLocation(const geom::Geometry *linear)
Gets a location which refers to the end of a linear Geometry.
LinearLocation getEndIndex() const
Returns the index of the end of the line.
LinearLocation project(const geom::Coordinate &pt) const
Computes the index for the closest point on the line to the given point.
Supports linear referencing along a linear Geometry using LinearLocations as the index.