You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用OSMnx查找多边形与道路网的交点并添加为路网节点?

查找多边形与道路网的交点并添加为路网节点

我想要查找多边形与道路网的交点,并将这些交点添加为路网节点。

import osmnx as ox
import folium
from shapely.geometry import Polygon
G = ox.graph_from_place('Lebanon, NH, USA', network_type='drive')
m1 = ox.plot_graph_folium(G, edge_color = "red")
polygon = Polygon([(-72.2460023,43.6225941), (-72.2547570,43.6063131),(-72.2329560,43.6007194),(-72.2272912,43.6136463),(-72.2460023,43.6225941)])
folium.GeoJson(data=polygon).add_to(m1)

我所需实现的第二部分(添加节点)方法较为简单,此前已在Stack Overflow上有相关解答。

我推测需将多边形和道路网均转为LineString(可对LineString中的点进行有效数字取整),以此查找公共经纬度点。

下图为我想要添加到路网中的交点示例(黑色圈出部分):
多边形与道路网的交点

通过上述代码可复现该folium地图。

另一种对我有用的方法是识别多边形内的未连通道路路段(示例中为橙色路段,其他路网中可能存在更多此类路段)。

提前感谢您的帮助!

内容的提问来源于stack exchange,提问作者hegdep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 18:36:26