From cb57090f13809f2643ff667ef1c7d4ba0648c41a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Thu, 21 Dec 2017 19:02:37 +0100 Subject: [PATCH] fix possible error with good_representative_point --- src/c3nav/mapdata/utils/geometry.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/c3nav/mapdata/utils/geometry.py b/src/c3nav/mapdata/utils/geometry.py index d2c3a8d4..d7a11185 100644 --- a/src/c3nav/mapdata/utils/geometry.py +++ b/src/c3nav/mapdata/utils/geometry.py @@ -72,7 +72,11 @@ def good_representative_point(geometry): if isinstance(geometry, Point): return geometry c = geometry.centroid - x1, y1, x2, y2 = geometry.bounds + try: + x1, y1, x2, y2 = geometry.bounds + except ValueError: + # jup, this can happen + return c lines = (tuple(assert_multilinestring(LineString(((x1, c.y), (x2, c.y))).intersection(geometry))) + tuple(assert_multilinestring(LineString(((c.x, y1), (c.x, y2))).intersection(geometry)))) return min(lines, key=lambda line: (line.distance(c), line.length),