diff --git a/rowers/dataprep.py b/rowers/dataprep.py index 91ca3d6a..6922c4cf 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -1567,6 +1567,9 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True, drivenergy = drivelength*averageforce distance = rowdatadf.ix[:,'cum_dist'] + velo = 500./p + + distanceperstroke = 60.*velo/spm data = DataFrame( @@ -1588,6 +1591,7 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True, distance=distance, drivespeed=drivespeed, rhythm=rhythm, + distanceperstroke=distanceperstroke, ) ) @@ -1667,6 +1671,7 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True, velo = 500./p + ergpw = 2.8*velo**3 efficiency = 100.*ergpw/power diff --git a/rowers/metrics.py b/rowers/metrics.py index c65cbcc0..e41e7b57 100644 --- a/rowers/metrics.py +++ b/rowers/metrics.py @@ -23,7 +23,8 @@ axes = ( ('effectiveangle', 'Effective Drive Length (deg)',40,140,'pro'), ('rhythm', 'Stroke Rhythm (%)',20,55,'pro'), ('efficiency', 'OTW efficiency (%)',0,110,'pro'), - ('None', 'None',0,1,'basic'), + ('distanceperstroke','Distance per Stroke (m)',0,15,'pro'), + ('None', 'None',0,1,'basic'), ) axlabels = {ax[0]:ax[1] for ax in axes} diff --git a/rowers/models.py b/rowers/models.py index b7b8d8fd..bc6b2052 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -560,6 +560,7 @@ class StrokeData(models.Model): totalangle = models.FloatField(default=0.0,null=True,verbose_name='Total Stroke Length (deg)') effectiveangle = models.FloatField(default=0.0,null=True,verbose_name='Effective Stroke Length (deg)') efficiency = models.FloatField(default=-1,null=True,verbose_name='OTW Efficiency') + distanceperstroke = models.FloatField(default=-1,null=True,verbose_name='Distance per Stroke') # A wrapper around the png files class GraphImage(models.Model):