2
0
mirror of https://expo.survex.com/repositories/troggle/.git synced 2026-03-06 22:56:32 +00:00

add productivity per caver for each expo

This commit is contained in:
2025-07-27 21:56:59 +02:00
parent 1bae6c6cd1
commit c82ed82aba
2 changed files with 14 additions and 5 deletions

View File

@@ -32,7 +32,13 @@ def legs_by_expo(expos):
legsyear += int(sb.legsall)
addupsurvexlength += survexleglength
addupsurvexlegs += legsyear
legsbyexpo.append((expedition, {"nsurvexlegs": legsyear, "survexleglength": survexleglength}))
expoers = PersonExpedition.objects.filter(expedition=expedition).count()
if expoers > 0:
success = survexleglength/expoers
else:
success = ""
legsbyexpo.append((expedition, {"success":success, "people": expoers, "nsurvexlegs": legsyear, "survexleglength": survexleglength}))
legsbyexpo.reverse()
return legsbyexpo, addupsurvexlegs, addupsurvexlength

View File

@@ -10,25 +10,28 @@
<p>Number of survey legs: {{nsurvexlegs}} <br />
Total length: {{addupsurvexlength|stringformat:".1f"}} km adding up the total for each year.</p>
<p>These are uncorrected tape lengths which include pitches and duplicates but exclude splays or surface-surveys.
<p>These are uncorrected tape lengths which include pitches and duplicates but exclude splays or surface-surveys. They are also <em>before</em> any loop-closure corrections.
<p>
<p>This only includes lengths surveyed by Expo survey trips (though not all have valid Expo-attendees as some survex files are administrative collections of *include statements). This no longer (since 30 June 2025) includes ARGE and other non-expo surveys.
<p>This only includes lengths surveyed by Expo survey trips (though not all have valid Expo-attendees as some survex files are administrative collections of *include statements). This no longer (since 30 June 2025) includes non-expo surveys (ARGE and others).
<table>
<tr><th>Year</th><th>Survex<br>Survey<br>Blocks</th><th>Survex<br>Survey Legs</th><th>Survex <br>length(m)</th></tr>
<tr><th>Year</th><th>Survex<br>Survey<br>Blocks</th><th>Survex<br>Survey Legs</th><th>Survex <br>length(m)</th><th>Cavers</th><th>meters/caver</th></tr>
{% for legs in legsbyexpo %}
<tr>
<td style="text-align:center"><a href="{{ legs.0.get_absolute_url }}">{{legs.0}}</a></td>
<td style="text-align:center">{{legs.0.survexblock_set.all|length}}</td>
<td style="text-align:center">{{legs.1.nsurvexlegs|rjust:"10"|floatformat:"0g"}} </td>
<td style="text-align:right">{{legs.1.survexleglength|floatformat:"0g"}}</td>
<td style="text-align:right">{{legs.1.people|floatformat:"0g"}}</td>
<td style="text-align:right">{{legs.1.success|floatformat:"1g"}}</td>
</tr>
{% endfor %}
</table>
<p>One Survex Survey Block is one *begin/*end block of data in a survex file.
Some files from other caving clubs may have a convention of using many more blocks per file than we do, e.g. if the
file is exported from other software into survex format.
file is exported from other software into survex format, but each block is recroded on a single day.
<p>Currently the number of cavers includes non-caving attendees: that needs to be fixed.