1 package tim.prune.data;
3 import tim.prune.config.Config;
6 * Class to provide distance constants and functions
8 public abstract class Distance
10 // Geographical constants
11 /** Earth radius in metres */
12 private static final double EARTH_RADIUS_M = 6372795.0;
16 * Convert the given angle in radians into a distance
17 * @param inAngDist angular distance in radians
18 * @return distance in currently configured distance units
20 public static double convertRadiansToDistance(double inAngDist)
22 return convertRadiansToDistance(inAngDist, Config.getUnitSet().getDistanceUnit());
26 * Convert the given angle in radians into a distance
27 * @param inAngDist angular distance in radians
28 * @param inUnit distance units
29 * @return distance in specified distance units
31 public static double convertRadiansToDistance(double inAngDist, Unit inUnit)
33 // Multiply by appropriate factor
34 return inAngDist * EARTH_RADIUS_M * inUnit.getMultFactorFromStd();
38 * Convert the given distance into an angle in radians
39 * @param inDist distance to convert in the current distance units
40 * @return angular distance in radians
42 public static double convertDistanceToRadians(double inDist)
44 return convertDistanceToRadians(inDist, Config.getUnitSet().getDistanceUnit());
48 * Convert the given distance into an angle in radians
49 * @param inDist distance to convert in the current distance units
50 * @param inUnit distance unit
51 * @return angular distance in radians
53 public static double convertDistanceToRadians(double inDist, Unit inUnit)
55 // Divide by appropriate factor
56 return inDist / EARTH_RADIUS_M / inUnit.getMultFactorFromStd();