Private
Public Access
1
0

initial attempt - not working yet

This commit is contained in:
Sander Roosendaal
2020-06-01 21:45:46 +02:00
parent 0a88a059bc
commit ecb90c9ac4
2 changed files with 110 additions and 2 deletions

View File

@@ -2049,7 +2049,20 @@ def leaflet_chart(lat,lon,name=""):
return script,div return script,div
def leaflet_chart_compare(latlondf,name=""): def leaflet_chart_compare(workoutids,labeldict={},startenddict={}):
data = []
for id in workoutids:
w = Workout.objects.get(id=id)
rowdata = rdata(w.csvfilename)
df = pd.DataFrame({
'id':id,
'latitude':rowdata.df[' latitude'],
'longitude':rowdata.df[' longitude']
})
data.append(f)
df = pd.concat(data,axis=0)
if lat.empty or lon.empty: if lat.empty or lon.empty:
return [0,"invalid coordinate data"] return [0,"invalid coordinate data"]

View File

@@ -1491,6 +1491,99 @@ def team_comparison_select(request,
'teams':get_my_teams(request.user), 'teams':get_my_teams(request.user),
}) })
def virtualevent_mapcompare_view(request,id=0):
results = []
r = None
if not request.user.is_anonymous:
r = getrower(request.user)
try:
race = VirtualRace.objects.get(id=id)
except VirtualRace.DoesNotExist:
raise Http404("Virtual Challenge does not exist")
if race.sessiontype != 'race':
url = reverse(virtualevent_view,kwargs={'id':id})
messages.error(request,"This challenge doesn't have map data")
return HttpResponseRedirect(request)
results = VirtualRaceResult.objects.filter(
race=race,
workoutid__isnull=False,
coursecompleted=True,
).order_by("distance","duration")
workoutids = [result.workoutid for result in results]
startenddict = {}
if race.sessiontype == 'race':
for result in results:
startenddict[result.workoutid] = (result.startsecond,result.endsecond)
if len(workoutids) == 0:
url = reverse('virtualevent_view',
kwargs={
'id':race.id,
})
messages.info(request,'There are no results to display')
return HttpResponseRedirect(url)
workouts = []
for id in workoutids:
try:
workouts.append(Workout.objects.get(id=id))
except Workout.DoesNotExist:
pass
labeldict = {
int(w.id): w.__str__() for w in workouts
}
script,div = leaflet_chart_compare(workoutids,
labeldict=labeldict,
startenddict=startenddict)
breadcrumbs = [
{
'url': reverse('virtualevents_view'),
'name': 'Racing'
},
{
'url':reverse('virtualevent_view',
kwargs={
'id':race.id,
}
),
'name': race.name
},
{
'url':reverse('virtualevent_mapcompare_view',
kwargs={
'id':race.id,
}
),
'name': 'Compare'
}
]
return render(request,'mapcompare.html',
{'interactiveplot':script,
'the_div':div,
'breadcrumbs':breadcrumbs,
'rower':r,
'race':race,
'results':results,
'active':'nav-racing',
'promember':promember,
'teamid':0,
'chartform':chartform,
'teams':[]
})
def virtualevent_compare_view(request,id=0): def virtualevent_compare_view(request,id=0):
results = [] results = []
@@ -1506,7 +1599,7 @@ def virtualevent_compare_view(request,id=0):
try: try:
race = VirtualRace.objects.get(id=id) race = VirtualRace.objects.get(id=id)
except VirtualRace.DoesNotExist: except VirtualRace.DoesNotExist:
raise Http404("Virtual Race does not exist") raise Http404("Virtual Challenge does not exist")
if race.sessiontype == 'race': if race.sessiontype == 'race':
script,div = course_map(race.course) script,div = course_map(race.course)
@@ -1531,6 +1624,8 @@ def virtualevent_compare_view(request,id=0):
if len(workoutids) == 0: if len(workoutids) == 0:
url = reverse('virtualevent_view', url = reverse('virtualevent_view',
kwargs={ kwargs={