Mercurial Hosting > traffic-intelligence
comparison python/storage.py @ 852:45a53542e046
updated unnecessary complicated query
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Tue, 20 Sep 2016 16:59:24 -0400 |
parents | c724a51d4f5f |
children | 33d296984dd8 |
comparison
equal
deleted
inserted
replaced
851:07fb949ff98f | 852:45a53542e046 |
---|---|
135 | 135 |
136 def getObjectCriteria(objectNumbers): | 136 def getObjectCriteria(objectNumbers): |
137 if objectNumbers is None: | 137 if objectNumbers is None: |
138 query = '' | 138 query = '' |
139 elif type(objectNumbers) == int: | 139 elif type(objectNumbers) == int: |
140 query = 'between 0 and {0}'.format(objectNumbers-1) | 140 query = '<= {0}'.format(objectNumbers-1) |
141 elif type(objectNumbers) == list: | 141 elif type(objectNumbers) == list: |
142 query = 'in ('+', '.join([str(n) for n in objectNumbers])+')' | 142 query = 'in ('+', '.join([str(n) for n in objectNumbers])+')' |
143 else: | 143 else: |
144 print('objectNumbers {} are not a known type ({})'.format(objectNumbers, type(objectNumbers))) | 144 print('objectNumbers {} are not a known type ({})'.format(objectNumbers, type(objectNumbers))) |
145 query = '' | 145 query = '' |
247 if trajectoryType == 'object': | 247 if trajectoryType == 'object': |
248 cursor = connection.cursor() | 248 cursor = connection.cursor() |
249 try: | 249 try: |
250 # attribute feature numbers to objects | 250 # attribute feature numbers to objects |
251 objectCriteria = getObjectCriteria(objectNumbers) | 251 objectCriteria = getObjectCriteria(objectNumbers) |
252 queryStatement = 'SELECT P.trajectory_id, OF.object_id from positions P, objects_features OF WHERE P.trajectory_id = OF.trajectory_id' | 252 queryStatement = 'SELECT trajectory_id, object_id FROM objects_features' |
253 if objectNumbers is not None: | 253 if objectNumbers is not None: |
254 queryStatement += ' and OF.object_id '+objectCriteria | 254 queryStatement += ' WHERE object_id '+objectCriteria |
255 queryStatement += ' group by P.trajectory_id order by OF.object_id' # order is important to group all features per object | 255 queryStatement += ' ORDER BY object_id' # order is important to group all features per object |
256 cursor.execute(queryStatement) | 256 cursor.execute(queryStatement) |
257 logging.debug(queryStatement) | 257 logging.debug(queryStatement) |
258 | 258 |
259 featureNumbers = {} | 259 featureNumbers = {} |
260 for row in cursor: | 260 for row in cursor: |