Beispiel #1
0
 public double getAzimuthTo(LatLonGeo to, Datum datum) {
   return datum.getAzimuth(this, to);
 }
Beispiel #2
0
 public double getAzimuthFrom(LatLonGeo from, Datum datum) {
   return datum.getAzimuth(from, this);
 }
Beispiel #3
0
 public DistanceAzimuth getDistanceAzimuthTo(LatLonGeo to, Datum datum) {
   return datum.getDistanceAzimuth(this, to);
 }
Beispiel #4
0
 public double getDistanceTo(LatLonGeo to, Datum datum) {
   return datum.getDistance(this, to);
 }
Beispiel #5
0
 /**
  * Returns a newly constructed <code>LatLonGeo</code> generated by displacing this <code>LatLonGeo
  * </code> a specified distance along a geodesic at the given azimuth. If the datum is a sphere
  * the geodesic is a great circle.
  *
  * <p>This method calls {@link Datum#displace(LatLonGeo, double, double)} on the supplied datum
  * using this <code>LatLonGeo</code> as the initial point.
  *
  * @param dist distance to displace the current <code>LatLonGeo</code>
  * @param azimuth initial azimuth of displacement direction
  * @param datum underlying datum to use for the displacement
  * @return a newly constructed <code>LatLonGeo</code> that has been displaced by the specified
  *     distance
  */
 public LatLonGeo displacedBy(double dist, double azimuth, Datum datum) {
   return datum.displace(this, dist, azimuth);
 }
Beispiel #6
0
 /**
  * Returns a newly constructed <code>LatLonGeo</code> with a geocentric latitude based on
  * interpreting the latitude in this <code>LatLonGeo</code> as geodetic. Longitude and altitude
  * will remain the same. See {@link Datum#toGeocentricLatitude(LatLonGeo)}.
  *
  * @param d Datum defines the spheroid used for projecting the latitude
  * @return newly constructed <code>LatLonGeo</code> with a geocentric latitude
  */
 public LatLonGeo withGeocentricLatitudeOn(Datum d) {
   return d.toGeocentricLatitude(this);
 }
Beispiel #7
0
 /**
  * Creates an (east,north,up) representation of this point on the plane tangent to Earth at the
  * given reference point. See {@link Datum#toEnu(LatLonRect, LatLonGeo)}.
  */
 public final Vector3d toEnu(LatLonGeo refPoint, Datum datum) {
   LatLonRect thisRect = toLatLonRect(datum);
   return datum.toEnu(thisRect, refPoint);
 }
Beispiel #8
0
 /**
  * Treats this <code>LatLonGeo</code> as an ECEF-g coordinate in the given <code>Datum</code> for
  * the purpose of converting it to an ECEF-r coordinate in the form of a newly constructed <code>
  * LatLonRect</code>. The new <code>LatLonRect</code> is formed by calling {@link
  * Datum#toLatLonRect(LatLonGeo)} on this <code>LatLonGeo</code>.
  *
  * <p><b>NOTE:</b> The latitude and longitude may be treated as geocentric or geodetic depending
  * on the <code>Datum</code> used.
  *
  * @see Datum#toLatLonRect(LatLonGeo)
  * @param datum <code>Datum</code> used to construct the new <code>LatLonRect</code>
  */
 public LatLonRect toLatLonRect(Datum datum) {
   return datum.toLatLonRect(this);
 }
Beispiel #9
0
 /**
  * Constructs and initializes a <code>LatLonGeo</code> based on the given (east,north,up)
  * coordinates in a local tangent plane coordinate system that is tangent to Earth at the given
  * reference point.
  *
  * @param enuPoint (east,north,up) coordinates of point to be converted, in system units
  * @param refPoint local tangent plane point of tangency
  * @param datum underlying datum used for calculations
  */
 public static final LatLonGeo fromEnu(Vector3d enuPoint, LatLonGeo refPoint, Datum datum) {
   LatLonRect llr = datum.fromEnu(enuPoint, refPoint);
   LatLonGeo llg = llr.toLatLonGeo(datum);
   return llg;
 }