public abstract class AbstractDirectPosition extends Object implements DirectPosition
DirectPosition
implementations.
This base class provides default implementations for toString()
,
equals(Object)
and hashCode()
methods.
This base class does not hold any state and does not implement the Serializable
or Cloneable
interfaces. The internal representation, and the choice to be cloneable or
serializable, is left to subclasses.
Defined in the sis-referencing
module
Modifier | Constructor and Description |
---|---|
protected |
AbstractDirectPosition()
Constructs a direct position.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object object)
Returns
true if the specified object is also a DirectPosition
with equal coordinate and equal CRS. |
double[] |
getCoordinate()
Returns a sequence of numbers that hold the coordinate of this position in its
reference system.
|
DirectPosition |
getDirectPosition()
Returns always
this , the direct position for this
position. |
int |
hashCode()
Returns a hash value for this coordinate.
|
boolean |
normalize()
Ensures that the position is contained in the coordinate system domain.
|
void |
setLocation(DirectPosition position)
Sets this direct position to the given position.
|
String |
toString()
Formats this position in the Well Known Text (WKT) format.
|
getCoordinateReferenceSystem, getDimension, getOrdinate, setOrdinate
protected AbstractDirectPosition()
public final DirectPosition getDirectPosition()
this
, the direct position for this
position.getDirectPosition
in interface Position
this
.public double[] getCoordinate()
getCoordinate
in interface DirectPosition
public void setLocation(DirectPosition position) throws MismatchedDimensionException, MismatchedReferenceSystemException
null
, then all ordinate values are set to NaN
.
If this position and the given position have a non-null CRS, then the default implementation
requires the CRS to be equals (ignoring metadata),
otherwise a MismatchedReferenceSystemException
is thrown. However subclass may choose
to assign the CRS of this position to the CRS of the given position.
position
- The new position, or null
.MismatchedDimensionException
- If the given position doesn't have the expected dimension.MismatchedReferenceSystemException
- If the given position doesn't use the expected CRS.public boolean normalize()
RangeMeaning.EXACT
(typically latitudes ordinates), then values
greater than the axis maximal value
are replaced by the axis maximum, and values smaller than the
axis minimal value
are replaced by the axis minimum.RangeMeaning.WRAPAROUND
(typically longitudes ordinates), then
a multiple of the axis range (e.g. 360° for longitudes) is added or subtracted.true
if this position has been modified as a result of this method call,
or false
if no change has been done.GeneralEnvelope.normalize()
public String toString()
x₀
, x₁
, x₂
, etc.
are the ordinate values at index 0, 1, 2, etc.:
The string returned by this method can be parsed by thePOINT(x₀ x₁ x₂ …)
GeneralDirectPosition
constructor.public int hashCode()
DirectPosition.hashCode()
javadoc.
Consequently, it should be possible to mix different DirectPosition
implementations in the same hash map.hashCode
in interface DirectPosition
hashCode
in class Object
public boolean equals(Object object)
true
if the specified object is also a DirectPosition
with equal coordinate and equal CRS.
This method performs the comparison as documented in the DirectPosition.equals(Object)
javadoc. In particular, the given object is not required to be of the same implementation class.
Consequently, it should be possible to mix different DirectPosition
implementations in
the same hash map.equals
in interface DirectPosition
equals
in class Object
object
- The object to compare with this position.true
if the given object is equal to this position.Copyright © 2010–2014 The Apache Software Foundation. All rights reserved.