X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosui%2FAltosKML.java;h=882fe0a97530eb990fdd0bc7e72555b8e231957c;hb=bdea4c88318a41ade3d3b6b2cbfc097ae3e4f3be;hp=d586033fffb8835c7aceb8391bab67981ab546c5;hpb=51c7741040d95c5deece939dae5e4136cc04afc4;p=fw%2Faltos diff --git a/altosui/AltosKML.java b/altosui/AltosKML.java index d586033f..882fe0a9 100644 --- a/altosui/AltosKML.java +++ b/altosui/AltosKML.java @@ -17,10 +17,8 @@ package altosui; -import java.lang.*; import java.io.*; -import java.text.*; -import java.util.*; +import org.altusmetrum.altoslib_1.*; public class AltosKML implements AltosWriter { @@ -28,6 +26,7 @@ public class AltosKML implements AltosWriter { PrintStream out; int state = -1; AltosRecord prev = null; + double gps_start_altitude; static final String[] kml_state_colors = { "FF000000", @@ -73,7 +72,7 @@ public class AltosKML implements AltosWriter { " \n"; static final String kml_coord_fmt = - " %12.7f, %12.7f, %12.7f \n"; + " %.7f,%.7f,%.7f \n"; static final String kml_placemark_end = " \n" + @@ -111,7 +110,7 @@ public class AltosKML implements AltosWriter { AltosGPS gps = record.gps; out.printf(kml_coord_fmt, gps.lon, gps.lat, - record.filtered_altitude(), (double) gps.alt, + record.height() + gps_start_altitude, (double) gps.alt, record.time, gps.nsat); } @@ -132,14 +131,19 @@ public class AltosKML implements AltosWriter { 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) + return; 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;