def test_assume_travel_modes_doesnt_assume_modes_for_no_tags(
        full_fat_default_config):
    edge = {'osmid': 0, 'nodes': [0, 1]}
    assumed_modes = osm_reader.assume_travel_modes(edge,
                                                   full_fat_default_config)

    assert assumed_modes == []
Пример #2
0
def get_path(element, config):
    """
    function from osmnx, adding our own spin on this - need extra tags

    Convert an OSM way element into the format for a networkx graph path.

    Parameters
    ----------
    element : dict
        an OSM way element

    Returns
    -------
    dict
    """

    path = {}
    path['osmid'] = element['id']

    # remove any consecutive duplicate elements in the list of nodes
    grouped_list = groupby(element['nodes'])
    path['nodes'] = [group[0] for group in grouped_list]

    if 'tags' in element:
        for useful_tag in config.USEFUL_TAGS_PATH:
            if useful_tag in element['tags']:
                path[useful_tag] = element['tags'][useful_tag]

    path['modes'] = osm_reader.assume_travel_modes(path, config)
    return path
def test_assume_travel_modes_doesnt_assume_modes_for_proposed_highway_tags(
        full_fat_default_config):
    edge = {'osmid': 0, 'nodes': [0, 1], 'highway': 'proposed'}
    assumed_modes = osm_reader.assume_travel_modes(edge,
                                                   full_fat_default_config)

    assert assumed_modes == []
def test_assume_travel_modes_doesnt_assume_modes_for_tags_unspecified_in_config(
        full_fat_default_config):
    edge = {'osmid': 0, 'nodes': [0, 1], 'highway': 'what did you say?'}
    assumed_modes = osm_reader.assume_travel_modes(edge,
                                                   full_fat_default_config)

    assert assumed_modes == []
def test_assume_travel_modes_works_with_other_non_nested_tags(
        full_fat_default_config):
    modes_to_assume = ['rail']
    full_fat_default_config.MODE_INDICATORS['railway'] = modes_to_assume
    edge = {'osmid': 0, 'nodes': [0, 1], 'railway': 'yassss'}
    assumed_modes = osm_reader.assume_travel_modes(edge,
                                                   full_fat_default_config)

    assert_semantically_equal(assumed_modes, modes_to_assume)
def test_assume_travel_modes_assumes_unclassified_highway_tag_if_given_highway_road_tag(
        full_fat_default_config):
    modes_to_assume = ['car', 'bike', 'am_special_unclassified_mode']
    full_fat_default_config.MODE_INDICATORS['highway'][
        'unclassified'] = modes_to_assume
    edge = {'osmid': 0, 'nodes': [0, 1], 'highway': 'road'}
    assumed_modes = osm_reader.assume_travel_modes(edge,
                                                   full_fat_default_config)

    assert_semantically_equal(assumed_modes, modes_to_assume)
def test_assume_travel_modes_works_with_nested_highway_tags(
        full_fat_default_config):
    modes_to_assume = ['car', 'bike']
    full_fat_default_config.MODE_INDICATORS['highway'][
        'unclassified'] = modes_to_assume
    edge = {'osmid': 0, 'nodes': [0, 1], 'highway': 'unclassified'}
    assumed_modes = osm_reader.assume_travel_modes(edge,
                                                   full_fat_default_config)

    assert_semantically_equal(assumed_modes, modes_to_assume)