Mercurial Hosting > traffic-intelligence
comparison scripts/merge-features.py @ 837:e01cabca4c55
minor modifications to merge-features
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Wed, 06 Jul 2016 10:58:18 -0400 |
parents | 7058a40a4bbc |
children | 75530d8c0090 |
comparison
equal
deleted
inserted
replaced
836:7058a40a4bbc | 837:e01cabca4c55 |
---|---|
6 from datetime import datetime, timedelta | 6 from datetime import datetime, timedelta |
7 | 7 |
8 parser = argparse.ArgumentParser(description='The program merges feature trajectories recorded from the same site synchronously between start and end time.') | 8 parser = argparse.ArgumentParser(description='The program merges feature trajectories recorded from the same site synchronously between start and end time.') |
9 parser.add_argument('-i', dest = 'metadataFilename', help = 'name of the metadata file', required = True) | 9 parser.add_argument('-i', dest = 'metadataFilename', help = 'name of the metadata file', required = True) |
10 parser.add_argument('-n', dest = 'siteId', help = 'site id or site name', required = True) | 10 parser.add_argument('-n', dest = 'siteId', help = 'site id or site name', required = True) |
11 parser.add_argument('--start', dest = 'startTime', help = 'time to start merging features (format %Y-%m-%d %H:%M:%S, eg 2011-06-22 10:00:39)') # if not provided, take common time interval | 11 parser.add_argument('-f', dest = 'startTime', help = 'time to start merging features (format %Y-%m-%d %H:%M:%S, eg 2011-06-22 10:00:39)') # if not provided, take common time interval |
12 parser.add_argument('--end', dest = 'endTime', help = 'time to stop merging features (format %Y-%m-%d %H:%M:%S, eg 2011-06-22 10:00:39)') | 12 parser.add_argument('-l', dest = 'endTime', help = 'time to stop merging features (format %Y-%m-%d %H:%M:%S, eg 2011-06-22 10:00:39)') |
13 parser.add_argument('-o', dest = 'outputDBFilename', help = 'name of the output SQLite file', required = True) | 13 parser.add_argument('-o', dest = 'outputDBFilename', help = 'name of the output SQLite file', required = True) |
14 | 14 |
15 args = parser.parse_args() | 15 args = parser.parse_args() |
16 | 16 |
17 session = createDatabase(args.metadataFilename) | 17 session = createDatabase(args.metadataFilename) |
73 print cv.idx, cv.description | 73 print cv.idx, cv.description |
74 for videoSequence in vs: | 74 for videoSequence in vs: |
75 try: | 75 try: |
76 vsConnection = sqlite3.connect(dirname+os.path.sep+videoSequence.getDatabaseFilename()) | 76 vsConnection = sqlite3.connect(dirname+os.path.sep+videoSequence.getDatabaseFilename()) |
77 vsCursor = vsConnection.cursor() | 77 vsCursor = vsConnection.cursor() |
78 if commonTimeInterval.first < videoSequence.startTime: | 78 firstFrameNum = utils.deltaFrames(videoSequence.startTime, commonTimeInterval.first, frameRate) |
79 firstFrameNum = -(videoSequence.startTime-commonTimeInterval.first).seconds*frameRate | |
80 else: | |
81 firstFrameNum = (commonTimeInterval.first-videoSequence.startTime).seconds*frameRate | |
82 lastFrameNum = (commonTimeInterval.last-videoSequence.startTime).seconds*frameRate | 79 lastFrameNum = (commonTimeInterval.last-videoSequence.startTime).seconds*frameRate |
83 # positions table | 80 # positions table |
84 vsCursor.execute('SELECT * FROM positions WHERE frame_number BETWEEN {} AND {} ORDER BY trajectory_id'.format(firstFrameNum, lastFrameNum)) | 81 vsCursor.execute('SELECT * FROM positions WHERE frame_number BETWEEN {} AND {} ORDER BY trajectory_id'.format(firstFrameNum, lastFrameNum)) |
85 featureIdCorrespondences = {} | 82 featureIdCorrespondences = {} |
86 currentTrajectoryId = -1 | 83 currentTrajectoryId = -1 |