首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >求OSMNX边缘中心点的坐标

求OSMNX边缘中心点的坐标
EN

Stack Overflow用户
提问于 2022-06-30 22:45:55
回答 1查看 77关注 0票数 0

我正在寻找一个中心点的坐标(Lat,Lon),它位于OSMNX网络的任何边缘。

例如,我的网络是:

代码语言:javascript
复制
G=ox.graph_from_place('San Diego County, CA', network_type='drive')
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-08 06:52:46

使用shapely中的interpolate函数。

代码语言:javascript
复制
import osmnx as ox
G=ox.graph_from_place('San Diego', network_type='drive')
nodes, edges = ox.graph_to_gdfs(G, nodes=True, edges=True)

求出图的每一个边的中点。

代码语言:javascript
复制
edges['midpoint'] = ''
for i in range(0,len(edges)):
    midpoint = edges['geometry'].iloc[i].interpolate(0.5, normalized = True)
    edges['midpoint'].iloc[i] = midpoint

绘制图表。节点用红色表示。边缘的中点用绿色表示。

代码语言:javascript
复制
import matplotlib.pyplot as plt
fig, ax = ox.plot_graph(G, node_size=2, figsize=(48, 48),node_color='r', show=False, close=False)    
for i in range(0,len(edges)):
    ax.scatter(edges['midpoint'].iloc[i].x, edges['midpoint'].iloc[i].y, c='g', s = 2)    
plt.show() 

输出(裁剪后的图像显示):

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72822746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档