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()
Deprecated.
|
CoordinateArraySequence |
copy()
Creates a deep copy of the CoordinateArraySequence
|
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.dimension - 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 createdimension - the 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 CoordinateArraySequence copy()
copy in interface CoordinateSequencepublic 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 © 2018. All rights reserved.