*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_11;
+package org.altusmetrum.altoslib_14;
import java.lang.Math;
import java.io.*;
-public class AltosGreatCircle implements Cloneable, AltosJsonable {
+public class AltosGreatCircle implements Cloneable {
public double distance;
public double bearing;
public double range;
course = 2 * Math.PI-course;
}
distance = d * earth_radius;
- bearing = course * 180/Math.PI;
+ if (Double.isNaN(course) || Double.isInfinite(course))
+ bearing = 0;
+ else
+ bearing = course * 180/Math.PI;
double height_diff = end_alt - start_alt;
range = Math.sqrt(distance * distance + height_diff * height_diff);
range = 0;
elevation = 0;
}
-
- public AltosJson json() {
- AltosJson j = new AltosJson();
-
- j.put("distance", distance);
- j.put("bearing", bearing);
- j.put("range", range);
- j.put("elevation", elevation);
-
- return j;
- }
-
- public AltosGreatCircle(AltosJson j) {
- this();
-
- distance = j.get_double("distance", distance);
- bearing = j.get_double("bearing", bearing);
- range = j.get_double("range", range);
- elevation = j.get_double("elevation", elevation);
- }
-
- public static AltosGreatCircle fromJson(AltosJson j, AltosGreatCircle def) {
- if (j == null)
- return def;
-
- return new AltosGreatCircle(j);
- }
}