public class GeneralDirectPosition extends AbstractDirectPosition implements Serializable, Cloneable
DirectPositions, as data types, will often be included in larger objects (such as geometries) that have references to CoordinateReferenceSystem, the getCoordinateReferenceSystem() method may returns null if this particular DirectPosition is included in a larger object with such a
reference to a coordinate reference system. In this case,
the cordinate reference system is implicitly assumed to take on the value of the containing
object's CoordinateReferenceSystem.
This particular implementation of DirectPosition is said "General" because it uses an
array of ordinates of an arbitrary length. If the direct position is know
to be always two-dimensional, then DirectPosition2D may provides a more efficient
implementation.
Most methods in this implementation are final for performance reason.
DirectPosition1D,
DirectPosition2D,
Point2D,
Serialized Form| Modifier and Type | Field and Description |
|---|---|
double[] |
ordinates
The ordinates of the direct position.
|
| Constructor and Description |
|---|
GeneralDirectPosition(CoordinateReferenceSystem crs)
Constructs a position using the specified coordinate reference system.
|
GeneralDirectPosition(DirectPosition point)
Constructs a position initialized to the same values than the specified point.
|
GeneralDirectPosition(double[] ordinates)
Constructs a position with the specified ordinates.
|
GeneralDirectPosition(double x,
double y)
Constructs a 2D position from the specified ordinates.
|
GeneralDirectPosition(double x,
double y,
double z)
Constructs a 3D position from the specified ordinates.
|
GeneralDirectPosition(int numDim)
Constructs a position with the specified number of dimensions.
|
GeneralDirectPosition(Point2D point)
Constructs a position from the specified
Point2D. |
| Modifier and Type | Method and Description |
|---|---|
GeneralDirectPosition |
clone()
Returns a deep copy of this position.
|
double[] |
getCoordinate()
Returns a sequence of numbers that hold the coordinate of this position in its reference
system.
|
CoordinateReferenceSystem |
getCoordinateReferenceSystem()
Returns the coordinate reference system in which the coordinate is given.
|
int |
getDimension()
The length of coordinate sequence (the number of entries).
|
double |
getOrdinate(int dimension)
Returns the ordinate at the specified dimension.
|
int |
hashCode()
Returns a hash value for this coordinate.
|
void |
setCoordinateReferenceSystem(CoordinateReferenceSystem crs)
Set the coordinate reference system in which the coordinate is given.
|
void |
setLocation(DirectPosition position)
Set this coordinate to the specified direct position.
|
void |
setLocation(GeneralDirectPosition position)
Set this coordinate to the specified direct position.
|
void |
setLocation(Point2D point)
Set this coordinate to the specified
Point2D. |
void |
setOrdinate(int dimension,
double value)
Sets the ordinate value along the specified dimension.
|
Point2D |
toPoint2D()
Returns a
Point2D with the same coordinate as this direct position. |
equals, getDirectPosition, setPosition, toStringpublic GeneralDirectPosition(CoordinateReferenceSystem crs)
crs - The coordinate reference system to be given to this position.public GeneralDirectPosition(int numDim)
throws NegativeArraySizeException
numDim - Number of dimensions.NegativeArraySizeException - if numDim is negative.public GeneralDirectPosition(double[] ordinates)
ordinates array will be
copied.ordinates - The ordinate values to copy.public GeneralDirectPosition(double x,
double y)
DirectPosition2D
javadoc for details.x - The first ordinate value.y - The second ordinate value.public GeneralDirectPosition(double x,
double y,
double z)
x - The first ordinate value.y - The second ordinate value.z - The third ordinate value.public GeneralDirectPosition(Point2D point)
Point2D.point - The position to copy.public GeneralDirectPosition(DirectPosition point)
point - The position to copy.public final CoordinateReferenceSystem getCoordinateReferenceSystem()
null
if this particular DirectPosition is included in a larger object with such a
reference to a coordinate reference system.getCoordinateReferenceSystem in interface DirectPositionnull.public void setCoordinateReferenceSystem(CoordinateReferenceSystem crs) throws MismatchedDimensionException
crs - The new coordinate reference system, or null.MismatchedDimensionException - if the specified CRS doesn't have the expected number of
dimensions.public final int getDimension()
getDimension in interface DirectPositionpublic final double[] getCoordinate()
getCoordinate in interface DirectPositiongetCoordinate in class AbstractDirectPositionpublic final double getOrdinate(int dimension)
throws IndexOutOfBoundsException
getOrdinate in interface DirectPositiondimension - The dimension in the range 0 to dimension-1.IndexOutOfBoundsException - if the specified dimension is out of bounds.public final void setOrdinate(int dimension,
double value)
throws IndexOutOfBoundsException
setOrdinate in interface DirectPositiondimension - the dimension for the ordinate of interest.value - the ordinate value of interest.IndexOutOfBoundsException - if the specified dimension is out of bounds.public final void setLocation(DirectPosition position) throws MismatchedDimensionException
position - The new position for this point.MismatchedDimensionException - if this point doesn't have the expected dimension.public final void setLocation(GeneralDirectPosition position) throws MismatchedDimensionException
setLocation(DirectPosition), but is slightly faster in the special case of an GeneralDirectPosition implementation.position - The new position for this point.MismatchedDimensionException - if this point doesn't have the expected dimension.public final void setLocation(Point2D point) throws MismatchedDimensionException
Point2D. This coordinate must be
two-dimensional.point - The new coordinate for this point.MismatchedDimensionException - if this coordinate point is not two-dimensional.public Point2D toPoint2D() throws IllegalStateException
Point2D with the same coordinate as this direct position. This is a
convenience method for interoperability with Java2D.IllegalStateException - if this coordinate point is not two-dimensional.public int hashCode()
hashCode in interface DirectPositionhashCode in class AbstractDirectPositionpublic GeneralDirectPosition clone()
clone in class ObjectObject.clone()Copyright © 1996–2019 Geotools. All rights reserved.