2013-05-31 5 views
0

Я новичок в разработке iPhone iOS, и у меня возникают проблемы с использованием карт.Поиск координат в пути

Я пытаюсь найти способ создания пути с большим количеством точек координат (широта, долгота), а затем проверить, находится ли конкретная координатная точка внутри этого пути. Я уже искал, как это сделать, используя Apple Maps и новый SDK Google, но безуспешно.

Полная проблема заключается в:

У меня есть координаты (но не все), что представляет путь, по которому транспортное средству проходит мимо. Мне нужно проверить, находится ли какая-то конкретная координата внутри этого пути. Например: у меня есть координаты X, Y и Z. Если я создаю путь с этими координатами, полный путь будет иметь координаты X, Y, W и Z. С помощью этого пути я могу проверить координату W, что не было в координатах, используемых для построения пути. Это что-то вроде создания пути между двумя точками, но указание карте создать маршрут с использованием некоторых контрольных точек и после проверки, если случайная координата находится внутри этого пути.

Есть способ сделать что-то подобное?

ответ

0

Я думаю, для простого решения, которое вы могли бы использовать что-то вроде

(MKUserLocation *)userLocation; 
CLLocation* X = [init from some coordinates]; 
CLLocation* Y = [init from some coordinates]; 
CLLocation* W = userLocation.location; 
CLLocationDistance distToX = [X distanceFromLocation:W]; 
CLLocationDistance distToY = [Y distanceFromLocation:W]; 

и обнаружить, насколько W составляет от линии, определяемой X, Y, вы можете настроить следующий код:

def pointLineDistance(p,v1,v2): 
    return (numpy.linalg.norm(p-v1)**2 * numpy.linalg.norm(v2-v1)**2 - (numpy.dot((v1-p),(v2-v1)))**2)/numpy.linalg.norm(v2-v1)**2 

Простите, что я использую python здесь, просто скопируйте его &, но это 2d/3d обобщенная реализация расстояния между точкой p (ваш W) и двумя другими векторами v1, v2 (ваш X, Y) , Поиск http://mathworld.wolfram.com/Point-LineDistance2-Dimensional.html

Я не знаю, как он соответствует сферическим координатам поверхности, но это нормально для пространства евклидов. Cheers, EL

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