Укажите радиус в метрах для запроса $ в круге в MongoDB

У меня есть база данных MongoDB, хранящая значения (долгота, широта), и я также использую mongo-java-driver. Затем я запрашиваю (основываясь на этом примере) все координаты в радиусе R центра C, используя следующий запрос:

final List circle = new LinkedList();

circle.addLast(new double[] { longitude, latitude });

circle.addLast(R);

BasicDBObject query = new BasicDBObject("loc", new BasicDBObject("$within", new BasicDBObject("$center", circle)));

Моя проблема в том, что мой R в метрах, а я не знаю, какой процесс преобразования требуется. Я читал в документации, что некоторые гео-методы mongodb используют радианы для радиуса, но для меня это не имеет смысла, так как радианы являются мерой углов. Я также пытался разделить R на экваториальный радиус Земли (6371000 м), но результаты не суммируются. Что мне не хватает?

Спасибо за помощь

0 ответов

Другие вопросы по тегам