Add task infrastructure.

debian-sid
Tom Payne 15 years ago
parent 6ecb006d89
commit 78b5acaebb

@ -1,5 +1,6 @@
OLC2002=contrib/leonardo/olc2002
IGC2KMZ=bin/igc2kmz.py
IGC2TASK=bin/igc2task.py
BRAND2KML=bin/brand2kml.py
CC=gcc
@ -27,7 +28,11 @@ clean:
%: %.o
$(CC) -o $@ $(CFLAGS) $^ $(LIBS)
EXAMPLES=examples/2008-07-28-XPG-KVE-02.kmz examples/2008-06-16-xgd-001-01.kmz examples/858umbh1.kmz examples/2007-04-22-FLY-5094-01.kmz
EXAMPLES=examples/2008-07-28-XPG-KVE-02.kmz \
examples/2008-06-16-xgd-001-01.kmz \
examples/2008-09-05-CGP-XAGC-01-ebessos.kmz \
examples/858umbh1.kmz \
examples/2007-04-22-FLY-5094-01.kmz
.PRECIOUS: $(EXAMPLES:%.kmz=%.olc)
examples: $(EXAMPLES)
@ -189,6 +194,18 @@ examples/2008-07-28-XPG-KVE-02.kmz: examples/2008-07-28-XPG-KVE-02.igc examples/
-u http://www.xcontest.org/2008/world/en/flights/detail:charlie/28.7.2008/09:23 \
-x examples/2008-07-28-XPG-KVE-02.gpx
examples/2008-09-05-CGP-XAGC-01-ebessos.kmz: examples/2008-09-05-CGP-XAGC-01-ebessos.igc
$(IGC2KMZ) -z 2 -o $@ \
-i $< \
-t examples/2008-09-05-CGP-XAGC-01-ebessos.gpx
examples/2008-09-05-CGP-XAGC-01-ebessos.gpx: examples/2008-09-05-CGP-XAGC-01-ebessos.igc
$(IGC2TASK) examples/2008-09-05-CGP-XAGC-01-ebessos.igc \
-o $@ \
--tz-offset 3 \
--start-time 14:30 \
--start-radius 1000
examples/858umbh1.kmz: examples/858umbh1.igc examples/858umbh1.gpx examples/xcontest.kml
$(IGC2KMZ) -z 2 -o $@ -r examples/xcontest.kml \
-i $< \

@ -27,6 +27,7 @@ from igc2kmz import Flight, flights2kmz
from igc2kmz.igc import IGC
from igc2kmz.kml import Verbatim
from igc2kmz.photo import Photo
from igc2kmz.task import Task
from igc2kmz.xc import XC
@ -74,6 +75,8 @@ def main(argv):
parser.add_option('-r', '--root', metavar='FILENAME',
action='append', dest='roots',
help='add root element')
parser.add_option('-t', '--task', metavar='FILENAME',
help='set task')
parser.add_option('--debug',
action='store_true',
help='enable pretty KML output')
@ -122,7 +125,11 @@ def main(argv):
parser.error('extra arguments on command line: %s' % repr(args[1:]))
#
roots = [Verbatim(open(root).read()) for root in options.roots]
kmz = flights2kmz(options.flights, roots=roots, tz_offset=options.tz_offset)
task = Task.from_file(open(options.task)) if options.task else None
kmz = flights2kmz(options.flights,
roots=roots,
tz_offset=options.tz_offset,
task=task)
kmz.write(options.output, debug=options.debug)

File diff suppressed because it is too large Load Diff

@ -706,7 +706,7 @@ class Flight(object):
return folder
def flights2kmz(flights, roots=[], tz_offset=0):
def flights2kmz(flights, roots=[], tz_offset=0, task=None):
stock = Stock()
globals = util.OpenStruct()
globals.stock = stock
@ -716,6 +716,7 @@ def flights2kmz(flights, roots=[], tz_offset=0):
if globals.bounds.climb.min < -5.0:
globals.bounds.climb.min = -5.0
globals.tz_offset = datetime.timedelta(0, 3600 * tz_offset)
globals.task = task
globals.scales = util.OpenStruct()
globals.scales.altitude = scale.Scale(globals.bounds.ele.tuple(),
title='altitude',

Loading…
Cancel
Save