OSMnx下载了河流网络的意外边缘,如何修复?

2024-05-29 03:32:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用OSMnx(0.15.1)提取河流网络。使用下面的代码,我希望下载一个只有河流中央通道的河网,请参见图1,该图是使用QGIS中的QuickOSM插件获得的,带有标签^{

QuickOSM

Fig. 1 with QuickOSM

当使用OSMnx时,该河流集水区内的大部分网络似乎正确地表示为河流的中心通道。然而,在这个特定的lat long点(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

Fig. 2 with OSMnx


Tags: 网络withfignetworklong边缘pointox
1条回答
网友
1楼 · 发布于 2024-05-29 03:32:36

您的过滤器'["waterway"~"river"]'同时匹配“river”和“riverbank”,因此您在图形中得到了河岸。相反,使用=只匹配“river”:

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

相关问题 更多 >

    热门问题