java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<Coordinate>CoordinateXY, CoordinateXYM, CoordinateXYZMpublic class Coordinate extends java.lang.Object implements java.lang.Comparable<Coordinate>, java.lang.Cloneable, java.io.Serializable
It is distinct from Point, which is a subclass of Geometry.
Unlike objects of type Point (which contain additional
information such as an envelope, a precision model, and spatial reference
system information), a Coordinate only contains ordinate values
and accessor methods.
Coordinates are two-dimensional points, with an additional Z-ordinate.
If an Z-ordinate value is not specified or not defined,
constructed coordinates have a Z-ordinate of NaN
(which is also the value of NULL_ORDINATE).
The standard comparison functions ignore the Z-ordinate.
Apart from the basic accessor functions, JTS supports
only specific operations involving the Z-ordinate.
Implementations may optionally support Z-ordiante and M-measure values
as appropriate for a CoordinateSeqeunce. Use of getZ() and getM()
accessors, or getOrdinate(int) are recommended.
| Modifier and Type | Class | Description |
|---|---|---|
static class |
Coordinate.DimensionalComparator |
Compares two
Coordinates, allowing for either a 2-dimensional
or 3-dimensional comparison, and handling NaN values correctly. |
| Modifier and Type | Field | Description |
|---|---|---|
static int |
M |
Standard ordinate index value for, where M is 3.
|
static double |
NULL_ORDINATE |
The value used to indicate a null or missing ordinate value.
|
double |
x |
The x-ordinate.
|
static int |
X |
Standard ordinate index value for, where X is 0
|
double |
y |
The y-ordinate.
|
static int |
Y |
Standard ordinate index value for, where Y is 1
|
double |
z |
Deprecated.
Recommend
getZ() |
static int |
Z |
Standard ordinate index value for, where Z is 2.
|
| Constructor | Description |
|---|---|
Coordinate() |
Constructs a
Coordinate at (0,0,NaN). |
Coordinate(double x,
double y) |
Constructs a
Coordinate at (x,y,NaN). |
Coordinate(double x,
double y,
double z) |
Constructs a
Coordinate at (x,y,z). |
Coordinate(Coordinate c) |
Constructs a
Coordinate having the same (x,y,z) values as
other. |
| Modifier and Type | Method | Description |
|---|---|---|
java.lang.Object |
clone() |
|
int |
compareTo(Coordinate o) |
Compares this
Coordinate with the specified Coordinate for order. |
Coordinate |
copy() |
|
double |
distance(Coordinate c) |
Computes the 2-dimensional Euclidean distance to another location.
|
double |
distance3D(Coordinate c) |
Computes the 3-dimensional Euclidean distance to another location.
|
boolean |
equalInZ(Coordinate c,
double tolerance) |
Tests if another coordinate has the same value for Z, within a tolerance.
|
boolean |
equals(java.lang.Object other) |
Returns
true if other has the same values for
the x and y ordinates. |
boolean |
equals2D(Coordinate other) |
Returns whether the planar projections of the two
Coordinates
are equal. |
boolean |
equals2D(Coordinate c,
double tolerance) |
Tests if another coordinate has the same values for the X and Y ordinates.
|
boolean |
equals3D(Coordinate other) |
Tests if another coordinate has the same values for the X, Y and Z ordinates.
|
double |
getM() |
The m-measure, if available.
|
double |
getOrdinate(int ordinateIndex) |
Gets the ordinate value for the given index.
|
double |
getX() |
The x-ordinate.
|
double |
getY() |
The y-ordinate.
|
double |
getZ() |
The z-ordinate.
|
int |
hashCode() |
Gets a hashcode for this coordinate.
|
static int |
hashCode(double x) |
Computes a hash code for a double value, using the algorithm from
Joshua Bloch's book Effective Java"
|
void |
setCoordinate(Coordinate other) |
Sets this
Coordinates (x,y,z) values to that of other. |
void |
setM(double m) |
The m-measure, if supported.
|
void |
setOrdinate(int ordinateIndex,
double value) |
Sets the ordinate for the given index
to a given value.
|
void |
setX(double x) |
|
void |
setY(double y) |
|
void |
setZ(double z) |
The z-ordinate.
|
java.lang.String |
toString() |
Returns a
String of the form (x,y,z) . |
public static final double NULL_ORDINATE
public static final int X
public static final int Y
public static final int Z
This constant assumes XYZM coordinate sequence definition, please check this assumption
using #getDimension() and #getMeasures() before use.
public static final int M
This constant assumes XYZM coordinate sequence definition, please check this assumption
using #getDimension() and #getMeasures() before use.
public double x
public double y
public double z
getZ()public Coordinate(double x,
double y,
double z)
Coordinate at (x,y,z).x - the x-ordinatey - the y-ordinatez - the z-ordinatepublic Coordinate()
Coordinate at (0,0,NaN).public Coordinate(Coordinate c)
Coordinate having the same (x,y,z) values as
other.c - the Coordinate to copy.public Coordinate(double x,
double y)
Coordinate at (x,y,NaN).x - the x-valuey - the y-valuepublic void setCoordinate(Coordinate other)
Coordinates (x,y,z) values to that of other.other - the Coordinate to copypublic double getX()
public void setX(double x)
public double getY()
public void setY(double y)
public double getZ()
public void setZ(double z)
z - public double getM()
public void setM(double m)
m - public double getOrdinate(int ordinateIndex)
X, Y, and Z.ordinateIndex - the ordinate indexjava.lang.IllegalArgumentException - if the index is not validpublic void setOrdinate(int ordinateIndex,
double value)
X, Y, and Z.ordinateIndex - the ordinate indexvalue - the value to setjava.lang.IllegalArgumentException - if the index is not validpublic boolean equals2D(Coordinate other)
Coordinates
are equal.other - a Coordinate with which to do the 2D comparison.true if the x- and y-coordinates are equal; the
z-coordinates do not have to be equal.public boolean equals2D(Coordinate c, double tolerance)
c - a Coordinate with which to do the 2D comparison.other is a Coordinate
with the same values for X and Y.public boolean equals3D(Coordinate other)
other - a Coordinate with which to do the 3D comparison.other is a Coordinate
with the same values for X, Y and Z.public boolean equalInZ(Coordinate c, double tolerance)
c - a coordinatetolerance - the tolerance valuepublic boolean equals(java.lang.Object other)
true if other has the same values for
the x and y ordinates.
Since Coordinates are 2.5D, this routine ignores the z value when making the comparison.equals in class java.lang.Objectother - a Coordinate with which to do the comparison.true if other is a Coordinate
with the same values for the x and y ordinates.public int compareTo(Coordinate o)
Coordinate with the specified Coordinate for order.
This method ignores the z value when making the comparison.
Returns:
compareTo in interface java.lang.Comparable<Coordinate>o - the Coordinate with which this Coordinate
is being comparedCoordinate
is less than, equal to, or greater than the specified Coordinatepublic java.lang.String toString()
String of the form (x,y,z) .toString in class java.lang.ObjectString of the form (x,y,z)public java.lang.Object clone()
public Coordinate copy()
public double distance(Coordinate c)
c - a pointpublic double distance3D(Coordinate c)
c - a coordinatepublic int hashCode()
hashCode in class java.lang.Objectpublic static int hashCode(double x)
Copyright © 2018. All rights reserved.