簡體   English   中英

mongodb-$ geoIntersects按重疊百分比排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM