Проверить точки внутри данного радиуса, используя только массив - PullRequest
0 голосов
/ 22 мая 2019

Я создаю приложение, которое использует листовку для регистрации местоположения GPS определенного места или нескольких мест и сохраняет их в таблице [lat, lng], это происходит только в бэк-офисе. На внешнем интерфейсе я получу текущую позицию, и я хотел бы создать радиус "n" км, основанный на этой позиции, и после этого отфильтровать все записи в данном радиусе.

Теперь проблема, я не буду отображать никакую карту на веб-интерфейсе, цель состоит только в том, чтобы перечислить записи внутри этого радиуса, листовка не отображается из-за трафика.

Есть идеи, как это можно сделать?

1 Ответ

0 голосов
/ 27 мая 2019

Если вы не отображаете карту, вы, вероятно, не листовка.

Хотя Leaflet предоставляет вам методы для вычисления расстояний, есть много других геопространственных библиотек, которые предлагают аналогичную функцию, без необходимости что-либо отображать. Например. Вас может заинтересовать Turfjs's distance :

var from = turf.point([-75.343, 39.984]);
var to = turf.point([-75.534, 39.123]);
var options = {units: 'miles'};

var distance = turf.distance(from, to, options);

При этом, если у вас много точек данных в вашей базе данных, вы можете исследовать возможность применения фильтрации непосредственно в серверной базе данных, используя пространственный запрос, если ваша база данных поддерживает это .

...