Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorVladimir Byko-Ianko <v.bykoianko@corp.mail.ru>2019-03-06 09:42:27 +0300
committerVlad Mihaylenko <vxmihaylenko@gmail.com>2019-03-06 11:11:21 +0300
commit8dceb19e7c17039c34de13964905054e0e2ed9da (patch)
tree04c625c9bdb1e7e95283dad63eb3555c66439e9f /tools
parent413972f0cd8278fa1bb23c3d48387fdf4aa3f5f5 (diff)
Adding statistics about ignored openlr segments to quality.py.
Diffstat (limited to 'tools')
-rwxr-xr-xtools/python/openlr/quality.py31
1 files changed, 26 insertions, 5 deletions
diff --git a/tools/python/openlr/quality.py b/tools/python/openlr/quality.py
index f27b2122c1..903b058f31 100755
--- a/tools/python/openlr/quality.py
+++ b/tools/python/openlr/quality.py
@@ -141,12 +141,16 @@ def parse_route(route):
def ignored_segments_number(tree, limit):
ignored_segments = 0
+ ignored_segments_but_matched = 0
segments = islice(tree.findall('.//Segment'), limit)
for s in segments:
ignored = s.find('Ignored')
if ignored is not None and ignored.text == 'true':
ignored_segments += 1
- return ignored_segments
+ route = s.find('Route')
+ if route is not None:
+ ignored_segments_but_matched += 1
+ return ignored_segments, ignored_segments_but_matched
def parse_segments(tree, limit):
segments = islice(tree.findall('.//Segment'), limit)
@@ -184,15 +188,26 @@ def merge(src, dst):
int(s.find('.//ReportSegmentID').text): s.find('GoldenRoute')
for s in src.findall('Segment')
}
+ ignored_routes = {
+ int(s.find('.//ReportSegmentID').text): s.find('Ignored')
+ for s in src.findall('Segment')
+ }
for s in dst.findall('Segment'):
assert not s.find('GoldenRoute')
- golden_route = golden_routes[int(s.find('.//ReportSegmentID').text)]
- if not golden_route:
+ assert not s.find('Ignored')
+
+ reportSegmentID = int(s.find('.//ReportSegmentID').text)
+ golden_route = golden_routes[reportSegmentID]
+ ignored_route = ignored_routes[reportSegmentID]
+
+ if ignored_route is not None and ignored_route.text == 'true':
elem = ET.Element('Ignored')
elem.text = 'true'
s.append(elem)
continue
- s.append(golden_route)
+
+ if golden_route:
+ s.append(golden_route)
if __name__ == '__main__':
import argparse
@@ -242,6 +257,10 @@ if __name__ == '__main__':
'Base' if mean1 - mean2 > 0 else 'New',
mean1 - mean2
))
+ print('Base: {0[1]} matched segments from {0[0]} ignored segments.'.
+ format(ignored_segments_number(assessed, args.limit)))
+ print('New: {0[1]} matched segments from {0[0]} ignored segments.'.
+ format(ignored_segments_number(candidate, args.limit)))
else:
print('{}\t{}'.format(
'segment_id', 'intersection_weight')
@@ -253,4 +272,6 @@ if __name__ == '__main__':
np.mean(list(assessed_scores.values())),
np.std(list(assessed_scores.values()), ddof=1)
))
- print('Ignored segments number: {:d}'.format(ignored_segments_number(assessed, args.limit)))
+
+ print('{0[1]} matched segments from {0[0]} ignored segments.'.
+ format(ignored_segments_number(assessed, args.limit)))