2016-07-28 1 views
2

Как найти ближайшую точку, учитывая координату gps? Новая точка может быть выбрана случайным образом, но должна находиться в пределах 100 метров от источника. Столкновения также прекрасны.Как найти близлежащие точки с учетом происхождения GPS?

т.е.

origin = (latitude, longitude) 

# prints one nearby point in (lat, lon) 
print "%s, %s" % get_nearby_point(origin) 

# prints another nearby point in (lat, lon) 
print "%s, %s" % get_nearby_point(origin) 

ответ

1
import geopy.distance 
from random import random 

def get_nearby_point(origin): 
    dist = geopy.distance.VincentyDistance(kilometers = .1) 
    pt = dist.destination(point=geopy.Point(origin), bearing=random()*360) 
    return pt[0],pt[1] 

origin = (34.2234, 14.252) # I picked some mostly random numbers 

# prints one nearby point in (lat, lon)           
print "%s, %s" % get_nearby_point(origin) 

# prints another nearby point in (lat, lon)          
print "%s, %s" % get_nearby_point(origin) 

Результаты:

$ python nearby.py 
34.2225717618, 14.2524285475 
34.2225807815, 14.2524529774 

я узнал, как сделать это с here. Это не точный дубликат, но достаточно отформатировать этот ответ. Вы определяете расстояние, используя функцию расстояния, тогда вы перемещаете точку, вход в функцию, в случайном направлении.

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

  • Нет связанных вопросов^_^