问题标签 [mongodb-geospatial]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
62 浏览

python - MongoDB 地理空间数据:循环无效:边缘 8 和 10 交叉

我正在尝试将多边形插入 MongoDB DBMS。多边形在一点上自相交。多边形如下:

我得到的错误是:

所以我删除了重复的点,但像这样关闭循环:

但我得到和以前一样的错误。如何将此几何图形插入 MongoDB?

0 投票
1 回答
37 浏览

mongodb - MongoDB 和地理空间查询:未知地理说明符:$geometry:null

我正在试验 mongodb 和地理空间查询。我做了以下收藏:

然后我尝试了以下方法:

我得到这个错误:

为什么 $geometry 为空?

提前致谢

0 投票
1 回答
19 浏览

mongodb - MongoDB $geowithin 未按预期运行

我将位置存储到集合中,并且基于边界框,我想检索此边界框中的位置。对于小边界框,一切似乎都很好,但对于较大的边界框,我没有得到预期的结果。当边界框的面积大于半球的面积时,我发现了一些关于指定 CRS 的信息:https ://docs.mongodb.com/manual/reference/operator/query/geoWithin/

尽管我的大边界框的面积不大于半球的面积,但我对小边界框使用的查询没有得到任何结果。

有关我的位置和下面使用的边界框的可视化表示,请参阅以下网站和地理点详细信息:https ://mobisoftinfotech.com/tools/plot-multiple-points-on-map/

小边界框:

大边界框:

我正在尝试在蓝色标记的边界框中获取数据,这应该会导致带有绿色标记的位置;伊普尔。

所以在 MongoDB 中,我有这两个职位:

以逆时针顺序指定坐标的小多边形;结果OK:Ypres

坐标按顺时针顺序指定的同一个小多边形;结果OK:Ypres

更大的多边形,坐标按逆时针顺序指定;结果不行;没有地点。

所以在这里我想我可能需要 CRS,但是添加它时,我得到了相同的结果;没有地点。

由于我不完全确定使用 CRS 时的顺时针/逆时针规格,因此我尝试颠倒多边形角的顺序。所以现在按顺时针顺序。但是在这里我得到了两个位置,而我只期待伊普尔。

省略 CRS 时,我没有找到这个位置。

所以,我不完全确定这里发生了什么。我的查询有问题吗?

0 投票
0 回答
10 浏览

mongodb - MongoDb地理空间查询多边形范围内的点

我正在尝试查询位于矩形内或距矩形 X 公里内的所有点。我将多边形的所有顶点的经度和纬度坐标存储在 boundingBox 中,我目前正在使用以下 Mongoose 查询

此查询有效(显示框中的点)但我还想显示靠近框的点,例如距离任何边缘 < 5 公里。

我想用 $near 来做这个,但它看起来只适用于点,而不是多边形。另一个选择是对坐标对进行一些数学计算并扩大边界框。有没有办法在 MongoDb 中做到这一点?

0 投票
1 回答
27 浏览

mongodb - MongoDB $geoNear 聚合在另一个集合上

我有一个包含两个集合的数据库,如下所示:

对于每个人,我想找到最近的地方。我可以让它找到一对特定坐标的最近位置,而不是整个集合。有没有办法不使用来做到这一点foreach?这是我在MongoDB 文档之后得到的最接近的结果: