ElasticSearch地理数据库:geo_distance过滤器返回椭圆形的地理引脚而不是圆形

Ond*_*rej 4 google-maps elasticsearch

我有地理对象的elasticsearch数据库.我想geo_point在自定义距离内搜索周围最近的对象,然后在谷歌地图上显示它们.使用默认的弹性搜索过滤器 - geo_distance过滤器,它工作正常,但问题是返回的针脚在椭圆范围内,而不是在圆形范围内(通常在X km RADIUS中搜索任何东西时)截图有助于理解.

我不知道问题出在哪里,谷歌地图只采取弹性返回的结果 - 显示的引脚组

有谁知道这个问题?

没有过滤的地图

过滤后的地图,红色圆圈显示搜索的实际边界

imo*_*tov 10

当地理点在elasticsearch中表示为数组时,它们遵循GeoJSON格式,即[lon, lat].所以,从弹性研究的角度来看,你的中心针不在巴黎,而是在索马里海岸附近.

  • 是!!!就是这个!在elasticsearch.org上的例子是[lat,lon],我没有注意到GeoJSON数组[lon,lat]的正确语法.物体坐标没问题,但我将地球旋转了90°:-) (3认同)