projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/telefire: Radio status (no data, weak data, good data) on LEDs
[fw/altos]
/
altosui
/
AltosKML.java
diff --git
a/altosui/AltosKML.java
b/altosui/AltosKML.java
index 281638bf3e92c0b14b200e58a854677e9a173b33..140f3f0766b9bdb792a733c02d48dbf68f3fc869 100644
(file)
--- a/
altosui/AltosKML.java
+++ b/
altosui/AltosKML.java
@@
-18,7
+18,7
@@
package altosui;
import java.io.*;
package altosui;
import java.io.*;
-import org.altusmetrum.
AltosLib
.*;
+import org.altusmetrum.
altoslib_1
.*;
public class AltosKML implements AltosWriter {
public class AltosKML implements AltosWriter {
@@
-26,6
+26,7
@@
public class AltosKML implements AltosWriter {
PrintStream out;
int state = -1;
AltosRecord prev = null;
PrintStream out;
int state = -1;
AltosRecord prev = null;
+ double gps_start_altitude;
static final String[] kml_state_colors = {
"FF000000",
static final String[] kml_state_colors = {
"FF000000",
@@
-107,9
+108,15
@@
public class AltosKML implements AltosWriter {
void coord(AltosRecord record) {
AltosGPS gps = record.gps;
void coord(AltosRecord record) {
AltosGPS gps = record.gps;
+ double altitude;
+
+ if (record.height() != AltosRecord.MISSING)
+ altitude = record.height() + gps_start_altitude;
+ else
+ altitude = gps.alt;
out.printf(kml_coord_fmt,
gps.lon, gps.lat,
out.printf(kml_coord_fmt,
gps.lon, gps.lat,
-
record.altitude()
, (double) gps.alt,
+
altitude
, (double) gps.alt,
record.time, gps.nsat);
}
record.time, gps.nsat);
}
@@
-131,8
+138,6
@@
public class AltosKML implements AltosWriter {
if (gps == null)
return;
if (gps == null)
return;
- if ((record.seen & (AltosRecord.seen_flight)) == 0)
- return;
if ((record.seen & (AltosRecord.seen_gps_lat)) == 0)
return;
if ((record.seen & (AltosRecord.seen_gps_lon)) == 0)
if ((record.seen & (AltosRecord.seen_gps_lat)) == 0)
return;
if ((record.seen & (AltosRecord.seen_gps_lon)) == 0)
@@
-140,11
+145,9
@@
public class AltosKML implements AltosWriter {
if (!started) {
start(record);
started = true;
if (!started) {
start(record);
started = true;
+ gps_start_altitude = gps.alt;
}
}
- if (prev != null &&
- prev.gps.second == record.gps.second &&
- prev.gps.minute == record.gps.minute &&
- prev.gps.hour == record.gps.hour)
+ if (prev != null && prev.gps_sequence == record.gps_sequence)
return;
if (record.state != state) {
state = record.state;
return;
if (record.state != state) {
state = record.state;