summaryrefslogtreecommitdiff
path: root/altoslib/AltosGreatCircle.java
diff options
context:
space:
mode:
Diffstat (limited to 'altoslib/AltosGreatCircle.java')
-rw-r--r--altoslib/AltosGreatCircle.java34
1 files changed, 5 insertions, 29 deletions
diff --git a/altoslib/AltosGreatCircle.java b/altoslib/AltosGreatCircle.java
index f2c1783d..a2f12807 100644
--- a/altoslib/AltosGreatCircle.java
+++ b/altoslib/AltosGreatCircle.java
@@ -20,7 +20,7 @@ package org.altusmetrum.altoslib_11;
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;
@@ -71,7 +71,10 @@ public class AltosGreatCircle implements Cloneable, AltosJsonable {
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);
@@ -103,31 +106,4 @@ public class AltosGreatCircle implements Cloneable, AltosJsonable {
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);
- }
}