public class CoordinateArraySequence extends Object implements CoordinateSequence, Serializable
CoordinateSequence backed by an array of Coordinates.
This is the implementation that Geometrys use by default.
Coordinates returned by #toArray and #getCoordinate are live --
modifications to them are actually changing the
CoordinateSequence's underlying data.
A dimension may be specified for the coordinates in the sequence,
which may be 2 or 3.
The actual coordinates will always have 3 ordinates,
but the dimension is useful as metadata in some situations.M, X, Y, Z| Constructor and Description |
|---|
CoordinateArraySequence(Coordinate[] coordinates)
Constructs a sequence based on the given array
of
Coordinates (the
array is not copied). |
CoordinateArraySequence(Coordinate[] coordinates,
int dimension)
Constructs a sequence based on the given array
of
Coordinates (the
array is not copied). |
CoordinateArraySequence(CoordinateSequence coordSeq)
Creates a new sequence based on a deep copy of the given
CoordinateSequence. |
CoordinateArraySequence(int size)
Constructs a sequence of a given size, populated
with new
Coordinates. |
CoordinateArraySequence(int size,
int dimension)
Constructs a sequence of a given size, populated
with new
Coordinates. |
| Modifier and Type | Method and Description |
|---|---|
Object |
clone()
Creates a deep copy of the Object
|
Envelope |
expandEnvelope(Envelope env)
Expands the given
Envelope to include the coordinates in the sequence. |
Coordinate |
getCoordinate(int i)
Get the Coordinate with index i.
|
void |
getCoordinate(int index,
Coordinate coord)
Copies the i'th coordinate in the sequence to the supplied
Coordinate. |
Coordinate |
getCoordinateCopy(int i)
Get a copy of the Coordinate with index i.
|
int |
getDimension()
Returns the dimension (number of ordinates in each coordinate)
for this sequence.
|
double |
getOrdinate(int index,
int ordinateIndex)
Returns the ordinate of a coordinate in this sequence.
|
double |
getX(int index)
Returns ordinate X (0) of the specified coordinate.
|
double |
getY(int index)
Returns ordinate Y (1) of the specified coordinate.
|
void |
setOrdinate(int index,
int ordinateIndex,
double value)
Sets the value for a given ordinate of a coordinate in this sequence.
|
int |
size()
Returns the size of the coordinate sequence
|
Coordinate[] |
toCoordinateArray()
This method exposes the internal Array of Coordinate Objects
|
String |
toString()
Returns the string Representation of the coordinate array
|
public CoordinateArraySequence(Coordinate[] coordinates)
Coordinates (the
array is not copied).
The coordinate dimension defaults to 3.coordinates - the coordinate array that will be referenced.public CoordinateArraySequence(Coordinate[] coordinates, int dimension)
Coordinates (the
array is not copied).coordinates - the coordinate array that will be referenced.the - dimension of the coordinatespublic CoordinateArraySequence(int size)
Coordinates.size - the size of the sequence to createpublic CoordinateArraySequence(int size,
int dimension)
Coordinates.size - the size of the sequence to createthe - dimension of the coordinatespublic CoordinateArraySequence(CoordinateSequence coordSeq)
CoordinateSequence.
The coordinate dimension is set to equal the dimension of the input.coordSeq - the coordinate sequence that will be copied.public int getDimension()
CoordinateSequencegetDimension in interface CoordinateSequenceCoordinateSequence.getDimension()public Coordinate getCoordinate(int i)
getCoordinate in interface CoordinateSequencei - the index of the coordinatepublic Coordinate getCoordinateCopy(int i)
getCoordinateCopy in interface CoordinateSequencei - the index of the coordinatepublic void getCoordinate(int index,
Coordinate coord)
CoordinateSequenceCoordinate. Only the first two dimensions are copied.getCoordinate in interface CoordinateSequenceindex - the index of the coordinate to copycoord - a Coordinate to receive the valueCoordinateSequence.getX(int)public double getX(int index)
CoordinateSequencegetX in interface CoordinateSequenceCoordinateSequence.getX(int)public double getY(int index)
CoordinateSequencegetY in interface CoordinateSequenceCoordinateSequence.getY(int)public double getOrdinate(int index,
int ordinateIndex)
CoordinateSequencegetOrdinate in interface CoordinateSequenceindex - the coordinate index in the sequenceordinateIndex - the ordinate index in the coordinate (in range [0, dimension-1])CoordinateSequence.getOrdinate(int, int)public Object clone()
clone in interface CoordinateSequenceclone in class Objectpublic int size()
size in interface CoordinateSequencepublic void setOrdinate(int index,
int ordinateIndex,
double value)
CoordinateSequencesetOrdinate in interface CoordinateSequenceindex - the coordinate index in the sequenceordinateIndex - the ordinate index in the coordinate (in range [0, dimension-1])value - the new ordinate valueCoordinateSequence.setOrdinate(int, int, double)public Coordinate[] toCoordinateArray()
toCoordinateArray in interface CoordinateSequencepublic Envelope expandEnvelope(Envelope env)
CoordinateSequenceEnvelope to include the coordinates in the sequence.
Allows implementing classes to optimize access to coordinate values.expandEnvelope in interface CoordinateSequenceenv - the envelope to expandCopyright © 2015. All rights reserved.