[英]mongodb - $geoIntersects sorted by overlapping percentage
我有這類文件的收藏:
{
_id: ObjectId,
type: "string", // COUNTRY, STATE, CITY
geometry: {
type: "MultiPolygon",
coordinates: <coordinates>
}
}
例如,我想計算其中COUNTRY
是每個STATE
。 我試圖做到這一點:
var state = db.entity.findOne({_id:ObjectId("someStateID")});
db.entity.find({
geometry: {
$geoIntersects: {
$geometry: state.geometry
}
},
type:"COUNTRY"
});
這樣做很好,除了在某些情況下某些STATE
的行接觸到我有兩個或更多文檔的鄰居COUNTRY
的邊界時。
有沒有辦法我可以通過重疊百分比對結果進行排序? 還是任何一種過濾器都知道哪個是確切的父級?
我發現在mongo中無法做到這一點,我不得不使用代碼來做到這一點。 這是解決此問題的簡便方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.