python:查询mongodb数据库查找坐标的最近邻居?

时间:2015-05-01 09:11:02

标签: python mongodb nearest-neighbor

我正在使用mongodb(版本2.6),我的所有坐标数据都保存为GeoJSON格式。现在我想查询数据库以查找特定坐标的10个最近邻居。

我想在mongodb中使用$ near定义,但是,我注意到它只返回minDistance和maxDistance指定的区域中的最近邻居,即不同坐标的最近邻居数可能不同。但是,我只想为每个点获得10个最近邻居,有谁知道这样做的好方法?

1 个答案:

答案 0 :(得分:0)

  1. 将maxDistance设置为一个非常大的值,例如20000 * 1000米,可将你的范围扩大到全球。
  2. http://geography.about.com/library/faq/blqzcircumference.htm

    1. 现在使用$ near运算符,$ limit = 10。 不管它们到底有多远,你都会得到10个最近的邻居。
    2.   

      the_collection.find({'loc_field':{'$ near':{'$ maxDistance':> 20000 * 1000,
        '$ geometry':geometry_of_the_coordinate}})。limit(10)