gpt4 book ai didi

geolocation - ElasticSearch脚本字段返回不正确的经度值

转载 作者:行者123 更新时间:2023-12-02 22:16:21 24 4
gpt4 key购买 nike

当我添加:

fields: [ "doc['Location'].lon" ]

对我的查询而言,经度值与文档源中显示的值不同。

在这里,您可以看到查询的结果,在这里我获取了doc ['Latitude']。lon和.lat以及_source.Latitude进行比较:

https://gist.github.com/d9533170f1f50fd27e87(注意-这些已通过PHP中的json_decode传递,但使用json_decode之前的数据是相同的。)

当我使用“doc ['field_name']。distance(lat,lon)”尝试将距离作为字段添加到我的查询中时,我首先注意到了这一点。我尝试了“script_fields”和“fields”两个键,每个键的结果相同。

更新:我注意到“doc ['Location']。lon”返回的是我认为应该是doc ['Location']。lat(lat和lon切换了)。

最佳答案

问题是,当使用GeoJSON格式(或使用经/纬度作为数组)时,您必须switch the order of lat/lng to lng/lat

我正在重建索引,但是为了解决此问题,我现在使用了以下查询:

doc['Location'].distance( lon + 180, lat ) // Temporary bandaid

用正确的值重建索引后,我将切换回:
doc['field_name'].distance(lat, lon) // The correct method

关于geolocation - ElasticSearch脚本字段返回不正确的经度值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8196344/

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