gpt4 book ai didi

mongodb - 查找包裹给定点 MongoDB 的多边形的最佳方法?

转载 作者:可可西里 更新时间:2023-11-01 09:31:36 26 4
gpt4 key购买 nike

我有一个任意点代表房子的位置。在我的 MongoDB 中,我有一个集合,其中包含代表不同区域的多边形(类似于邮政编码)。

我想返回集合中给定点在该区域内的区域。

目前我正在将点转换成一个“小”框并使用这样的查询(按预期工作):

(被框化的点:[56.121371, 13.114797])

db.areas.find({
"area" : {
"$geoIntersects" : {
"$geometry" : {
"type" : "Polygon",
"coordinates" : [
[
[
56.120371,
13.113797
],
[
56.120371,
13.115797
],
[
56.122371,
13.115797
],
[
56.122371,
13.113797
],
[
56.120371,
13.113797
]
]
]
}
}
}
});

我试过使用 $near 但它只适用于点。我也试过 $geoWithin 没有成功;我的猜测是它检查集合文档是否在查询中,而不是查询是否在文档中。

这应该是一个非常常见的查询,所以我想知道是否有更好的方法而不是创建一个“小”多边形?感觉像是一种“解决方法”。

最佳答案

$geoIntersects运算符允许查询两个 geoJSON 对象的交集,它适用于所有几何图形,包括 { type: "Point"}

关于mongodb - 查找包裹给定点 MongoDB 的多边形的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20682971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com