From a58225a8e8d65a84f5c8cb6577d2207d0e32987f Mon Sep 17 00:00:00 2001 From: 1-Byte <1-byte@gmx.net> Date: Mon, 12 Apr 2021 14:30:38 +0200 Subject: [PATCH] Fix inconsistent geometry calculation of partial relations --- src/overpass_api/data/relation_geometry_store.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/overpass_api/data/relation_geometry_store.cc b/src/overpass_api/data/relation_geometry_store.cc index 7d4e1b77b..c49e0d907 100644 --- a/src/overpass_api/data/relation_geometry_store.cc +++ b/src/overpass_api/data/relation_geometry_store.cc @@ -175,7 +175,9 @@ std::vector< std::vector< Quad_Coord > > Relation_Geometry_Store::get_geometry if (it->type == Relation_Entry::NODE) { const Node* node = binary_search_for_id(nodes, it->ref); - if (node == 0 || !matches_bbox(node->index, node->ll_lower_)) + if (node == 0) + result.push_back(std::vector< Quad_Coord >()); + else if (!matches_bbox(node->index, node->ll_lower_)) result.push_back(std::vector< Quad_Coord >(1, Quad_Coord(0u, 0u))); else result.push_back(std::vector< Quad_Coord >(1, Quad_Coord(node->index, node->ll_lower_)));