Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb Redis Geo-返回两个位置之间的错误距离/纬度长度_Mongodb_Redis_Geolocation_Stackexchange.redis_Node Redis - Fatal编程技术网

Mongodb Redis Geo-返回两个位置之间的错误距离/纬度长度

Mongodb Redis Geo-返回两个位置之间的错误距离/纬度长度,mongodb,redis,geolocation,stackexchange.redis,node-redis,Mongodb,Redis,Geolocation,Stackexchange.redis,Node Redis,我使用Redis Geo查找两个位置或纬度之间的距离,但是当我将结果与google distance matrix api进行比较时,结果之间存在很大差异 这是我的设想: 在redis CLI中运行以下命令 运行此命令 GEOADD Sicily 13.349350 38.272273 "Palermo" 15.089875 37.508123 "Catania" GEORADIUS Sicily 13.349350 38.272273 200 km WITHDIST 运行此命令 GEOA

我使用Redis Geo查找两个位置或纬度之间的距离,但是当我将结果与google distance matrix api进行比较时,结果之间存在很大差异

这是我的设想:

在redis CLI中运行以下命令

  • 运行此命令

    GEOADD Sicily 13.349350 38.272273 "Palermo" 15.089875 37.508123 "Catania"
    
    GEORADIUS Sicily 13.349350 38.272273 200 km WITHDIST
    
  • 运行此命令

    GEOADD Sicily 13.349350 38.272273 "Palermo" 15.089875 37.508123 "Catania"
    
    GEORADIUS Sicily 13.349350 38.272273 200 km WITHDIST
    
  • 得到这个结果

        1) 1) "Palermo"
        2) "0.0001"
        2) 1) "Catania"
        2) "174.8263"
    
    Redis说卡塔尼亚距离巴勒莫174.8263公里

    使用google api获取这两个纬度之间的距离时,我得到了一个不同的结果:

        https://maps.googleapis.com/maps/api/distancematrix/json?units=metrics&origins=38.272273,13.349350&destinations=37.508123,15.089875
    
    谷歌称卡塔尼亚距离巴勒莫233公里

    我还使用了mongodb的$geonear,结果与redis相似:

    Mongodb说卡塔尼亚距离巴勒莫174.971公里


    我相信google distance是正确的,所以请任何人帮我找出我在Redis中做错了什么。如果我想使用redis,是否有其他方法可以获得正确的距离。

    这是直达距离(如乌鸦飞行)和陆路运输距离(道路)之间的差异

    用于: