from polyline.codec import PolylineCodec from cartodb import CartoDBAPIKey, CartoDBException from geojson import Feature, LineString ## Strava connection client = Client() client.access_token = 'd47099a29b2f3539e1c21af6d820e33a109a079e' ## CartoDB connection API_KEY = 'cad54ea0c580a0c554b9e9562157e7c9bd9f37b0' cartodb_domain = 'geodarcy' cl = CartoDBAPIKey(API_KEY, cartodb_domain) ## get list of segments already in CartoDB queryResult = cl.sql('select segment_id from wbstrava') currentSegments = [x['segment_id'] for x in queryResult['rows']] ## get started segments from a user segmentIDs = [x.id for x in client.get_starred_segment()] for id in segmentIDs: if id not in currentSegments: segmentGeojson = PolylineCodec().decode( client.get_segment(id).map.polyline) flippedGeojson = [[x[1], x[0]] for x in segmentGeojson] inputGeojson = '{"coordinates": ' + str( flippedGeojson ) + ', "type": "LineString", "crs":{"type":"name","properties":{"name":"EPSG:4326"}}}' cl.sql( 'INSERT INTO wbstrava (the_geom, segment_id) VALUES (ST_GeomFromGeoJSON(\'' + inputGeojson + '\'), ' + str(id) + ')')
import logging logging.basicConfig() client = Client(access_token='f91aebddd4bc9a15e28840703966bb27d11d70f0'); friendDe = 4303495; for activity in client.get_activities(limit=1): strava_id = u'{0.id}'.format(activity) print "no calories here" print "upload_id:", strava_id print "calories:", u'{0.calories}'.format(activity) print "starred_segments" starred_segments = client.get_starred_segment() print "athletes" me = client.get_athlete() friend = client.get_athlete(athlete_id=friendDe) print "list differences" for segment in starred_segments: Deefforts = client.get_segment_efforts(segment.id, athlete_id=friendDe, limit=1) #Myefforts = client.get_segment_efforts(segment.id, athlete_id=client.get_athlete().id, limit=1) friendrecord = None myrecord = None for deeffort in Deefforts: friendrecord = deeffort
## import libraries from stravalib.client import Client from polyline.codec import PolylineCodec from cartodb import CartoDBAPIKey, CartoDBException from geojson import Feature, LineString ## Strava connection client = Client() client.access_token = 'd47099a29b2f3539e1c21af6d820e33a109a079e' ## CartoDB connection API_KEY ='cad54ea0c580a0c554b9e9562157e7c9bd9f37b0' cartodb_domain = 'geodarcy' cl = CartoDBAPIKey(API_KEY, cartodb_domain) ## get list of segments already in CartoDB queryResult = cl.sql('select segment_id from wbstrava') currentSegments = [x['segment_id'] for x in queryResult['rows']] ## get started segments from a user segmentIDs = [x.id for x in client.get_starred_segment()] for id in segmentIDs: if id not in currentSegments: segmentGeojson = PolylineCodec().decode(client.get_segment(id).map.polyline) flippedGeojson = [[x[1], x[0]] for x in segmentGeojson] inputGeojson = '{"coordinates": ' + str(flippedGeojson) + ', "type": "LineString", "crs":{"type":"name","properties":{"name":"EPSG:4326"}}}' cl.sql('INSERT INTO wbstrava (the_geom, segment_id) VALUES (ST_GeomFromGeoJSON(\'' + inputGeojson + '\'), ' + str(id) + ')')