sách gpt4 ai đã đi

python - 绘制 OpenStreetMap 关系不会生成连续线

In lại 作者:行者123 更新时间:2023-12-04 13:08:14 37 4
mua khóa gpt4 Nike

全部,
我一直在研究全局所有 MTB 步道的索引。我是 Python 人,所以对于所有涉及的步骤,我都尝试使用 Python 模块。
我能够像这样从 OSM 立交桥 API 中获取关系:

from OSMPythonTools.overpass import Overpass
overpass = Overpass()

def fetch_relation_coords(relation):
rel = overpass.query('rel(%s); (._;>;); out;' % relation)
return rel

rel = fetch_relation_coords("6750628")
我选择这个特定的关系 (6750628) 因为它是导致不连续(或其他错误)图的几个关系之一。
我处理“rel”对象以获得如下所示的pandas.DataFrame:
elements = pd.DataFrame(rel.toJSON()['elements'])
“元素”看起来像这样:
elements dataframe
Elements pandas.DataFrame 包含“关系”类型的行(在本例中为 1)、几个“方式”类型和许多“节点”类型。我的理解是,我将使用“关系”行、“成员”列来提取方式的顺序(指向节点),并使用该顺序来制作节点的纬度和经度列表(供以后在传单中使用),以正确的顺序,即在 map 上导致连续路径的顺序。
然而,事实并非如此。对于这种特殊关系,我最终得到了以下情节:
plot of latitudes and longitudes of OSM relation 6750628
如果我们将其与 openstreetmap.org 上显示关系的方式进行比较本身,我们看到它出错了(专注于小道的中部、东部)。我有很多发生这种情况的例子,尽管也有很多关系可以正确显示。
所以我想知道,我错过了什么?是否有需要忽略标签的节点?我已经尝试了几件事,包括省略带有任何标签的节点,这无济于事。某处我的处理是错误的,但我不明白在哪里。

1 Câu trả lời

如果我选择以不同的方式在彼此之上绘制,我确实会得到一个连续的图(索引包含每种方式所有节点的索引):
All ways plotted separately
在数据库中,我更愿意对节点进行排序,因为我可以使用它们即时制作 GPX 文件。但我想我确实用这种方法回答了我自己的问题,谢谢@scai 把我引向这个方向。

关于python - 绘制 OpenStreetMap 关系不会生成连续线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68375034/

37 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com