问题描述
我正在尝试获取不同位置的距离(以米为单位)。
我的查询如下所示:
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 (将#修改为@)