GeoJson 循环没有关闭

我正在尝试通过具有 GeoJson 数据的推文集合进行查询,如下所示:


[ [ [ -63.39386, -41.035009 ], [ -62.39386, -33.260144 ], [ -54.665826, -33.260144 ], [ -56.665836, -41.035009 ] ] ]

使用$geoWithin我想使用 Bounding_box 进行过滤 问题是:即使上面的坐标包含在我的 bounding_box 中,我也没有得到任何结果。


为了弄清楚这个问题,我使用https://boundingbox.klokantech.com/创建了一些 GeoJson 数据,看看它是否有效,是的,它总是有效,例如,我得到的坐标如下


                                     [[[-69.40602388, -28.3114053673],

                                     [-68.7425288674, -28.3114053673],

                                     [-68.7425288674, -27.7163373156],

                                     [-69.40602388, -27.7163373156],

                                     [-69.40602388, -28.3114053673]]].

试图理解为什么它在使用https://boundingbox.klokantech.com/而不是使用集合时起作用我发现使用集合坐标我得到一个错误:pymongo.errors.OperationFailure: Loop is not closed: [ [ -63.39386, -41.035009 ], [ -62.39386, -33.260144 ], [ -54.665826, -33.260144 ], [ -56.665836, -41.035009 ] ]当尝试将此坐标用作过滤器时$geoWithin... 所以这意味着问题是集合坐标?但那些来自推特我对此无能为力。也许有办法关闭循环?


PIPIONE
浏览 83回答 1
1回答

不负相思意

问题是 GeoJson 数据需要用您打开它的相同点来关闭循环。为了:[ [ [ -63.39386, -41.035009 ], [ -62.39386, -33.260144 ], [ -54.665826, -33.260144 ], [ -56.665836, -41.035009 ] ] ]我必须在最后添加 [ -63.39386, -41.035009 ] 所以它变成了:[ [ [ -63.39386, -41.035009 ], [ -62.39386, -33.260144 ], [ -54.665826, -33.260144 ], [ -56.665836, -41.035009 ],[ -63.39386, -41.035009 ] ] ]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python