我有一个 django 项目,它使用elasticsearch 6.5.3来索引商店中的产品,并将位置作为 GeoPoints。我正在尝试查询此索引并计算任意点之间的距离,例如用户的位置到每个哦这些结果。
我正在使用 elasticsearch_dsl,我的代码如下所示:
search_query = search_query.script_fields(distance={
'script':{
'inline':"doc['location'].arcDistance(params.lat, params.lon)",
'params': {
'lat':user_loc.lat,
'lon':user_loc.lon
}
}
})
for result in search_query.execute():
print(result.distance)
这给了我看起来像这样的价值观:
[123456.456879123]
但我不确定它的单位。通过使用https://www.nhc.noaa.gov/gccalc.shtml中的在线距离计算器,我得到的距离约为 123 公里,看起来价值以米为单位。
所以:
1. 我在哪里可以找到有关其单位的一些明确答案?
请指出这些方法的相关文档。我也很想知道是否有办法指定方法调用中结果的预期单位。
2.在python中有没有更好的方法来做到这一点?