Add drift direction.

debian-sid
Tom Payne 15 years ago
parent df8988183d
commit c149a6e056

@ -5,7 +5,6 @@ Glide analysis
Dive analysis
Check floating point use in pygooglechart
Parameterise icon scaling
Add drift direction
MEDIUM
Add graphs and tracks of other variables (e.g. airspeed)

@ -195,8 +195,8 @@ class Flight(object):
if self.track.elevation_data:
folder = kml.Folder(name='Thermals', styleUrl=globals.stock.check_hide_children_style.url(), visibility=0)
for start, end in self.track.thermals:
coord = self.track.coords[start].halfway_to(self.track.coords[end + 1])
point = kml.Point(coordinates=[coord], altitudeMode='absolute')
c = self.track.coords[start].halfway_to(self.track.coords[end + 1])
point = kml.Point(coordinates=[c], altitudeMode='absolute')
line_string = kml.LineString(coordinates=[self.track.coords[start], self.track.coords[end + 1]], altitudeMode='absolute')
multi_geometry = kml.MultiGeometry(point, line_string)
total_dz_positive = 0
@ -215,6 +215,7 @@ class Flight(object):
dz = float(self.track.coords[end + 1].ele - self.track.coords[start].ele)
dt = self.track.t[end + 1] - self.track.t[start]
dp = self.track.coords[start].distance_to(self.track.coords[end + 1])
theta = self.track.coords[start].initial_bearing_to(self.track.coords[end + 1])
rows = []
rows.append(('Altitude gain', '%dm' % dz))
rows.append(('Average climb', '%.1fm/s' % (dz / dt)))
@ -226,7 +227,7 @@ class Flight(object):
rows.append(('Duration', '%d:%02d' % divmod(self.track.t[end + 1] - self.track.t[start], 60)))
rows.append(('Accumulated altitude gain', '%dm' % total_dz_positive))
rows.append(('Accumulated altitude loss', '%dm' % total_dz_negative))
rows.append(('Drift', '%.1fkm/h' % (3.6 * dp / dt)))
rows.append(('Drift', '%.1fkm/h %s' % (3.6 * dp / dt, coord.rad_to_compass(theta + math.pi))))
if dt * max_climb != 0.0: # FIXME
rows.append(('Efficiency', '%d%%' % (100.0 * dz / (dt * max_climb))))
analysis_table = '<table>%s</table>' % ''.join('<tr><th align="right">%s</th><td>%s</td></tr>' % row for row in rows)

Loading…
Cancel
Save