sql >> データベース >  >> NoSQL >> MongoDB

MongoDBを使用した間違った距離計算

    MongoDBは、座標が(long, lat)にあることを前提としています フォーマット。大圏距離を使用して手動で距離を計算すると、何が起こっているかがわかります。

    > from math import acos, sin, cos, radians
    >
    > long_x, lat_x = [radians(y) for y in [52.473266, 13.45494]]
    > long_y, lat_y = [radians(y) for y in [52.497309, 13.39385]]
    >
    > acos(sin(lat_x) * sin(lat_y) + cos(lat_x) * cos(lat_y) * cos(long_x - long_y)) * 6371.0
    7.27362435031
    

    Googleは(lat, long)で座標を取ります 同じ入力を提供すると、Googleの解釈は次のようになります。

    > acos(sin(long_x) * sin(long_y) + cos(long_x) * cos(long_y) * cos(lat_x - lat_y)) * 6371.0
    4.92535867182
    



    1. MongoDBレプリカセットをスタンドアロンサーバーに変換する方法

    2. mongodbnodejs-循環構造の変換

    3. Microsoft.Extensions.Caching.Redisはdb0とは異なるデータベースを選択します

    4. Meteorのパブリッシュ/サブスクライブを理解する