0

我有一堆点 {A, B, C, ...., X},我想将它们的距离存储在一个矩阵中。一个额外的复杂情况是,从 A 到 B 的距离与从 B 到 A 的距离不同,它们是不对称的。

我的目标是将此矩阵存储在 MongoDB 的集合中,但我真的不知道如何,这可能吗?非常感谢任何建议/指导。

4

2 回答 2

0

出于好奇,您使用什么“距离”度量?从技术上讲,除非总是这样,否则您不能将函数d(X, Y)称为“距离” 。d(X, Y) = d(Y, X)球体上点之间的距离是对称的,因此您不能使用该度量。如果您只想存储和检索值d(X, Y),只需存储文档,如

{
    "from" : X,
    "to" : Y,
    "distance" : 691
}

在哪里XY是什么类型的值是合适的。放一个索引{ "from" : 1, "to" : 1 }然后定义

function d(X, Y) {
    return db.distances.findOne({ "from" : X, "to" : Y }).distance
}
于 2015-02-06T15:07:40.123 回答
0

MongoDB 支持存储地理空间对象,提供了一种创建索引和执行查询这些对象的特定方式。

看一眼 :

http://docs.mongodb.org/manual/applications/geospatial-indexes/

看看这是否是你要找的。

于 2015-02-05T23:56:02.400 回答