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-02-13 13:33:42 +0300
committerVlad Mihaylenko <vxmihaylenko@gmail.com>2019-02-18 18:04:22 +0300
commit31b48eb3753b387f1f07cbeac7a8e2175b61df13 (patch)
treeb97e66fad2511957374b7683aaab10da242477d3 /tools
parentd78ed6dbae61b20c50e8defe079fed8f1a64ace5 (diff)
Bug fix and improvement in quality matching script.
Diffstat (limited to 'tools')
-rwxr-xr-xtools/python/openlr/quality.py18
1 files changed, 16 insertions, 2 deletions
diff --git a/tools/python/openlr/quality.py b/tools/python/openlr/quality.py
index 7edea177c6..f27b2122c1 100755
--- a/tools/python/openlr/quality.py
+++ b/tools/python/openlr/quality.py
@@ -139,6 +139,15 @@ def parse_route(route):
))
return result
+def ignored_segments_number(tree, limit):
+ ignored_segments = 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
+
def parse_segments(tree, limit):
segments = islice(tree.findall('.//Segment'), limit)
for s in segments:
@@ -150,7 +159,9 @@ def parse_segments(tree, limit):
# TODO(mgsergio): This is a temproraty hack. All untouched segments
# within limit are considered accurate, so golden path should be equal
# matched path.
- golden_route = parse_route(s.find('GoldenRoute')) or matched_route
+ golden_route = parse_route(s.find('GoldenRoute'))
+ if not golden_route:
+ continue
yield Segment(segment_id, golden_route, matched_route)
def calculate(tree):
@@ -163,6 +174,7 @@ def calculate(tree):
raise
except Segment.NoGoldenPathError:
raise
+
return result
def merge(src, dst):
@@ -236,7 +248,9 @@ if __name__ == '__main__':
)
for x in assessed_scores.items():
print('{}\t{}'.format(*x))
- print('mean: {:.4f}, std: {:.4f}'.format(
+ print('Edge number: {:d}, mean: {:.4f}, std: {:.4f}'.format(
+ len(assessed_scores),
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)))