|
JScience v4.3 | ||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | ||||||||
quantities which
designate the position that a point occupies in a given reference frame or system.
See:
Description
| Class Summary | |
|---|---|
| Altitude | This class represents the Mean-Sea-Level vertical
altitude (MSL). |
| CompoundCoordinates<C1 extends Coordinates<?>,C2 extends Coordinates<?>> | This class represents a coordinates made up by combining two coordinates objects together. |
| Coordinates<R extends CoordinateReferenceSystem<?>> | This class designates the position that a point occupies in a given n-dimensional reference frame or system. |
| Height | This class represents the vertical height above the
WGS84 ellipsoid. |
| LatLong | This class represents the geographic latitude/longitude
coordinates onto the WGS84 ellipsoid. |
| Time | This class represents the temporal UTC time coordinates. |
| UTM | This class represents the projected
Universal Transverse Mercator (UTM) coordinates onto the WGS84 ellipsoid. |
| XYZ | This class represents the geocentric Earth-Centered,
Earth-Fixed (ECEF) cartesian coordinates used in GPS/GLONASS. |
Provides linear or angular quantities which
designate the position that a point occupies in a given reference frame or system.
Coordinates are unambigous only when the coordinates reference system to which those coordinates are related has
been fully defined.
Applications may create new types of coordinates either by extending
Coordinates
(in which case they must provide a coordinates reference system) or simply by
combining
existing coordinates together. For example:
// High-Precision Coordinates.
class Position3D extends Coordinates<GeocentricCRS> {
public static final GeocentricCRS<Position3D> CRS = ...;
public GeocentricCRS<Position3D> getCoordinateReferenceSystem {
return CRS; // All instances use the same reference system.
}
public Real getX(Unit<Length> u) { ... }
public Real getY(Unit<Length> u) { ... }
public Real getZ(Unit<Length> u) { ... }
...
}
// Combining existing coordinates.
class LatLongHeight extends CompoundCoordinates<LatLong, Height> { }
class HeightTime extends CompoundCoordinates<Height, Time> { }
class UtmHeightTime extends CompoundCoordinates<CompoundCoordinates<UTM, Height>, Time> { }
Conversion between coordinates is achieved through their coordinates
reference system. For example:
// Converts UTM coordinates to Latitude/Longitude.
UTM utm = UTM.valueOf(17, 'E', 444.5, 556.44, METRE);
CoordinatesConverter<UTM, LatLong> utmToLatLong = UTM.CRS.getConverterTo(LatLong.CRS);
LatLong latLong = utmToLatLong.convert(utm);
// Converts compound coordinates to X/Y/Z geocentric coordinates.
CompoundCoordinates<UTM, Height> utmHeight = new CompoundCoordinates(utm, new Height(2330.55, FOOT));
XYZ xyz = new CompoundCRS<UTM, Height>(UTM.CRS, Height.CRS).getConverterTo(XYZ.CRS).convert(utmHeight);
// Converts any projected coordinates to Latitude/Longitude.
Coordinates<ProjectedCRS> coord2d;
LatLong latLong = coord2d.getCoordinateReferenceSystem().getConverterTo(LatLong.CRS).convert(coord2d);
|
JScience v4.3 | ||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | ||||||||