Как получить определенный тип дороги (основной, второй, третий и т. Д.) В Openstreetmap с Python?
Я пытаюсь получить различные классификации типа дороги в OSM с python, после просмотра нескольких соответствующих веб-страниц, я до сих пор получил это:
import osmnx as ox
place_name = "zurich, switzerland"
graph = ox.graph_from_place(place_name, network_type='drive')
fig, ax = ox.plot_graph(graph, fig_height=5, node_size=0)
тип network_type включает только "drive", "walk" и т. д., но я хотел бы получить тег Highway, например "primary", "вторичный", "третичный", соответственно, этот тип дорожной сети, как мне это сделать?
1 ответ
Я хотел бы получить тег Highway, например "первичный", "вторичный", "третичный", соответственно, этот тип дорожной сети, как мне это сделать?
OSMnx автоматически получает тег шоссе. network_type='drive'
Аргумент означает, что OSMnx загрузит все проезжие дороги в пределах вашей географии интересов (Цюрих). Затем он строит мультидиграф сети x сети. Края графа содержат атрибуты, в том числе тип магистрали OSM. Затем вы можете пройтись по краям и проверить их значения шоссе или вывести график в геопанду геоданных, чтобы работать с ним таким образом, как вы предпочитаете, как описано в документации.
В качестве альтернативы, если вам нужна сеть, состоящая только из определенных типов магистралей в иерархии дорог OSM, см. Этот вопрос и ответ.