连接地理图网络中的附近节点

问题描述 投票:0回答:1

我正在构建河流图网络。到目前为止,我已经创建了河流上经纬度点的 networkx 图。每条河流在其点之间都有边缘。但是,我的数据集中不同河流之间不存在边。现在我想连接地理上相交的河流,例如这里:

我想在密苏里河的末端节点和密西西比河上最近的节点之间的红色箭头处添加一条边。

如何实现这一点?我可以迭代每对节点,计算它们的大圆距离,并在距离限制以下时添加一条边。这可以工作,但看起来很慢,我想知道是否有更内置的方法来做到这一点?

python networkx graph-theory geography
1个回答
0
投票
  1. 你只需要检查每个组件的叶子,即度数为1的节点(即端点)。

  2. 您可以使用

    scipy.spatial.KDTree.query_ball_point
    高效查找指定距离内的所有其他节点。然后选择与叶子不属于同一组件的最近节点。

© www.soinside.com 2019 - 2024. All rights reserved.