2014-12-30 2 views
-3

Мой вопрос: как рассчитать расстояние между двумя наборами координат в метре по matlab?Как рассчитать расстояние между двумя наборами координат в метрах?

У меня есть две координаты, такие как N1 32.22 E1 15.09 и N2 32.45 E2 15.55, по команде [k b] = distance(N1, E1, N2, E2) она дает большие дуги окружности и азимуты, но мне нужно расстояние в метрах или километрах.

+1

Этот вопрос был задан и ответил много раз здесь. Кроме того, Интернет подавит вам ресурсы для удовлетворения ваших требований. Я предлагаю вам провести какое-то исследование, верните, когда (и если) у вас есть программа, в которой вам нужна помощь. –

+1

Преобразуйте в UTM и сделайте это карточным, если они достаточно близко (<1000 км или около того). В противном случае найдите Великие Круги. Спросите на [GIS.SE] (http://gis.stackexchange.com/). – mirabilos

ответ

-1

Вы можете формировать геодезические данные с точки зрения «километра» или «метра» устройства с использованием функции geodetic2ned(), но для этого требуется Mapping Toolbox.

Теперь проверьте код ниже:

pos1  = [32.22, 15.09]; 
pos2  = [32.45, 15.55]; 
h  = 0;         % // altitude       
SPHEROID = referenceEllipsoid('wgs84', 'km'); % // Reference ellipsoid. You can enter 'km' or 'm'  
[N, E] = geodetic2ned(pos1(1), pos1(2), h, pos2(1), pos2(2), h, SPHEROID); 
distance = norm([N, E]); 

Это результат расстояния как 50.2598 км.

+0

@mirabilos - Конечно, будет ошибка из-за моделирования формы земли, но, действительно, мне кажется, что способ решения будет полезен, поэтому я разместил его. Что вы имеете в виду, когда говорите «если они далеко»? – mehmet

+0

Смотрите мой комментарий к вопросу о UTM и Great Circles. Оценка 1000 км для UTM, и только для определенных широт, конечно, но ошибки для UTM публикуются; NED относительно неизвестен. – mirabilos

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