2013-05-30 53 views
2

我有一個包含文檔的集合,每個集合都有一個帶有多邊形的字段數組。

我想測試我的多邊形地理是否接觸任何這些多邊形。如果有幫助,它們都是盒子形狀。

如果你在我測試的數組中添加可能的多邊形,我會添加賞金點。我不希望它本身相交......

城市:

{_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個左右的元素。 我想確定一個給定的形狀是否可以包含在數組中,是否與任何其他多邊形相交(再次排除它自身)。

+0

可以你包含一個示例文檔?這將闡明你的模式。 –

+0

你去,編輯。 – Discipol

回答

0

試這個:

<collection>.findOne({ 'polygons': { $geoIntersects: { $geometry: { type: "Point", coordinates: [Longitude, Latitude] } } } } 
相關問題