如何解决Spring MongoDB 使用 NearQuery 获得距离
我正在尝试获取不同位置的距离(以米为单位)。
我的查询如下所示:
final NearQuery nearQuery = NearQuery.near(new org.springframework.data.geo.Point(longitude,latitude)).spherical(true);
final Aggregation a = newAggregation(geoNear(nearQuery,"distancetoNextVehicle"));
final AggregationResults<TrafficLight> results =
mongoTemplate.aggregate(a,TrafficLight.class,TrafficLight.class);
List<TrafficLight> result = results.getMappedResults();
问题是距离 (distancetoNextVehicle) 的结果是错误的值。例如,当我将 -101.29899
作为经度和 48.40227378
作为查询中的输入的纬度时,我的数据库中是一个具有经度 -101.29899
和纬度 48.4106602
的文档。然后我得到的距离值 1.4637064145502492E-4
转换为 0.00014637064145502492
的实数,但我应该得到的是 932.5
的值。
来自 TrafficLight 类的相关值:
private org.springframework.data.geo.Point position;
private double distancetoNextVehicle;
作为我实现的模板,我使用了 How to get distance - MongoDB Template Near function。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。