如何使用地理空间方法确定框是否与mongoDB框的集合相交?

时间:2013-04-15 21:51:46

标签: mongodb geospatial

我已经想出了如何对交集进行查询,但无法弄清楚如何在数据库中定义框,以便它返回与查询参数相交的所有框。

我如何做到这一点?

1 个答案:

答案 0 :(得分:0)

我发现这个网站最有帮助。只需使用他们的例子,一切都应该清楚。如果没有,请考虑将复杂多边形转换为正方形(也是多边形)。

您可以将这些命令用于名为“test”的数据库和名为“geo”的集合:

test.geo.insert( {_id: "Poly1", shape: {type: "Polygon", coordinates: [[ [1,2], [1,4], [4,4], [4,2], [1,2] ]] } });
test.geo.ensureIndex( {shape:"2dsphere"} );
geo.find( {shape: {$geoIntersects: {$geometry: {type: "Polygon", coordinates: [[ [2,4], [2,8], [3,8], [3,4], [2,4] ]] }}}} )

这个特殊的例子有多边形在第4列相交。我还没有测试过所有可能的组合,但是从我测试的组合中,它确实有效。