2015-07-10 3 views
-1

Я новичок в ROR и Google Maps. Мне нужно разместить некоторые маркеры из местоположений на Картах Google (имея широту и долготу в базе данных).google map размещение местоположения на некотором расстоянии

Проблема в том, что мне нужно выбрать некоторые точки с некоторым случайным расстоянием.

Короче говоря, мне нужно выбрать место и разместить его на карте, которая должна иметь расстояние 100 м с каждой точкой.

Если местоположение находится в пределах 100 м от других точек, его можно пренебречь. Мне нужно разместить 10 баллов из базы данных.

Есть ли какой-либо метод?

+0

Просьба уточнить: у вас есть база данных с размером от 50 до 100 баллов, сгруппированная вокруг относительно небольшой географической зоны. Вы пытаетесь найти 10 из этих точек, которые находятся на расстоянии более 100 метров от всех остальных точек _ в базе данных, или из 10 выбранных точек? – bcdan

+0

@bcdan, .. извините за задержку ... это 10 выбранных очков – m2j

ответ

1

Предполагая, что вы необходимость найти точки из базы данных, которые по крайней мере, в 100 метрах от всех остальных точек в базе данных:

Это довольно простая задача. Его можно визуализировать как матрицу nxn, с точкой, заданной как строки и столбцы. В Python, сравнивая все расстояния будут выглядеть так:

selected = [] 
for pt1 in pts: 
    inRange = True 
    for pt2 in pts: 
    if pt1.distanceTo(pt2) < 100: 
     inRange = False 
     break 
    if inRange: 
    selected.append(pt1) 

Эта функция перебирает через весь список точек. Для каждой точки он проверяет расстояние от текущей точки до всех остальных точек. Если все остальные точки находятся за пределами 100 метров, это добавляет точку в массив.

Формула расстояния, см. Формулу haversinehere в форме кода.

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

Кроме того, если я неправильно понял ваш вопрос, вы можете каким-то образом адаптировать этот алгоритм. Это просто дать некоторые идеи.

+0

спасибо .. ты мужчина – m2j

Смежные вопросы