コード例 #1
0
ファイル: modify_track.py プロジェクト: peletiah/triplog_test
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)
コード例 #2
0
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)
コード例 #3
0
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')
コード例 #4
0
ファイル: modify_track.py プロジェクト: peletiah/triplog_test
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')
コード例 #5
0
ファイル: modify_track.py プロジェクト: peletiah/triplog_test
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()
コード例 #6
0
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()
コード例 #7
0
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
コード例 #8
0
ファイル: modify_track.py プロジェクト: peletiah/triplog_test
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
コード例 #9
0
ファイル: modify_track.py プロジェクト: peletiah/triplog_test
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')
コード例 #10
0
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')