-
Notifications
You must be signed in to change notification settings - Fork 0
/
slider.py
executable file
·75 lines (62 loc) · 1.82 KB
/
slider.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/usr/bin/python
from stravalib.client import Client
import json
from stravalib import unithelper
import csv
import logging
import time
import simplekml
client = Client(access_token='insert_client_access_token_here')
#logging.basicConfig()
increment=0.05
latsize=0.2
lonsize=0.2
lat=46.23
lon=-87.49
kml=simplekml.Kml()
count=0
while latsize>0:
docname="%s"%(latsize)
print docname
segs=kml.newdocument(name=docname)
while lat<=46.44:
while lon<=-87.18:
bounds=[lat,lon,lat+latsize,lon+lonsize]
print bounds
print latsize
print lonsize
print count
polname="%s" % (bounds)
pol=segs.newpolygon(name=polname, \
outerboundaryis=[ \
(lon,lat),(lon,(lat+latsize)),\
((lon+lonsize), (lat+latsize)), ((lon+lonsize),lat)])
pol.style.polystyle.color=simplekml.Color.green
pol.style.polystyle.fill=0
pol.style.polystyle.outline=1
explores=client.explore_segments(bounds)
time.sleep(3)
count+=1
if len(explores)==10:
pol.style.polystyle.color=simplekml.Color.red
pol.style.polystyle.fill=1
file=open('segments.slider.01.csv', 'ab')
wr=csv.writer(file,dialect='excel')
for s in explores:
segmentname=s.name.encode('utf-8')
results=[s.id, segmentname, s.climb_category, s.climb_category_desc, s.avg_grade, \
s.start_latlng.lat, s.start_latlng.lon, s.end_latlng.lat, s.end_latlng.lon, \
float(unithelper.meters(s.elev_difference)), float(unithelper.meters(s.distance))\
,s.segment.state,s.segment.city, s.segment.starred, s.segment.created_at, \
s.segment.updated_at, s.segment.effort_count, s.segment.athlete_count, \
s.segment.hazardous, s.segment.star_count,\
s.points]
wr.writerow(results)
file.close()
lon +=increment
lat+=increment
lon=-87.49
lat=46.23
latsize-=increment
lonsize-=increment
kml.save("polys.kml")