projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: Use installed arm compiler for LPC
[fw/altos]
/
altosui
/
AltosKML.java
diff --git
a/altosui/AltosKML.java
b/altosui/AltosKML.java
index d586033fffb8835c7aceb8391bab67981ab546c5..140f3f0766b9bdb792a733c02d48dbf68f3fc869 100644
(file)
--- a/
altosui/AltosKML.java
+++ b/
altosui/AltosKML.java
@@
-17,10
+17,8
@@
package altosui;
package altosui;
-import java.lang.*;
import java.io.*;
import java.io.*;
-import java.text.*;
-import java.util.*;
+import org.altusmetrum.altoslib_1.*;
public class AltosKML implements AltosWriter {
public class AltosKML implements AltosWriter {
@@
-28,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",
@@
-73,7
+72,7
@@
public class AltosKML implements AltosWriter {
" <coordinates>\n";
static final String kml_coord_fmt =
" <coordinates>\n";
static final String kml_coord_fmt =
- " %
12.7f, %12.7f, %12
.7f <!-- alt %12.7f time %12.7f sats %d -->\n";
+ " %
.7f,%.7f,%
.7f <!-- alt %12.7f time %12.7f sats %d -->\n";
static final String kml_placemark_end =
" </coordinates>\n" +
static final String kml_placemark_end =
" </coordinates>\n" +
@@
-109,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.filtered_altitude()
, (double) gps.alt,
+
altitude
, (double) gps.alt,
record.time, gps.nsat);
}
record.time, gps.nsat);
}
@@
-132,14
+137,17
@@
public class AltosKML implements AltosWriter {
if (gps == null)
return;
if (gps == null)
return;
+
+ if ((record.seen & (AltosRecord.seen_gps_lat)) == 0)
+ return;
+ if ((record.seen & (AltosRecord.seen_gps_lon)) == 0)
+ return;
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;