MongoDB $ geoNear расстояние сильно отличается от исходного / Google расстояние

#mongodb #express #mongoose

#mongodb #экспресс #мангуст

Вопрос:

Это мой url =/location/23.605835/85.277221 // широта, а затем долгота

 //This is my code to calculate distance

exports.getDistance = async (req, res, next) => {

  const { lat } = req.params;

  const { lng } = req.params;

  const distances = await Seller.aggregate([
     {

      $geoNear: {
        near: {
          type: 'Point',
          coordinates: [lat * 1, lng * 1],
        },
        spherical: true,
        distanceField: 'distance',
        distanceMultiplier: 0.001,
      },
    },
  ]);
  res.status(200).json({
    status: 'success',
    data: {
      data: distances,
    },
  });
};
 

Вывод

 {

    "status": "success",
    "data": {
        "data": [
            {
                "_id": "5fc34a0b1ac1e10d1042d8ca",
                "location": {
                    "type": "Point",
                    "coordinates": [
                        23.369677,
                        85.321093
                    ]
                },
                "name": "Location One",
                "__v": 0,
                "distance": 5.337871594014329
            }
        ]
    }
}
 

Проблема здесь в том, что расстояние результата полностью отличается от реального расстояния / расстояния Google.
Исходное расстояние составляет около 40 км, и это дает мне 5,3 км.

Я не знаю, что делать, пожалуйста, помогите мне. Спасибо!

Комментарии:

1. Я поиграл и нашел то же самое. Хотя на этот раз документы довольно плохие.

2. Я тестировал на картах Google и сайтах калькуляторов разными способами, и все они даже проходили (потому что это небольшое расстояние), Земля составляет около 25,6 км. Я бы разместил ваш запрос на форуме разработчиков . Возможно, Google подсчитывает некоторую грубость в поле, но большинство карт дают ~ 26