我有一堆点 {A, B, C, ...., X},我想将它们的距离存储在一个矩阵中。一个额外的复杂情况是,从 A 到 B 的距离与从 B 到 A 的距离不同,它们是不对称的。
我的目标是将此矩阵存储在 MongoDB 的集合中,但我真的不知道如何,这可能吗?非常感谢任何建议/指导。
我有一堆点 {A, B, C, ...., X},我想将它们的距离存储在一个矩阵中。一个额外的复杂情况是,从 A 到 B 的距离与从 B 到 A 的距离不同,它们是不对称的。
我的目标是将此矩阵存储在 MongoDB 的集合中,但我真的不知道如何,这可能吗?非常感谢任何建议/指导。
出于好奇,您使用什么“距离”度量?从技术上讲,除非总是这样,否则您不能将函数d(X, Y)
称为“距离” 。d(X, Y) = d(Y, X)
球体上点之间的距离是对称的,因此您不能使用该度量。如果您只想存储和检索值d(X, Y)
,只需存储文档,如
{
"from" : X,
"to" : Y,
"distance" : 691
}
在哪里X
和Y
是什么类型的值是合适的。放一个索引{ "from" : 1, "to" : 1 }
然后定义
function d(X, Y) {
return db.distances.findOne({ "from" : X, "to" : Y }).distance
}
MongoDB 支持存储地理空间对象,提供了一种创建索引和执行查询这些对象的特定方式。
看一眼 :
http://docs.mongodb.org/manual/applications/geospatial-indexes/
看看这是否是你要找的。