2

我有一个包含文档的集合,每个文档都有一个带有多边形的字段数组。

我想测试我的多边形 geoIntersects 是否与这些多边形中的任何一个相交。如果有帮助,它们都是盒形的。

如果您在我正在测试的那个数组中添加我的多边形的可能性,我将添加赏金点。我不希望它与自己相交...

城市:

{_id, buildings:[ {coo:{shape:"Polygon", coordinates:[ [0,0], [4,0], [4,5], [5,0],[0,0] ] }, {coo:{shape:"Polygon", coordinates:[ [0,0], [4,0], [4,5], [5,0],[0,0] ] } ] }}

想象一下,我在数组中有大约 100 个左右的元素。我想确定对于给定的形状,它是否与任何其他多边形相交或不与其他多边形相交(同样,不包括它自己在内),它是否可能包含在数组中。

4

2 回答 2

0

此页面将帮助您在复合空间文档上创建地理空间索引:

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

然后你可以使用这个页面来找出你的查询

http://docs.mongodb.org/manual/reference/operator/box/#op._S_box

于 2013-06-02T02:11:08.873 回答
0

尝试这个 :

<collection>.findOne({ 'polygons': { $geoIntersects: { $geometry: { type: "Point", coordinates: [Longitude, Latitude] } } } }
于 2017-06-23T12:55:20.463 回答