1

我有一个节点列表,每个节点都测量了其他点的 wifi 场强。该列表将采用以下形式:

 RSSI_list = [[node4, node3, RSSI], [node7, node5, RSSI]] #etc (it will be more populated)

RSSI 可以被认为等同于估计距离,因为它将被替换为从我记录的一些经验数据中插值/外推的值。

我想找到并“映射”所有点彼此相关的位置,以便计算它们之间的角度。

为此,我研究了使用networkxwhich 提供以下功能:

aGraph.add_nodes_from(aListOfNodes)   # Add all the nodes from the list, aListOfNodes
aGraph.add_edge(aNode1, aNode2) # creates an edge from aNode1 to aNode2

edgeData = {"weight": 42}      # a dictionary with only one entry
g.add_edge(nodeA, nodeB, edgeData)   #create the edge with the given data dictionary

这将允许我使用列表中的内容。我想要一些允许我添加节点对并自动链接末端共同的对的东西。

在我进一步了解networkx查询线之前,另一个python模块中是否有更好的功能可以做得更好?

4

1 回答 1

3

networkx会做你想做的事:

g = nx.Graph()

for a, b , w in RSSI_list:
    g.add_edge(a, b, {'weight': w})

然后,您可以通过遍历图表来获得所需的一切。

于 2013-04-25T20:48:38.467 回答