当前位置: 首页 > 知识库问答 >
问题:

图论距离度量和其他基于边缘属性/权重的度量

司寇照
2023-03-14

我正在构建一个以城市为节点的图表,边缘是连接这些节点的主要公路。

“我的边”(My edge)属性是公路的长度以及从起点到目标节点的旅行时间估计值。

NetworkX有计算距离度量的算法,如Diameter(最远节点之间的最短路径)、偏心率(从一个节点到所有其他节点的最大距离)和半径(整个网络的最大偏心率)。

是否可以使用我上传到网络的边缘属性(如以英里为单位的距离和以分钟为单位的时间)来计算这些度量?

共有1个答案

郎子平
2023-03-14

可以使用以下公式计算图中所有最短加权路径的矩阵:

shortest1 = shortest_path_length(G, weight="distance")

现在可以使用以下公式计算图表的偏心率:

ecc = eccentricity(G, sp=shortest2)

最后,您可以使用偏心率计算直径等:

diam = diameter(G, e=ecc)

请注意,shortest\u path\u length返回的最短路径和偏心率所期望的最短路径具有不同的结构(元组列表(节点、字典)与字典字典)。您可以使用shortest2=dict(shortest1)将一个转换为另一个。

 类似资料:
  • 问题内容: 我想找到两个不同点之间的距离。我知道这可以通过较大的圆距实现。 http://www.meridianworlddata.com/Distance-calculation.asp 完成后,我要找到一个点和一个距离,以北为点,以东为该点,以便在该点周围创建一个框。 问题答案: 使用OpenMap绘制大量位置数据已经取得了一些成功。有一个LatLonPoint类,它具有一些基本功能,包括距

  • 我使用Android扫描WIFI AP的每一帧时间,我从每个AP获得信号强度(RSSI在dbm),我用这个公式计算距离: 这是工作正常,所以我有三个或更多的距离,现在我需要画在地图上所有AP的固定位置,我在互联网上做了一些阅读,我发现三元组(是确定点的绝对或相对位置的过程距离的测量),但看起来我需要至少一个点(x,y),此时我只需要计算出信号强度的距离,可以作为不同圆周的半径。 我很困惑,因为我没

  • 问题内容: 我有一个一维数字数组,想计算所有成对的欧几里得距离。我有一种方法(感谢SO)在广播中执行此操作,但是它效率低下,因为它两次计算每个距离。而且它的伸缩性不好。 这是一个示例,它为我提供了1000个数字的数组。 我可以使用scipy / numpy / scikit-learn中最快的实现来执行此操作,因为它必须扩展到一维数组具有> 10k值的情况。 注意:矩阵是对称的,所以我猜想通过解决

  • 注意:矩阵是对称的,所以我猜测,通过寻址它,至少有可能获得2倍的加速,我只是不知道如何实现。

  • 我使用了Canny边缘检测器来检测边缘,下面是输出。我需要检测图像中边缘的密度,并选择密度较高的区域。如何在opencv中实现这一点。如何使用opencv查找高强度像素的密度? 如何获得以下输出?

  • 问题内容: 我有一张表,上面有: 城市纬度经度 而且我需要一个sql查询来知道所有城市都距离纽约100英里。 问题答案: 也许这对您有帮助:http : //www.scribd.com/doc/2569355/Geo-Distance-Search-with- MySQL 这是一个不错的介绍。或只是google for ,您会发现一些教程。 如果有可能并且想让它变得更简单,请直接使用支持距离查询