def test_merging_edge_data(indexed_edge_groups): links_to_add = simplification._process_path(indexed_edge_groups) assert_semantically_equal( links_to_add, { 'new_link_id': { 'permlanes': 3, 'freespeed': 40.0, 'capacity': 1000.0, 'oneway': '1', 'modes': {'car'}, 'from': 1, 'to': 4, 'id': 'new_link_id', 's2_from': 5221390326122671999, 's2_to': 5221390326952602895, 'length': 31, 'attributes': { 'osm:way:lanes': { 'name': 'osm:way:lanes', 'class': 'java.lang.String', 'text': '3' }, 'osm:way:osmid': { 'name': 'osm:way:osmid', 'class': 'java.lang.String', 'text': {'18769878', '18769879'} }, 'osm:way:highway': { 'name': 'osm:way:highway', 'class': 'java.lang.String', 'text': {'trunk', 'unclassified'} } }, 'geometry': LineString([(528915.9309752393, 181899.48948011652), (528888.1581643537, 181892.3086225874), (528780.3405144282, 181859.84184561518), (528780.3405144282, 181859.84184561518)]), 'ids': ['1926', '1927', '1928'] } })
def test_merging_edge_data_without_attributes(): links_to_add = simplification._process_path({ 'new_link_id': { 'path': [ '5219839471651578159', '5219840163616449177', '5219840164134345369', '5219840193105047721', '5219840192721593713', '5219840201713556083' ], 'link_data': { 'id': [ '5219839471651578159_5219840163616449177', '5219840163616449177_5219840164134345369', '5219840164134345369_5219840193105047721', '5219840193105047721_5219840192721593713', '5219840192721593713_5219840201713556083' ], 'from': [ '5219839471651578159', '5219840163616449177', '5219840164134345369', '5219840193105047721', '5219840192721593713' ], 'to': [ '5219840163616449177', '5219840164134345369', '5219840193105047721', '5219840192721593713', '5219840201713556083' ], 'freespeed': [16.68, 16.68, 16.68, 16.68, 16.68], 'capacity': [1000.0, 1000.0, 1000.0, 1000.0, 1000.0], 'permlanes': [1.0, 1.0, 1.0, 1.0, 1.0], 'oneway': ['1', '1', '1', '1', '1'], 'modes': [['pt', 'bus'], ['pt', 'bus'], ['pt', 'bus'], ['pt', 'bus'], ['pt', 'bus']], 's2_from': [ 5219839471651578159, 5219840163616449177, 5219840164134345369, 5219840193105047721, 5219840192721593713 ], 's2_to': [ 5219840163616449177, 5219840164134345369, 5219840193105047721, 5219840192721593713, 5219840201713556083 ], 'length': [ 575.4392557548131, 83.15169892493816, 489.30505992573757, 144.83445362807095, 281.97884051508083 ] }, 'node_data': { '5219839471651578159': { 'id': 1, 'x': 528915.9309752393, 'y': 181899.48948011652, 'lon': -0.14327038749428384, 'lat': 51.52130909540579, 's2_id': 5219839471651578159 }, '5219840163616449177': { 'id': 1, 'x': 528915.9309752393, 'y': 181899.48948011652, 'lon': -0.14327038749428384, 'lat': 51.52130909540579, 's2_id': 5219840163616449177 }, '5219840164134345369': { 'id': 1, 'x': 528915.9309752393, 'y': 181899.48948011652, 'lon': -0.14327038749428384, 'lat': 51.52130909540579, 's2_id': 5219840164134345369 }, '5219840193105047721': { 'id': 1, 'x': 528915.9309752393, 'y': 181899.48948011652, 'lon': -0.14327038749428384, 'lat': 51.52130909540579, 's2_id': 5219840193105047721 }, '5219840192721593713': { 'id': 1, 'x': 528915.9309752393, 'y': 181899.48948011652, 'lon': -0.14327038749428384, 'lat': 51.52130909540579, 's2_id': 5219840192721593713 }, '5219840201713556083': { 'id': 1, 'x': 528915.9309752393, 'y': 181899.48948011652, 'lon': -0.14327038749428384, 'lat': 51.52130909540579, 's2_id': 5219840201713556083 } } } }) assert_semantically_equal( links_to_add, { 'new_link_id': { 'id': 'new_link_id', 'from': '5219839471651578159', 'to': '5219840201713556083', 'freespeed': 16.68, 'capacity': 1000, 'permlanes': 1, 'oneway': '1', 'modes': {'pt', 'bus'}, 's2_from': 5219839471651578159, 's2_to': 5219840201713556083, 'length': 1574.7093087486405, 'geometry': LineString([(528915.9309752393, 181899.48948011652), (528915.9309752393, 181899.48948011652), (528915.9309752393, 181899.48948011652), (528915.9309752393, 181899.48948011652), (528915.9309752393, 181899.48948011652), (528915.9309752393, 181899.48948011652)]), 'ids': [ '5219839471651578159_5219840163616449177', '5219840163616449177_5219840164134345369', '5219840164134345369_5219840193105047721', '5219840193105047721_5219840192721593713', '5219840192721593713_5219840201713556083' ] } })
def test_merging_set_attribute_values(): edge_group = { 'new_link_id': { 'path': [1, 2, 3], 'link_data': { 'permlanes': [3.0, 3.0], 'freespeed': [20, 20], 'capacity': [1000.0, 1000.0], 'oneway': ['1', '1'], 'modes': [['car'], ['car']], 'from': [1, 2], 'to': [2, 3], 'id': ['1926', '1927'], 's2_from': [5221390326122671999, 5221390326036762795], 's2_to': [5221390326036762795, 5221390326952602895], 'length': [12.0, 14.0], 'attributes': [{ 'osm:way:lanes': { 'name': 'osm:way:lanes', 'class': 'java.lang.String', 'text': {'1', '2'} } }, { 'osm:way:lanes': { 'name': 'osm:way:lanes', 'class': 'java.lang.String', 'text': '3' } }] }, 'node_data': { 1: { 'id': 1, 'x': 528915.9309752393, 'y': 181899.48948011652, 'lon': -0.14327038749428384, 'lat': 51.52130909540579, 's2_id': 5221390326122671999 }, 2: { 'id': 2, 'x': 528888.1581643537, 'y': 181892.3086225874, 'lon': -0.14367308749449406, 'lat': 51.52125089540575, 's2_id': 5221390326036762795 }, 3: { 'id': 3, 'x': 528780.3405144282, 'y': 181859.84184561518, 'lon': -0.14523808749533396, 'lat': 51.520983695405526, 's2_id': 5221390326952602895 } } } } links_to_add = simplification._process_path(edge_group) assert_semantically_equal( links_to_add, { 'new_link_id': { 'permlanes': 3, 'freespeed': 20.0, 'capacity': 1000.0, 'oneway': '1', 'modes': {'car'}, 'from': 1, 'to': 3, 'id': 'new_link_id', 's2_from': 5221390326122671999, 's2_to': 5221390326952602895, 'length': 26, 'attributes': { 'osm:way:lanes': { 'name': 'osm:way:lanes', 'class': 'java.lang.String', 'text': {'1', '2', '3'} } }, 'geometry': LineString([(528915.9309752393, 181899.48948011652), (528888.1581643537, 181892.3086225874), (528780.3405144282, 181859.84184561518)]), 'ids': ['1926', '1927'] } })