OSMnx загрузил неожиданные края речной сети, как это исправить? - PullRequest
1 голос
/ 06 августа 2020

Я использую OSMnx (0.15.1) для извлечения сети рек. Используя приведенный ниже код, я ожидал загрузить речную сеть только с центральным руслом реки, см. Рис. 1 , который получается с помощью QuickOSM плагина в QGIS с тегом "waterway=river":

QuickOSM

Рис. 1 с QuickOSM

При использовании OSMnx большая часть сети в пределах этого водосбора реки кажется правильно представлена ​​как центральный путь реки. Однако в этой конкретной точке широты и долготы (51.062981, 13.270961) инструмент OSMnx также загрузил края берега реки ( Рис. 2 , серые линии). На некоторых участках реки (справа внизу) вместо центрального пути были загружены края берега реки. В чем проблема и как ее исправить?

Тег OSM "waterway"~"river" использовался в качестве фильтра. Воспроизводимый пример:

import osmnx as ox

"""
A simple attempt to download a river network from a point with OSMnx.
"""
# Get a river network and plot it with all edge intersections.
point = 51.062981, 13.270961 # lat, long
G = ox.graph_from_point(point, 
                        dist=1000,
                        custom_filter='["waterway"~"river"]')
fig, ax = ox.plot_graph(G, node_color='r')

OSMnx

Рис. 2 с OSMnx

1 Ответ

0 голосов
/ 08 августа 2020

Ваш фильтр '["waterway"~"river"]' соответствует как «реке», так и «берегу реки», следовательно, на вашем графике отображаются берега реки. Вместо этого используйте =, чтобы просто найти "река":

G = ox.graph_from_point(point, dist=1000, custom_filter='["waterway"="river"]')
...