]> gitweb.fperrin.net Git - GpsPrune.git/blob - tim/prune/data/Distance.java
5425873102aa752833c9953c91e967705d0ad75b
[GpsPrune.git] / tim / prune / data / Distance.java
1 package tim.prune.data;
2
3 /**
4  * Class to provide distance constants and functions
5  */
6 public abstract class Distance
7 {
8         // distance formats
9         public static final int UNITS_KILOMETRES = 1;
10         public static final int UNITS_MILES      = 2;
11
12         // Geographical constants
13         private static final double EARTH_RADIUS_KM = 6372.795;
14         private static final double EARTH_RADIUS_MILES = 3959.8712255;
15         // Conversion constants
16         //private static final double CONVERT_KM_TO_MILES = 1.609344;
17         //private static final double CONVERT_MILES_TO_KM = 0.621371192;
18
19
20         /**
21          * Convert the given angle in radians into a distance
22          * @param inAngDist angular distance in radians
23          * @param inUnits desired units, miles or km
24          * @return distance in specified format
25          */
26         public static double convertRadians(double inAngDist, int inUnits)
27         {
28                 // Multiply by appropriate factor
29                 if (inUnits == UNITS_MILES)
30                         return inAngDist * EARTH_RADIUS_MILES;
31                 return inAngDist * EARTH_RADIUS_KM;
32         }
33
34 }