Reformat.

debian-sid
Tom Payne 15 years ago
parent 88e6a6367b
commit a5f534b118

@ -69,7 +69,7 @@ def main(argv):
description="IGC to Google Earth converter")
parser.add_option('-o', '--output', metavar='FILENAME',
help='set output filename')
parser.add_option('-z', '--timezone-offset', metavar='HOURS', type='int',
parser.add_option('-z', '--tz-offset', metavar='HOURS', type='int',
help='set timezone offset')
parser.add_option('-r', '--root', metavar='FILENAME',
action='append', dest='roots',
@ -113,7 +113,7 @@ def main(argv):
parser.set_defaults(flights=[])
parser.set_defaults(output='igc2kmz.kmz')
parser.set_defaults(roots=[])
parser.set_defaults(timezone_offset=0)
parser.set_defaults(tz_offset=0)
#
options, args = parser.parse_args(argv)
if len(options.flights) == 0:
@ -123,8 +123,8 @@ def main(argv):
#
roots = [igc2kmz.kml.Verbatim(open(root).read()) for root in options.roots]
kmz = igc2kmz.flights2kmz(options.flights,
roots=roots,
timezone_offset=options.timezone_offset)
roots=roots,
tz_offset=options.tz_offset)
kmz.write(options.output, debug=options.debug)

@ -154,10 +154,10 @@ class Flight(object):
if self.glider_id:
rows.append(('Glider ID', self.glider_id))
take_off_time = (self.track.bounds.time.min
+ globals.timezone_offset).strftime('%H:%M:%S')
+ globals.tz_offset).strftime('%H:%M:%S')
rows.append(('Take-off time', take_off_time))
landing_time = (self.track.bounds.time.max
+ globals.timezone_offset).strftime('%H:%M:%S')
+ globals.tz_offset).strftime('%H:%M:%S')
rows.append(('Landing time', landing_time))
duration = (self.track.bounds.time.max
- self.track.bounds.time.min).seconds
@ -185,7 +185,7 @@ class Flight(object):
trs = ['<tr><th align="right">%s</th><td>%s</td></tr>' % row
for row in rows]
table = '<table>%s</table>' % ''.join(trs)
return kmz.kmz(description=kml.CDATA(table))
return kmz.kmz(kml.description(kml.CDATA(table)))
def make_snippet(self, globals):
if self.xc:
@ -198,7 +198,7 @@ class Flight(object):
strings = [self.pilot_name,
xc,
(self.track.bounds.time.min
+ globals.timezone_offset).strftime('%Y-%m-%d')]
+ globals.tz_offset).strftime('%Y-%m-%d')]
snippet = kml.Snippet(', '.join(s for s in strings if s))
return kmz.kmz(snippet)
@ -387,7 +387,7 @@ class Flight(object):
else:
altitude_mode = 'clampToGround'
else:
coord = self.track.coord_at(photo.dt - globals.timezone_offset)
coord = self.track.coord_at(photo.dt - globals.tz_offset)
altitude_mode = self.altitude_mode
point = kml.Point(coordinates=[coord], altitudeMode=altitude_mode)
if photo.description:
@ -416,20 +416,22 @@ class Flight(object):
td = '%.1fkm' % (distance / 1000.0)
return (th, td)
def make_leg(rte, i, j, name=True, arrow=False, styleUrl=None):
coordinates = [rte.rtepts[k].coord for k in (i, j)]
line_string = kml.LineString(coordinates=coordinates,
coord0 = rte.rtepts[i].coord
coord1 = rte.rtepts[j].coord
line_string = kml.LineString(coordinates=[coord0, coord1],
altitudeMode='clampToGround',
tessellate=1)
multi_geometry = kml.MultiGeometry(line_string)
if name:
coord = rte.rtepts[i].coord.halfway_to(rte.rtepts[j].coord)
point = kml.Point(coordinates=[coord])
point = kml.Point(coordinates=[coord0.halfway_to(coord1)])
multi_geometry.add(point)
distance = rte.rtepts[i].coord.distance_to(rte.rtepts[j].coord)
distance = coord0.distance_to(coord1)
name = kml.name('%.1fkm' % (distance / 1000.0))
if arrow:
bearing = rte.rtepts[j].coord.initial_bearing_to(rte.rtepts[i].coord)
coordinates = [rte.rtepts[j].coord.coord_at(bearing - math.pi / 12.0, 400.0), rte.rtepts[j].coord, rte.rtepts[j].coord.coord_at(bearing + math.pi / 12.0, 400.0)]
bearing = coord1.coord.initial_bearing_to(coord0)
coordinates = [coord1.coord_at(bearing - math.pi / 12.0, 400.0),
coord1,
coord1.coord_at(bearing + math.pi / 12.0, 400.0)]
line_string = kml.LineString(coordinates=coordinates,
altitudeMode='clampToGround',
tessellate=1)
@ -557,9 +559,9 @@ class Flight(object):
rows.append(('Peak descent', '%.1fm/s' % peak_climb.min))
rows.append(('Start altitude', '%dm' % coord0.ele))
rows.append(('Finish alitude', '%dm' % coord1.ele))
start_time = coord0.dt + globals.timezone_offset
start_time = coord0.dt + globals.tz_offset
rows.append(('Start time', start_time.strftime('%H:%M:%S')))
stop_time = coord1.dt + globals.timezone_offset
stop_time = coord1.dt + globals.tz_offset
rows.append(('Finish time', stop_time.strftime('%H:%M:%S')))
duration = self.track.t[sl.stop] - self.track.t[sl.start]
rows.append(('Duration', '%d:%02d' % divmod(duration, 60)))
@ -632,7 +634,7 @@ class Flight(object):
def make_time_mark(self, globals, coord, dt, styleUrl):
point = kml.Point(coordinates=[coord], altitudeMode=self.altitude_mode)
name = (dt + globals.timezone_offset).strftime('%H:%M')
name = (dt + globals.tz_offset).strftime('%H:%M')
return kml.Placemark(point, name=name, styleUrl=styleUrl)
def make_time_marks_folder(self, globals, step=datetime.timedelta(0, 900)):
@ -696,7 +698,7 @@ class Flight(object):
return folder
def flights2kmz(flights, roots=[], timezone_offset=0):
def flights2kmz(flights, roots=[], tz_offset=0):
stock = Stock()
globals = util.OpenStruct()
globals.stock = stock
@ -705,7 +707,7 @@ def flights2kmz(flights, roots=[], timezone_offset=0):
globals.bounds.update(flight.track.bounds)
if globals.bounds.climb.min < -5.0:
globals.bounds.climb.min = -5.0
globals.timezone_offset = datetime.timedelta(0, 3600 * timezone_offset)
globals.tz_offset = datetime.timedelta(0, 3600 * tz_offset)
globals.scales = util.OpenStruct()
globals.scales.altitude = scale.Scale(globals.bounds.ele.tuple(),
title='altitude',
@ -730,7 +732,7 @@ def flights2kmz(flights, roots=[], timezone_offset=0):
title='ground speed',
gradient=color.default_gradient)
globals.scales.time = scale.TimeScale(globals.bounds.time.tuple(),
timezone_offset=globals.timezone_offset)
tz_offset=globals.tz_offset)
if hasattr(globals.bounds, 'tas'):
globals.scales.tas = scale.Scale(globals.bounds.tas.tuple(),
title='air speed',

@ -104,7 +104,7 @@ class ZeroCenteredScale(Scale):
class TimeScale(Scale):
def __init__(self, range, title=None, gradient=None, step=1,
max_divisions=16, timezone_offset=datetime.timedelta(0, 0)):
max_divisions=16, tz_offset=datetime.timedelta(0, 0)):
def steps(step=None):
steps = [1, 5, 15, 30, 60,
5 * 60, 15 * 60, 30 * 60,
@ -131,7 +131,7 @@ class TimeScale(Scale):
t = datetime.datetime(lower.year, lower.month, lower.day, lower.hour) \
+ self.step
while t < upper:
self.labels.append((t + timezone_offset).strftime('%H:%M'))
self.labels.append((t + tz_offset).strftime('%H:%M'))
self.positions.append('%1.f' % (100.0 * (t - lower).seconds
/ (upper - lower).seconds))
t += self.step

Loading…
Cancel
Save