java.io.Serializable
, java.lang.Cloneable
, CoordinateSequence
public class CoordinateArraySequence extends java.lang.Object implements CoordinateSequence, java.io.Serializable
CoordinateSequence
backed by an array of Coordinate
s.
This is the implementation that Geometry
s 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 | Description |
---|---|
CoordinateArraySequence(int size) |
Constructs a sequence of a given size, populated
with new
Coordinate s. |
CoordinateArraySequence(int size,
int dimension) |
Constructs a sequence of a given size, populated
with new
Coordinate s. |
CoordinateArraySequence(Coordinate[] coordinates) |
Constructs a sequence based on the given array
of
Coordinate s (the
array is not copied). |
CoordinateArraySequence(Coordinate[] coordinates,
int dimension) |
Constructs a sequence based on the given array
of
Coordinate s (the
array is not copied). |
CoordinateArraySequence(CoordinateSequence coordSeq) |
Creates a new sequence based on a deep copy of the given
CoordinateSequence . |
Modifier and Type | Method | Description |
---|---|---|
java.lang.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
|
java.lang.String |
toString() |
Returns the string Representation of the coordinate array
|
public CoordinateArraySequence(Coordinate[] coordinates)
Coordinate
s (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)
Coordinate
s (the
array is not copied).coordinates
- the coordinate array that will be referenced.dimension
- the dimension of the coordinatespublic CoordinateArraySequence(int size)
Coordinate
s.size
- the size of the sequence to createpublic CoordinateArraySequence(int size, int dimension)
Coordinate
s.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()
CoordinateSequence
getDimension
in interface CoordinateSequence
CoordinateSequence.getDimension()
public Coordinate getCoordinate(int i)
getCoordinate
in interface CoordinateSequence
i
- the index of the coordinatepublic Coordinate getCoordinateCopy(int i)
getCoordinateCopy
in interface CoordinateSequence
i
- the index of the coordinatepublic void getCoordinate(int index, Coordinate coord)
CoordinateSequence
Coordinate
. Only the first two dimensions are copied.getCoordinate
in interface CoordinateSequence
index
- the index of the coordinate to copycoord
- a Coordinate
to receive the valueCoordinateSequence.getX(int)
public double getX(int index)
CoordinateSequence
getX
in interface CoordinateSequence
CoordinateSequence.getX(int)
public double getY(int index)
CoordinateSequence
getY
in interface CoordinateSequence
CoordinateSequence.getY(int)
public double getOrdinate(int index, int ordinateIndex)
CoordinateSequence
getOrdinate
in interface CoordinateSequence
index
- the coordinate index in the sequenceordinateIndex
- the ordinate index in the coordinate (in range [0, dimension-1])CoordinateSequence.getOrdinate(int, int)
public java.lang.Object clone()
clone
in interface CoordinateSequence
public CoordinateArraySequence copy()
copy
in interface CoordinateSequence
public int size()
size
in interface CoordinateSequence
public void setOrdinate(int index, int ordinateIndex, double value)
CoordinateSequence
setOrdinate
in interface CoordinateSequence
index
- 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 CoordinateSequence
public Envelope expandEnvelope(Envelope env)
CoordinateSequence
Envelope
to include the coordinates in the sequence.
Allows implementing classes to optimize access to coordinate values.expandEnvelope
in interface CoordinateSequence
env
- the envelope to expandpublic java.lang.String toString()
toString
in class java.lang.Object
Copyright © 2018. All rights reserved.