GEOS 3.3.8

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | Friends | List of all members
geos::linearref::LinearLocation Class Reference

Represents a location along a LineString or MultiLineString. More...

`#include <LinearLocation.h>`

## Public Member Functions
| LinearLocation (unsigned int segmentIndex=0, double segmentFraction=0.0)
| LinearLocation (unsigned int componentIndex, unsigned int segmentIndex, double segmentFraction)
void | clamp (const geom::Geometry *linear)
void | snapToVertex (const geom::Geometry *linearGeom, double minDistance)
double | getSegmentLength (const geom::Geometry *linearGeom) const
void | setToEnd (const geom::Geometry *linear)
unsigned int | getComponentIndex () const
unsigned int | getSegmentIndex () const
double | getSegmentFraction () const
bool | isVertex () const
geom::Coordinate | getCoordinate (const geom::Geometry *linearGeom) const
std::auto_ptr< geom::LineSegment > | getSegment (const geom::Geometry *linearGeom) const
bool | isValid (const geom::Geometry *linearGeom) const
int | compareTo (const LinearLocation &other) const
int | compareLocationValues (unsigned int componentIndex1, unsigned int segmentIndex1, double segmentFraction1) const
bool | isOnSameSegment (const LinearLocation &loc) const

## Static Public Member Functions
static LinearLocation | getEndLocation (const geom::Geometry *linear)
static geom::Coordinate | pointAlongSegmentByFraction (const geom::Coordinate &p0, const geom::Coordinate &p1, double frac)
static int | compareLocationValues (unsigned int componentIndex0, unsigned int segmentIndex0, double segmentFraction0, unsigned int componentIndex1, unsigned int segmentIndex1, double segmentFraction1)

## Friends
std::ostream & | operator<< (std::ostream &out, const LinearLocation &obj)

## Detailed Description

Represents a location along a 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 & Destructor Documentation

geos::linearref::LinearLocation::LinearLocation | ( | unsigned int | segmentIndex = `0`,
|  | double | segmentFraction = `0.0`
| ) |  |

Creates a location referring to the start of a linear geometry

## Member Function Documentation

void geos::linearref::LinearLocation::clamp | ( | const geom::Geometry * | linear | ) |

Ensures the indexes are valid for a given linear Geometry.

Parameters

  linear | a linear geometry

int geos::linearref::LinearLocation::compareLocationValues | ( | unsigned int | componentIndex1,
|  | unsigned int | segmentIndex1,
|  | double | segmentFraction1
| ) |  | const

Compares this object with the specified index values for order.

Parameters

  componentIndex1 | a component index
  segmentIndex1 | a segment index
  segmentFraction1 | a segment fraction

Returns
  a negative integer, zero, or a positive integer as this `LineStringLocation` is less than, equal to, or greater than the specified locationValues

static int geos::linearref::LinearLocation::compareLocationValues | ( | unsigned int | componentIndex0,
|  | unsigned int | segmentIndex0,
|  | double | segmentFraction0,
|  | unsigned int | componentIndex1,
|  | unsigned int | segmentIndex1,
|  | double | segmentFraction1
| ) |  |
| static

Compares two sets of location values for order.

Parameters

  componentIndex0 | a component index
  segmentIndex0 | a segment index
  segmentFraction0 | a segment fraction
  componentIndex1 | another component index
  segmentIndex1 | another segment index
  segmentFraction1 | another segment fraction

Returns
  a negative integer, zero, or a positive integer as the first set of location values is less than, equal to, or greater than the second set of locationValues

int geos::linearref::LinearLocation::compareTo | ( | const LinearLocation & | other | ) | const

Compares this object with the specified object for order.

Parameters

  o | the `LineStringLocation` with which this `Coordinate` is being compared

Returns
  a negative integer, zero, or a positive integer as this `LineStringLocation` is less than, equal to, or greater than the specified `LineStringLocation`

unsigned int geos::linearref::LinearLocation::getComponentIndex | ( |  | ) | const

Gets the component index for this location.

Returns
  the component index

geom::Coordinate geos::linearref::LinearLocation::getCoordinate | ( | const geom::Geometry * | linearGeom | ) | const

Gets the Coordinate along the given linear Geometry which is referenced by this location.

Parameters

  linearGeom | a linear geometry

Returns
  the `Coordinate` at the location

static LinearLocation geos::linearref::LinearLocation::getEndLocation | ( | const geom::Geometry * | linear | ) |
| static

Gets a location which refers to the end of a linear Geometry.

Parameters

  linear | the linear geometry

Returns
  a new `LinearLocation`

std::auto_ptr<geom::LineSegment> geos::linearref::LinearLocation::getSegment | ( | const geom::Geometry * | linearGeom | ) | const

Gets a LineSegment representing the segment of the given linear Geometry which contains this location.

Parameters

  linearGeom | a linear geometry

Returns
  the `LineSegment` containing the location

double geos::linearref::LinearLocation::getSegmentFraction | ( |  | ) | const

Gets the segment fraction for this location

Returns
  the segment fraction

unsigned int geos::linearref::LinearLocation::getSegmentIndex | ( |  | ) | const

Gets the segment index for this location

Returns
  the segment index

double geos::linearref::LinearLocation::getSegmentLength | ( | const geom::Geometry * | linearGeom | ) | const

Gets the length of the segment in the given Geometry containing this location.

Parameters

  linearGeom | a linear geometry

Returns
  the length of the segment

bool geos::linearref::LinearLocation::isOnSameSegment | ( | const LinearLocation & | loc | ) | const

Tests whether two locations are on the same segment in the parent Geometry.

Parameters

  loc | a location on the same geometry

Returns
  true if the locations are on the same segment of the parent geometry

bool geos::linearref::LinearLocation::isValid | ( | const geom::Geometry * | linearGeom | ) | const

Tests whether this location refers to a valid location on the given linear Geometry.

Parameters

  linearGeom | a linear geometry

Returns
  true if this location is valid

bool geos::linearref::LinearLocation::isVertex | ( |  | ) | const

Tests whether this location refers to a vertex

Returns
  true if the location is a vertex

static geom::Coordinate geos::linearref::LinearLocation::pointAlongSegmentByFraction | ( | const geom::Coordinate & | p0,
|  | const geom::Coordinate & | p1,
|  | double | frac
| ) |  |
| static

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

Parameters

  p0 | the first point of the line segment
  p1 | the last point of the line segment
  frac | the length to the desired point

Returns
  the `Coordinate` of the desired point

void geos::linearref::LinearLocation::setToEnd | ( | const geom::Geometry * | linear | ) |

Sets the value of this location to refer the end of a linear geometry

Parameters

  linear | the linear geometry to set

void geos::linearref::LinearLocation::snapToVertex | ( | const geom::Geometry * | linearGeom,
|  | double | minDistance
| ) |  |

Snaps the value of this location to the nearest vertex on the given linear Geometry, if the vertex is closer than `minDistance`.

Parameters

  linearGeom | a linear geometry
  minDistance | the minimum allowable distance to a vertex

The documentation for this class was generated from the following file:

- LinearLocation.h