2016-07-05 15 views
1

私は2つの場所またはlat-longsの間の距離を見つけるためにRedis Geoを使用しますが、私はGoogle distance matrix apiとの結果を比較するとき、結果。Redis Geo - 2つの場所/ lat-longsの間の不正確な距離を返します

これは私のシナリオです:

はRedisのCLI

  1. でfollwing蘭は

    GEOADD Sicily 13.349350 38.272273 "Palermo" 15.089875 37.508123 "Catania" 
    
  2. GEORADIUS Sicily 13.349350 38.272273 200 km WITHDIST 
    
このコマンドを実行し、このコマンドを実行しました

この結果

1) 1) "Palermo" 
    2) "0.0001" 
    2) 1) "Catania" 
    2) "174.8263" 

を手に入れたのRedisは、カターニアは174.8263キロ離れパレルモからであると言います。

これら二つの緯度long型の間の距離を取得するには、GoogleのAPIを使用している間、私は別の結果を得る:

https://maps.googleapis.com/maps/api/distancematrix/json?units=metrics&origins=38.272273,13.349350&destinations=37.508123,15.089875 

をGoogleがカターニアは233キロ離れパレルモからであると言います。

私もMongoDBのの$ geonearを使用し、結果はRedisのと同様であった:

MongoDBはカターニアは174.971キロ離れパレルモからであると言います。

私はGoogleの距離が正しいと信じていますので、誰でも私がRedisで間違っていることを助けてください。私がredisを使用したいので正しい距離を得る他の方法はありますか?

答えて

2

これは、陸上輸送(道路)による直接的な距離(つまり、カラスの飛行距離)と距離の差です。 future referenceについては

enter image description here

関連する問題