mongodb geo的near查询的单位

使用geoNear获得的结果里dis的单位,有两种情况:

1)spherical设为false(默认),dis的单位与坐标的单位保持一致
如果保存的是longitude/latitude,则dis的单位就是经度(或者纬度,单位是一致的)
如果保存的是meter,则dis的单位就是meter

2)spherical设为true,dis的单位是弧度

想要换算成公里(km)的话,
要么在程序里做,要么使用distanceMultiplier参数来定义转换方式:

对应于1)
如果要保存的坐标是经纬度,要计算的是公里,可设置 distanceMultiplier: 111
如果要计算英里,可将111换成69

对应于2)
如果要计算公里,可设置 distanceMultiplier: 6371
如果要计算英里,则需要把6371换成3959

猜你喜欢

转载自my.oschina.net/u/2935389/blog/1784773
今日推荐