Oneway:bicycle=no в графе OSMNX с network_type='bike'Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Oneway:bicycle=no в графе OSMNX с network_type='bike'

Сообщение Anonymous »

Я работаю над оценкой велосипедной инфраструктуры на общих маршрутах в европейских городах. В процессе я столкнулся со следующей проблемой:
В Европе довольно распространено разрешение велосипедистам проезжать по улицам с односторонним движением в обоих направлениях (я не знаю, существует ли это в Северной Америке). ). Соответствующие ребра в OSM помечены тегами oneway=yes и oneway:bicycle=no.
Использование функции osmnx.k_shortest_paths в графе с network_type='bike' я обнаружил, что ездить по улицам с односторонним движением в противоположном направлении запрещено, хотя это разрешено законом.
Это код, который я использовал для тестирование. Для моторизованного транспорта Мариенштрассе в ее северной части разрешено использовать только в направлении на север. Для велосипедов проезд в обе стороны бесплатный. Тем не менее, функция маршрутизации делает объезд при движении на юг. В другом (обычно разрешенном) направлении используется улица. Я включил тест, правильно ли промаркированы края (а это так).

Код: Выделить всё

import osmnx as ox

add_tags = (['oneway:bicycle'])
ox.settings.useful_tags_way = ox.settings.useful_tags_way + add_tags
G = ox. graph_from_place("Karlsruhe, Germany", network_type='bike')
start = ox.nearest_nodes(G, 8.408005310258606, 49.003891115254056,  return_dist=False)  # Kommödchen
dest = ox.nearest_nodes(G, 8.408489900323096, 48.99637841654651, return_dist=False)  # Yuki Sushi
test = ox.k_shortest_paths(G, start, dest, 1, weight='length')
test_list = list(test)
test_nodes = test_list[0]
test_edges = ox.utils_graph.route_to_gdf(G, test_nodes, weight='length')
fig, ax = ox.plot_graph_route(G, test_nodes, route_color='r', route_linewidth=5, node_size=20)

test_backwards = test = ox.k_shortest_paths(G, dest, start, 1, weight='length')
back_list = list(test_backwards)
back_nodes = back_list[0]
back_edges = ox.utils_graph.route_to_gdf(G, back_nodes, weight='length')
fig_b, ax_b = ox.plot_graph_route(G, back_nodes, route_color='r', route_linewidth=5, node_size=20)

for index, row in back_edges.iterrows():
print(row["oneway"], row["oneway:bicycle"])
Есть ли способ перевернуть соответствующие ребра в соответствии с тегами oneway:bicycle и добавить их в график?

Подробнее здесь: https://stackoverflow.com/questions/786 ... -type-bike
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как получить отношения типа `route = bicycle` с OSMNX?
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Как отправить сигнал "ctrl+c" / sigint, чтобы Gradle javaexec type type type jvm?
    Anonymous » » в форуме JAVA
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Команда ошибки Mode=TwoWay и Mode=OneWay из Visual Studio 2022
    Anonymous » » в форуме C#
    0 Ответы
    113 Просмотры
    Последнее сообщение Anonymous
  • Команда ошибки Mode=TwoWay и Mode=OneWay из Visual Studio 2022
    Anonymous » » в форуме C#
    0 Ответы
    93 Просмотры
    Последнее сообщение Anonymous
  • Привязка ссылки типа «type» к значению типа «const type» удаляет квалификатор «const»
    Гость » » в форуме C++
    0 Ответы
    130 Просмотры
    Последнее сообщение Гость

Вернуться в «Python»