fixing bad splay detection

This commit is contained in:
Philip Sargent 2023-03-12 00:35:37 +00:00
parent 870b290726
commit b88b142332
6 changed files with 30 additions and 29 deletions

View File

@ -350,6 +350,10 @@ def svx(request, survex_file):
svxblocks = []
try:
svxblocksall = svxfile.survexblock_set.all()
svxlength = 0.0
for b in svxblocksall:
svxlength += b.legslength
print(svxlength,b)
except AttributeError: # some survexfiles just *include files and have no blocks themselves
svxblocksall = []
else:
@ -366,6 +370,7 @@ def svx(request, survex_file):
"warning": warning,
"has_3d": (Path(survexdatasetpath) / Path(survex_file + ".3d")).is_file(),
"title": survex_file,
"svxlength": svxlength,
"svxblocks": svxblocks,
"svxincludes": svxincludes,
"difflist": difflist,

View File

@ -497,9 +497,10 @@ class LoadingSurvex:
def LoadSurvexAlias(self, survexblock, line):
# *alias station - ..
splayalias = re.match("(?i)station\s*\-\s*\.\.\s*$", line)
splayalias = re.match("(?i)\s*station\s*\-\s*\.\.\s*$", line)
if splayalias:
self.flagsstar["splayalias"] = True
print(line)
else:
message = f"! Bad *ALIAS: '{line}' ({survexblock}) {survexblock.survexfile.path}"
print(self.insp + message)
@ -697,6 +698,12 @@ class LoadingSurvex:
# skip all splay legs
try:
if "splayalias" in self.flagsstar:
if ls[datastar["from"]] == "-" or ls[datastar["to"]] == "-":
if debugprint:
print("Aliased splay in ", survexblock.survexfile.path)
return
if ls[datastar["from"]] == ".." or ls[datastar["from"]] == ".":
if debugprint:
print("Splay in ", survexblock.survexfile.path)
@ -705,14 +712,13 @@ class LoadingSurvex:
if debugprint:
print("Splay in ", survexblock.survexfile.path)
return
if self.flagsstar["splayalias"]:
if ls[datastar["from"]] == "-":
if debugprint:
print("Aliased splay in ", survexblock.survexfile.path)
return
if ls[datastar["to"]] == "-":
if debugprint:
print("Aliased splay in ", survexblock.survexfile.path)
message = f" ! Suspected splay, not declared, in line {ls} in {survexblock.survexfile.path}"
print(self.insp + message)
stash_data_issue(
parser="survexleg", message=message, url=None, sb=(survexblock.survexfile.path)
)
return
except:
message = f" ! datastar parsing from/to incorrect in line {ls} in {survexblock.survexfile.path}"

View File

@ -1,10 +1,5 @@
{% extends "base.html" %}
{% block title %}Person {{personexpedition.person}} for {{personexpedition.expedition}}{% endblock %}
<!-- I am removing 'role' as a thing that troggle cares about.
This will remove the Class Role (but keep PersonRole)
and 1 foreign key role
If anyone really cares, they can always look in the original survex file
-->
{% block content %}
<h1>
@ -13,7 +8,7 @@ If anyone really cares, they can always look in the original survex file
</h1>
<p>{{message}}</p>
<p>{{personexpedition.surveyedleglength|stringformat:".1f"}} m surveyed this year.</p>
<p>{{personexpedition.surveyedleglength|floatformat:1}} m surveyed this year.</p>
<p><b>Other years:&nbsp;</b>
{% for otherpersonexpedition in personexpedition.person.personexpedition_set.all %}
@ -31,8 +26,6 @@ If anyone really cares, they can always look in the original survex file
<h3>Table of all trips and surveys aligned by date</h3>
<div>
<table class="survexcontibutions">
<!--
<tr><th>Date</th><th colspan="2">Trips</th><th colspan="3">Surveys</th></tr> Remove 'role' -->
<tr><th>Date</th><th colspan="2">Trips</th><th colspan="2">Surveys</th></tr>
{% for persondate in personchronology %}
<tr>
@ -47,14 +40,9 @@ If anyone really cares, they can always look in the original survex file
{% if persondate.2 %}
<td class="survexblock"><a href="{% url "svx" persondate.2.survexfile.path %}">{{persondate.2.name}}</a></td>
{%comment%}
<td class="roles" style="padding-right: 3px; text-align:right">
{% for survexpersonrole in persondate.2.survexpersonrole_set.all %}
{{survexpersonrole.nrole}}
{% endfor %}
</td>{%endcomment%}
<td style="text-align:right">
{{persondate.2.legslength|stringformat:".1f"}} m
{{persondate.2.legslength|floatformat:1}} m
</td>
{% else %}
<td colspan="3"> </td>

View File

@ -12,17 +12,18 @@ Total length: {{addupsurvexlength|stringformat:".1f"}} km adding up the total fo
<p>These are uncorrected tape lengths which include pitches and duplicates but exclude splays or surface-surveys.
<p>
This is work in progress (Feb.2023).
This is work in progress (March 2023): the last column is floatng point numbers, the 3rd column appears to be strings..
<p>This includes ARGE and other surveys currently. It will be changed to only include lengths surveyed by valid Expo-attendees.
<table>
<tr><th>Year</th><th>Survex<br>Survey<br>Blocks</th><th>Survex<br>Survey Legs</th><th>Total length<br>(m)</th></tr>
<tr><th>Year</th><th>Survex<br>Survey<br>Blocks</th><th>Survex<br>Survey Legs</th><th>Total length<br>(m)</th><th>Total length<br>(m)</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"}} </td>
<td style="text-align:right">{{legs.1.survexleglength}}</td>
<td style="text-align:right">{{legs.1.survexleglength|floatformat:0}}</td>
</tr>
{% endfor %}
</table>

View File

@ -80,6 +80,7 @@ LOGMESSAGES
-->
{% endif %}
</div>
survey length: {{svxlength|floatformat:2}} metres
<span style="font-family: monospace; font-size: 130%; ">
{% for sb in svxblocks %}
{% empty %}