在Python的OSMnx中绘制有限速条件的边,可以通过以下步骤实现:
import osmnx as ox
import networkx as nx
import matplotlib.pyplot as plt
def plot_speed_limit_edges(place, network_type='all'):
# 根据地点名称获取网络图
G = ox.graph_from_place(place, network_type=network_type)
# 获取所有边的速度属性
speeds = nx.get_edge_attributes(G, 'maxspeed')
# 绘制网络图
fig, ax = ox.plot_graph(G, edge_color='gray', node_color='w', node_edgecolor='black',
node_size=30, node_zorder=2)
# 遍历每条边
for u, v, key, data in G.edges(keys=True, data=True):
if 'maxspeed' in data:
# 获取有限速条件
max_speed = data['maxspeed']
# 获取边的几何形状
edge = G[u][v][key]
# 绘制边的几何形状
ox.plot.make_folium_polyline(edge, color='red', weight=3, opacity=1, ax=ax)
# 获取边的中点坐标
x, y = edge['geometry'].xy
mid_x = (x[0] + x[-1]) / 2
mid_y = (y[0] + y[-1]) / 2
# 在边的中点坐标处添加有限速条件文本
ax.text(mid_x, mid_y, max_speed, fontsize=8, ha='center', color='red')
# 显示绘制结果
plt.show()
place = "Your Place" # 替换为你感兴趣的地点名称
plot_speed_limit_edges(place)
在该代码中,通过使用OSMnx库获取指定地点的网络图,并通过遍历每条边的属性来判断是否存在有限速条件。如果存在有限速条件,则绘制该边的几何形状,并在该边的中点位置添加有限速条件的文本。最后,通过调用函数并传入感兴趣的地点名称,即可实现绘制有限速条件的边。
请注意,该代码仅适用于OSMnx库,并非腾讯云产品相关。具体的腾讯云产品和产品介绍链接地址将根据问答内容的需求而定,可以在腾讯云官方网站上查找相关产品和介绍。
云+社区技术沙龙[第16期]
腾讯技术开放日
TC-Day
TC-Day
TVP「再定义领导力」技术管理会议
企业创新在线学堂
云+社区技术沙龙[第24期]
云+社区技术沙龙第33期
云+社区技术沙龙[第21期]
领取专属 10元无门槛券
手把手带您无忧上云