Package org.locationtech.jts.linearref
Class LinearIterator
- java.lang.Object
-
- org.locationtech.jts.linearref.LinearIterator
-
public class LinearIterator extends java.lang.Object
An iterator over the components and coordinates of a linear geometry (LineString
s andMultiLineString
s. The standard usage pattern for aLinearIterator
is:for (LinearIterator it = new LinearIterator(...); it.hasNext(); it.next()) { ... int ci = it.getComponentIndex(); // for example int vi = it.getVertexIndex(); // for example ... }
- Version:
- 1.7
-
-
Constructor Summary
Constructors Constructor Description LinearIterator(Geometry linear)
Creates an iterator initialized to the start of a linearGeometry
LinearIterator(Geometry linearGeom, int componentIndex, int vertexIndex)
Creates an iterator starting at a specified component and vertex in a linearGeometry
LinearIterator(Geometry linear, LinearLocation start)
Creates an iterator starting at aLinearLocation
on a linearGeometry
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getComponentIndex()
The component index of the vertex the iterator is currently at.LineString
getLine()
Gets theLineString
component the iterator is current at.Coordinate
getSegmentEnd()
Gets the secondCoordinate
of the current segment.Coordinate
getSegmentStart()
Gets the firstCoordinate
of the current segment.int
getVertexIndex()
The vertex index of the vertex the iterator is currently at.boolean
hasNext()
Tests whether there are any vertices left to iterator over.boolean
isEndOfLine()
Checks whether the iterator cursor is pointing to the endpoint of a componentLineString
.void
next()
Moves the iterator ahead to the next vertex and (possibly) linear component.
-
-
-
Constructor Detail
-
LinearIterator
public LinearIterator(Geometry linear)
Creates an iterator initialized to the start of a linearGeometry
- Parameters:
linear
- the linear geometry to iterate over- Throws:
java.lang.IllegalArgumentException
- if linearGeom is not lineal
-
LinearIterator
public LinearIterator(Geometry linear, LinearLocation start)
Creates an iterator starting at aLinearLocation
on a linearGeometry
- Parameters:
linear
- the linear geometry to iterate overstart
- the location to start at- Throws:
java.lang.IllegalArgumentException
- if linearGeom is not lineal
-
LinearIterator
public LinearIterator(Geometry linearGeom, int componentIndex, int vertexIndex)
Creates an iterator starting at a specified component and vertex in a linearGeometry
- Parameters:
linearGeom
- the linear geometry to iterate overcomponentIndex
- the component to start atvertexIndex
- the vertex to start at- Throws:
java.lang.IllegalArgumentException
- if linearGeom is not lineal
-
-
Method Detail
-
hasNext
public boolean hasNext()
Tests whether there are any vertices left to iterator over. Specifically, hasNext() return true if the current state of the iterator represents a valid location on the linear geometry.- Returns:
true
if there are more vertices to scan
-
next
public void next()
Moves the iterator ahead to the next vertex and (possibly) linear component.
-
isEndOfLine
public boolean isEndOfLine()
Checks whether the iterator cursor is pointing to the endpoint of a componentLineString
.- Returns:
true
if the iterator is at an endpoint
-
getComponentIndex
public int getComponentIndex()
The component index of the vertex the iterator is currently at.- Returns:
- the current component index
-
getVertexIndex
public int getVertexIndex()
The vertex index of the vertex the iterator is currently at.- Returns:
- the current vertex index
-
getLine
public LineString getLine()
Gets theLineString
component the iterator is current at.- Returns:
- a linestring
-
getSegmentStart
public Coordinate getSegmentStart()
Gets the firstCoordinate
of the current segment. (the coordinate of the current vertex).- Returns:
- a
Coordinate
-
getSegmentEnd
public Coordinate getSegmentEnd()
Gets the secondCoordinate
of the current segment. (the coordinate of the next vertex). If the iterator is at the end of a line,null
is returned.- Returns:
- a
Coordinate
ornull
-
-