繁体   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