From 9963fa4c484d7c429238334a6d015ab8972c5c9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Sat, 16 Dec 2017 19:52:37 +0100 Subject: [PATCH] space_for_point: only spaces with distance < 0.5m --- src/c3nav/routing/router.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/c3nav/routing/router.py b/src/c3nav/routing/router.py index 6049ff2a..f9a5096b 100644 --- a/src/c3nav/routing/router.py +++ b/src/c3nav/routing/router.py @@ -291,7 +291,10 @@ class Router: continue if self.spaces[space].geometry_prep.contains(point): return self.spaces[space] - return self.spaces[min(level.spaces, key=lambda space: self.spaces[space].geometry.distance(point))] + spaces = (self.spaces[space] for space in level.spaces) + spaces = ((space, space.geometry.distance(point)) for space in spaces) + spaces = ((space, distance) for space, distance in spaces if distance < 0.5) + return min(spaces, key=operator.itemgetter(1))[0] def describe_custom_location(self, location): return CustomLocationDescription(