diff options
author | Daria Volvenkova <d.volvenkova@corp.mail.ru> | 2018-03-19 19:05:08 +0300 |
---|---|---|
committer | Roman Kuznetsov <r.kuznetsow@gmail.com> | 2018-03-20 13:41:54 +0300 |
commit | d3de8ba897cd173d23c989fdd334c7fc645fbb00 (patch) | |
tree | 50998a42f464f41addb2075de9495c9bca4b59cd | |
parent | 3267623af55dc6385349c17f113a91cae71960fd (diff) |
In the case when a transit edge is inside a transfer node don't generate polyline for this edge.
-rw-r--r-- | map/transit/transit_display.cpp | 7 | ||||
-rwxr-xr-x | tools/python/transit/transit_graph_generator.py | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/map/transit/transit_display.cpp b/map/transit/transit_display.cpp index 0b224647e8..d706e621f6 100644 --- a/map/transit/transit_display.cpp +++ b/map/transit/transit_display.cpp @@ -285,9 +285,12 @@ void TransitRouteDisplay::ProcessSubroute(vector<RouteSegment> const & segments, auto const id1 = isTransfer1 ? stop1.GetTransferId() : stop1.GetId(); auto const id2 = isTransfer2 ? stop2.GetTransferId() : stop2.GetId(); - bool const isInverted = id1 > id2; - AddTransitShapes(edge.m_shapeIds, displayInfo.m_shapes, currentColor, isInverted, subroute); + if (id1 != id2) + { + bool const isInverted = id1 > id2; + AddTransitShapes(edge.m_shapeIds, displayInfo.m_shapes, currentColor, isInverted, subroute); + } ASSERT_GREATER(subroute.m_polyline.GetSize(), 1, ()); auto const & p1 = *(subroute.m_polyline.End() - 2); diff --git a/tools/python/transit/transit_graph_generator.py b/tools/python/transit/transit_graph_generator.py index 2b260303b7..859de4bcf8 100755 --- a/tools/python/transit/transit_graph_generator.py +++ b/tools/python/transit/transit_graph_generator.py @@ -261,6 +261,8 @@ class TransitGraphBuilder: node2 = self.stops[line['stop_ids'][i + 1]] id1 = node1.get('transfer_id', node1['id']) id2 = node2.get('transfer_id', node2['id']) + if id1 == id2: + continue seg = tuple(sorted([id1, id2])) if seg not in self.segments: self.segments[seg] = {'guide_points': {id1: set(), id2: set()}} |