Class Geodesy

java.lang.Object
org.episteme.natural.earth.geodesy.Geodesy

public class Geodesy extends Object
Geodetic calculations for Earth science.

Provides:

  • Haversine formula for great-circle distance
  • Vincenty formula for high-accuracy geodesic distance
  • Bearing calculations
  • Destination point given bearing and distance

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Field Details

    • EARTH_RADIUS_EQUATORIAL

      public static final Real EARTH_RADIUS_EQUATORIAL
      WGS84 Earth equatorial radius (meters)
    • EARTH_RADIUS_POLAR

      public static final Real EARTH_RADIUS_POLAR
      WGS84 Earth polar radius (meters)
    • FLATTENING

      public static final Real FLATTENING
      WGS84 flattening
  • Method Details

    • haversineDistance

      public static Quantity<Length> haversineDistance(Real lat1, Real lon1, Real lat2, Real lon2)
      Haversine formula for great-circle distance. Simple and fast, accuracy ~0.5%
    • initialBearing

      public static Real initialBearing(Real lat1, Real lon1, Real lat2, Real lon2)
      Initial bearing from point 1 to point 2.
      Returns:
      bearing in degrees (0-360)
    • destination

      public static Real[] destination(Real lat, Real lon, Real bearingDegrees, Real distanceM)
      Destination point given start, bearing, and distance.
      Returns:
      Real[] with [lat, lon] of destination
    • midpoint

      public static Real[] midpoint(Real lat1, Real lon1, Real lat2, Real lon2)
      Midpoint between two coordinates.
      Returns:
      Real[] with [lat, lon] of midpoint
    • pressureRatio

      public static Real pressureRatio(Real altitudeM)
      Barometric formula for atmospheric pressure at altitude. P = P0 * exp(-Mgh/RT)
      Returns:
      pressure ratio P/P0