Package org.meteoinfo.jts.geom.impl
Class CoordinateArraySequence
- java.lang.Object
-
- org.meteoinfo.jts.geom.impl.CoordinateArraySequence
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,CoordinateSequence
public class CoordinateArraySequence extends java.lang.Object implements CoordinateSequence, java.io.Serializable
ACoordinateSequencebacked by an array ofCoordinates. This is the implementation thatGeometrys 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.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface org.meteoinfo.jts.geom.CoordinateSequence
M, X, Y, Z
-
-
Constructor Summary
Constructors Constructor Description CoordinateArraySequence(int size)Constructs a sequence of a given size, populated with newCoordinates.CoordinateArraySequence(int size, int dimension)Constructs a sequence of a given size, populated with newCoordinates.CoordinateArraySequence(Coordinate[] coordinates)Constructs a sequence based on the given array ofCoordinates (the array is not copied).CoordinateArraySequence(Coordinate[] coordinates, int dimension)Constructs a sequence based on the given array ofCoordinates (the array is not copied).CoordinateArraySequence(CoordinateSequence coordSeq)Creates a new sequence based on a deep copy of the givenCoordinateSequence.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectclone()Creates a deep copy of the ObjectEnvelopeexpandEnvelope(Envelope env)Expands the givenEnvelopeto include the coordinates in the sequence.CoordinategetCoordinate(int i)Get the Coordinate with index i.voidgetCoordinate(int index, Coordinate coord)Copies the i'th coordinate in the sequence to the suppliedCoordinate.CoordinategetCoordinateCopy(int i)Get a copy of the Coordinate with index i.intgetDimension()Returns the dimension (number of ordinates in each coordinate) for this sequence.doublegetOrdinate(int index, int ordinateIndex)Returns the ordinate of a coordinate in this sequence.doublegetX(int index)Returns ordinate X (0) of the specified coordinate.doublegetY(int index)Returns ordinate Y (1) of the specified coordinate.voidsetOrdinate(int index, int ordinateIndex, double value)Sets the value for a given ordinate of a coordinate in this sequence.intsize()Returns the size of the coordinate sequenceCoordinate[]toCoordinateArray()This method exposes the internal Array of Coordinate Objectsjava.lang.StringtoString()Returns the string Representation of the coordinate array
-
-
-
Constructor Detail
-
CoordinateArraySequence
public CoordinateArraySequence(Coordinate[] coordinates)
Constructs a sequence based on the given array ofCoordinates (the array is not copied). The coordinate dimension defaults to 3.- Parameters:
coordinates- the coordinate array that will be referenced.
-
CoordinateArraySequence
public CoordinateArraySequence(Coordinate[] coordinates, int dimension)
Constructs a sequence based on the given array ofCoordinates (the array is not copied).- Parameters:
coordinates- the coordinate array that will be referenced.the- dimension of the coordinates
-
CoordinateArraySequence
public CoordinateArraySequence(int size)
Constructs a sequence of a given size, populated with newCoordinates.- Parameters:
size- the size of the sequence to create
-
CoordinateArraySequence
public CoordinateArraySequence(int size, int dimension)Constructs a sequence of a given size, populated with newCoordinates.- Parameters:
size- the size of the sequence to createthe- dimension of the coordinates
-
CoordinateArraySequence
public CoordinateArraySequence(CoordinateSequence coordSeq)
Creates a new sequence based on a deep copy of the givenCoordinateSequence. The coordinate dimension is set to equal the dimension of the input.- Parameters:
coordSeq- the coordinate sequence that will be copied.
-
-
Method Detail
-
getDimension
public int getDimension()
Description copied from interface:CoordinateSequenceReturns the dimension (number of ordinates in each coordinate) for this sequence.- Specified by:
getDimensionin interfaceCoordinateSequence- Returns:
- the dimension of the sequence.
- See Also:
CoordinateSequence.getDimension()
-
getCoordinate
public Coordinate getCoordinate(int i)
Get the Coordinate with index i.- Specified by:
getCoordinatein interfaceCoordinateSequence- Parameters:
i- the index of the coordinate- Returns:
- the requested Coordinate instance
-
getCoordinateCopy
public Coordinate getCoordinateCopy(int i)
Get a copy of the Coordinate with index i.- Specified by:
getCoordinateCopyin interfaceCoordinateSequence- Parameters:
i- the index of the coordinate- Returns:
- a copy of the requested Coordinate
-
getCoordinate
public void getCoordinate(int index, Coordinate coord)Description copied from interface:CoordinateSequenceCopies the i'th coordinate in the sequence to the suppliedCoordinate. Only the first two dimensions are copied.- Specified by:
getCoordinatein interfaceCoordinateSequence- Parameters:
index- the index of the coordinate to copycoord- aCoordinateto receive the value- See Also:
CoordinateSequence.getX(int)
-
getX
public double getX(int index)
Description copied from interface:CoordinateSequenceReturns ordinate X (0) of the specified coordinate.- Specified by:
getXin interfaceCoordinateSequence- Returns:
- the value of the X ordinate in the index'th coordinate
- See Also:
CoordinateSequence.getX(int)
-
getY
public double getY(int index)
Description copied from interface:CoordinateSequenceReturns ordinate Y (1) of the specified coordinate.- Specified by:
getYin interfaceCoordinateSequence- Returns:
- the value of the Y ordinate in the index'th coordinate
- See Also:
CoordinateSequence.getY(int)
-
getOrdinate
public double getOrdinate(int index, int ordinateIndex)Description copied from interface:CoordinateSequenceReturns the ordinate of a coordinate in this sequence. Ordinate indices 0 and 1 are assumed to be X and Y. Ordinates indices greater than 1 have user-defined semantics (for instance, they may contain other dimensions or measure values).- Specified by:
getOrdinatein interfaceCoordinateSequence- Parameters:
index- the coordinate index in the sequenceordinateIndex- the ordinate index in the coordinate (in range [0, dimension-1])- See Also:
CoordinateSequence.getOrdinate(int, int)
-
clone
public java.lang.Object clone()
Creates a deep copy of the Object- Specified by:
clonein interfaceCoordinateSequence- Overrides:
clonein classjava.lang.Object- Returns:
- The deep copy
-
size
public int size()
Returns the size of the coordinate sequence- Specified by:
sizein interfaceCoordinateSequence- Returns:
- the number of coordinates
-
setOrdinate
public void setOrdinate(int index, int ordinateIndex, double value)Description copied from interface:CoordinateSequenceSets the value for a given ordinate of a coordinate in this sequence.- Specified by:
setOrdinatein interfaceCoordinateSequence- Parameters:
index- the coordinate index in the sequenceordinateIndex- the ordinate index in the coordinate (in range [0, dimension-1])value- the new ordinate value- See Also:
CoordinateSequence.setOrdinate(int, int, double)
-
toCoordinateArray
public Coordinate[] toCoordinateArray()
This method exposes the internal Array of Coordinate Objects- Specified by:
toCoordinateArrayin interfaceCoordinateSequence- Returns:
- the Coordinate[] array.
-
expandEnvelope
public Envelope expandEnvelope(Envelope env)
Description copied from interface:CoordinateSequenceExpands the givenEnvelopeto include the coordinates in the sequence. Allows implementing classes to optimize access to coordinate values.- Specified by:
expandEnvelopein interfaceCoordinateSequence- Parameters:
env- the envelope to expand- Returns:
- a ref to the expanded envelope
-
toString
public java.lang.String toString()
Returns the string Representation of the coordinate array- Overrides:
toStringin classjava.lang.Object- Returns:
- The string
-
-