def track_bbox(request): if request.matchdict: #track_id = request.matchdict['trackid'] #track = Track.get_track_by_id(track_id) #etappes = DBSession.query(Etappe).all() tours = DBSession.query(Tour).all() #tracks = DBSession.query(Track).all() for tour in tours: trkpts = list() for etappe in tour.etappes: for track in etappe.tracks: trkpts = list() for pt in track.trackpoints: trkpts.append([pt.latitude, pt.longitude]) log.debug(track.id) #maxx,maxy = numpy.max(trkpts, axis=0) #minx,miny = numpy.min(trkpts, axis=0) #bbox = u'POLYGON(( \ # {maxx} {maxy}, \ # {maxx} {miny}, \ # {minx} {miny}, \ # {minx} {maxy}, \ # {maxx} {maxy}))'.format( \ # maxx=maxx, maxy=maxy, minx=minx, miny=miny) #track.bbox = DBSession.query(select([func.ST_AsText(func.ST_Transform(func.ST_GeomFromText(bbox, 4326),3857))]).label("bbox")).one()[0] DBSession.flush() return Response(tour.bbox)
def track_bbox(request): if request.matchdict: #track_id = request.matchdict['trackid'] #track = Track.get_track_by_id(track_id) #etappes = DBSession.query(Etappe).all() tours = DBSession.query(Tour).all() #tracks = DBSession.query(Track).all() for tour in tours: trkpts = list() for etappe in tour.etappes: for track in etappe.tracks: trkpts = list() for pt in track.trackpoints: trkpts.append([pt.latitude,pt.longitude]) log.debug(track.id) #maxx,maxy = numpy.max(trkpts, axis=0) #minx,miny = numpy.min(trkpts, axis=0) #bbox = u'POLYGON(( \ # {maxx} {maxy}, \ # {maxx} {miny}, \ # {minx} {miny}, \ # {minx} {maxy}, \ # {maxx} {maxy}))'.format( \ # maxx=maxx, maxy=maxy, minx=minx, miny=miny) #track.bbox = DBSession.query(select([func.ST_AsText(func.ST_Transform(func.ST_GeomFromText(bbox, 4326),3857))]).label("bbox")).one()[0] DBSession.flush() return Response(tour.bbox)
def link_etappe_image(request): etappes = DBSession.query(Etappe).all() for etappe in etappes: images = sum([trackpoint.images for trackpoint in sum([track.trackpoints for track in etappe.tracks],[])],[]) for image in images: etappe.images.append(image) DBSession.flush() return Response('OK')
def link_etappe_image(request): etappes = DBSession.query(Etappe).all() for etappe in etappes: images = sum([ trackpoint.images for trackpoint in sum( [track.trackpoints for track in etappe.tracks], []) ], []) for image in images: etappe.images.append(image) DBSession.flush() return Response('OK')
def add_trackpoints_to_db(trackpoints, track): for trackpoint in trackpoints: trackpoint.track = track try: DBSession.add(trackpoint) DBSession.flush() print((trackpoint.timestamp)) except Exception as e: print("\n\nTrackpoint could not be added!\n\n") print(e) DBSession.rollback()
def add_trackpoints_to_db(trackpoints, track): for trackpoint in trackpoints: trackpoint.track = track try: DBSession.add(trackpoint) DBSession.flush() print trackpoint.timestamp except Exception, e: print "\n\nTrackpoint could not be added!\n\n" print e DBSession.rollback()
def add_track_to_db(track_details): track = track_details['track'] trackpoints = track_details['trackpoints'] print type(track.reduced_trackpoints) track.uuid = str(uuid.uuid4()) track.start_timestamp = trackpoints[0].timestamp track.end_timestamp = trackpoints[-1].timestamp try: DBSession.add(track) DBSession.flush() except Exception, e: DBSession.rollback() print "\n\nTrack could not be added!\n\n" print e return None
def add_track_to_db(track_details): track = track_details['track'] trackpoints = track_details['trackpoints'] print((type(track.reduced_trackpoints))) track.uuid = str(uuid.uuid4()) track.start_timestamp = trackpoints[0].timestamp track.end_timestamp = trackpoints[-1].timestamp try: DBSession.add(track) DBSession.flush() except Exception as e: DBSession.rollback() print("\n\nTrack could not be added!\n\n") print(e) return None return track
def reduce_tracks(request): if request.query_string: track_id = request.GET.get('trackid') epsilon = Decimal(request.GET.get('epsilon')) log.debug(epsilon) #track = Track.get_track_by_id(track_id) #tracks = DBSession.query(Track).filter(Track.id == track_id).all() #tracks = DBSession.query(Track).all() #etappes = DBSession.query(Etappe).all() tours = DBSession.query(Tour).all() for tour in tours: rtp = list() for etappe in tour.etappes: for track in etappe.tracks: rtp.append(reduce_trackpoints(track.trackpoints, 0.005)) tour.reduced_trackpoints = json.dumps(rtp) DBSession.flush() return Response('OK')