diff --git a/src/c3nav/mapdata/utils/geometry.py b/src/c3nav/mapdata/utils/geometry.py index 9ae6b2fb..03246bfc 100644 --- a/src/c3nav/mapdata/utils/geometry.py +++ b/src/c3nav/mapdata/utils/geometry.py @@ -118,6 +118,8 @@ def good_representative_point(geometry): if isinstance(geometry, Point): return geometry c = geometry.centroid + if geometry.contains(c): + return c x1, y1, x2, y2 = geometry.bounds 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))))