org.geotools.geometry

## Class GeneralDirectPosition

• ### Field Summary

Fields
Modifier and Type Field and Description
`double[]` `ordinates`
The ordinates of the direct position.
• ### Constructor Summary

Constructors
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`.
• ### Method Summary

All Methods
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.
• ### Methods inherited from class AbstractDirectPosition

`equals, getDirectPosition, setPosition, toString`
• ### Methods inherited from class Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`
• ### Field Detail

• #### ordinates

`public final double[] ordinates`
The ordinates of the direct position.
• ### Constructor Detail

• #### GeneralDirectPosition

`public GeneralDirectPosition(CoordinateReferenceSystem crs)`
Constructs a position using the specified coordinate reference system. The number of dimensions is inferred from the coordinate reference system.
Parameters:
`crs` - The coordinate reference system to be given to this position.
Since:
2.2
• #### GeneralDirectPosition

```public GeneralDirectPosition(int numDim)
throws NegativeArraySizeException```
Constructs a position with the specified number of dimensions.
Parameters:
`numDim` - Number of dimensions.
Throws:
`NegativeArraySizeException` - if `numDim` is negative.
• #### GeneralDirectPosition

`public GeneralDirectPosition(double[] ordinates)`
Constructs a position with the specified ordinates. The `ordinates` array will be copied.
Parameters:
`ordinates` - The ordinate values to copy.
• #### GeneralDirectPosition

```public GeneralDirectPosition(double x,
double y)```
Constructs a 2D position from the specified ordinates. Despite their name, the (x,y) coordinates don't need to be oriented toward (East, North). See the `DirectPosition2D` javadoc for details.
Parameters:
`x` - The first ordinate value.
`y` - The second ordinate value.
• #### GeneralDirectPosition

```public GeneralDirectPosition(double x,
double y,
double z)```
Constructs a 3D position from the specified ordinates. Despite their name, the (x,y,z) coordinates don't need to be oriented toward (East, North, Up).
Parameters:
`x` - The first ordinate value.
`y` - The second ordinate value.
`z` - The third ordinate value.
• #### GeneralDirectPosition

`public GeneralDirectPosition(Point2D point)`
Constructs a position from the specified `Point2D`.
Parameters:
`point` - The position to copy.
• #### GeneralDirectPosition

`public GeneralDirectPosition(DirectPosition point)`
Constructs a position initialized to the same values than the specified point.
Parameters:
`point` - The position to copy.
Since:
2.2
• ### Method Detail

• #### getCoordinateReferenceSystem

`public final CoordinateReferenceSystem getCoordinateReferenceSystem()`
Returns the coordinate reference system in which the coordinate is given. May be `null` if this particular `DirectPosition` is included in a larger object with such a reference to a coordinate reference system.
Specified by:
`getCoordinateReferenceSystem` in interface `DirectPosition`
Returns:
The coordinate reference system, or `null`.
• #### setCoordinateReferenceSystem

```public void setCoordinateReferenceSystem(CoordinateReferenceSystem crs)
throws MismatchedDimensionException```
Set the coordinate reference system in which the coordinate is given.
Parameters:
`crs` - The new coordinate reference system, or `null`.
Throws:
`MismatchedDimensionException` - if the specified CRS doesn't have the expected number of dimensions.
• #### getDimension

`public final int getDimension()`
The length of coordinate sequence (the number of entries). This may be less than or equal to the dimensionality of the coordinate reference system.
Specified by:
`getDimension` in interface `DirectPosition`
Returns:
The dimensionality of this position.
• #### getCoordinate

`public final double[] getCoordinate()`
Returns a sequence of numbers that hold the coordinate of this position in its reference system.
Specified by:
`getCoordinate` in interface `DirectPosition`
Overrides:
`getCoordinate` in class `AbstractDirectPosition`
Returns:
A copy of the coordinates.
• #### getOrdinate

```public final double getOrdinate(int dimension)
throws IndexOutOfBoundsException```
Returns the ordinate at the specified dimension.
Specified by:
`getOrdinate` in interface `DirectPosition`
Parameters:
`dimension` - The dimension in the range 0 to dimension-1.
Returns:
The coordinate at the specified dimension.
Throws:
`IndexOutOfBoundsException` - if the specified dimension is out of bounds.
• #### setOrdinate

```public final void setOrdinate(int dimension,
double value)
throws IndexOutOfBoundsException```
Sets the ordinate value along the specified dimension.
Specified by:
`setOrdinate` in interface `DirectPosition`
Parameters:
`dimension` - the dimension for the ordinate of interest.
`value` - the ordinate value of interest.
Throws:
`IndexOutOfBoundsException` - if the specified dimension is out of bounds.
• #### setLocation

```public final void setLocation(DirectPosition position)
throws MismatchedDimensionException```
Set this coordinate to the specified direct position. If the specified position contains a coordinate reference system, then the CRS for this position will be set to the CRS of the specified position.
Parameters:
`position` - The new position for this point.
Throws:
`MismatchedDimensionException` - if this point doesn't have the expected dimension.
Since:
2.2
• #### setLocation

```public final void setLocation(GeneralDirectPosition position)
throws MismatchedDimensionException```
Set this coordinate to the specified direct position. This method is identical to `setLocation(DirectPosition)`, but is slightly faster in the special case of an `GeneralDirectPosition` implementation.
Parameters:
`position` - The new position for this point.
Throws:
`MismatchedDimensionException` - if this point doesn't have the expected dimension.
• #### setLocation

```public final void setLocation(Point2D point)
throws MismatchedDimensionException```
Set this coordinate to the specified `Point2D`. This coordinate must be two-dimensional.
Parameters:
`point` - The new coordinate for this point.
Throws:
`MismatchedDimensionException` - if this coordinate point is not two-dimensional.
• #### toPoint2D

```public Point2D toPoint2D()
throws IllegalStateException```
Returns a `Point2D` with the same coordinate as this direct position. This is a convenience method for interoperability with Java2D.
Returns:
This position as a two-dimensional point.
Throws:
`IllegalStateException` - if this coordinate point is not two-dimensional.
• #### hashCode

`public int hashCode()`
Returns a hash value for this coordinate.
Specified by:
`hashCode` in interface `DirectPosition`
Overrides:
`hashCode` in class `AbstractDirectPosition`
Returns:
A hash code value for this position.
• #### clone

`public GeneralDirectPosition clone()`
Returns a deep copy of this position.
Overrides:
`clone` in class `Object`
Returns:
A copy of this object.
`Object.clone()`