示例#1
0
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']
            }
        })
示例#2
0
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']
            }
        })