Точка на противоположной стороне земного шара
[newlat,newlon] = antipode(lat,lon)
[newlat,newlon] = antipode(lat,lon,angleunits)
[newlat,newlon] = antipode(lat,lon) возвращает географические координаты точек, прямо противоположных на земном шаре, от входных точек, заданных lat и lon. Все углы в градусах.
[newlat,newlon] = antipode(lat,lon,angleunits) где angleunits определяет единицы ввода и вывода как 'degrees' или 'radians'. Может быть сокращён и нечувствителен к регистру.
Учитывая точку (43ºN, 15ºE), найдите его антипод:
[newlat,newlong] = antipode(43,15)
newlat =
-43
newlong =
-165 или (43ºS, 165ºW).
Пожалуй, самые очевидные антиподальные точки - Северный и Южный поляки. Функция antipode демонстрирует следующее:
[newlat,newlong] = antipode(90,0,'degrees')
newlat =
-90
newlong =
180 Обратите внимание, что в этом случае долготы не имеют значения, потому что все меридианы сходятся на полюсах.
В этом примере показано, как найти антипод расположения корпоративной штаб-квартиры MathWorks в Натике, штат Массачусетс. В примере показано расположение штаб-квартиры и ее антипода в ортогональной проекции.
Укажите широту и долготу в градусах-минутах-секундах, а затем преобразуйте их в десятичные градусы.
mwlat = dms2degrees([ 42 18 2.5])
mwlat = 42.3007
mwlon = dms2degrees([-71 21 7.9])
mwlon = -71.3522
Найди антипода.
[amwlat amwlon] = antipode(mwlat,mwlon)
amwlat = -42.3007
amwlon = 108.6478
Докажи, что эти точки антиподы. distance функция показывает, что они находятся на расстоянии 180 градусов друг от друга.
dist = distance(mwlat,mwlon,amwlat,amwlon)
dist = 180.0000
Создайте карту с центром в исходной точке, а затем другую карту с центром в антиподе.
figure subplot(1,2,1) axesm ('MapProjection','ortho','origin',[mwlat mwlon],... 'frame','on','grid','on') load coastlines geoshow(coastlat,coastlon,'displaytype','polygon') geoshow(mwlat,mwlon,'Marker','o','Color','red') title(sprintf('Looking down at\n(%s,%s)', ... angl2str(mwlat,'ns'), angl2str(mwlon,'ew'))) subplot(1,2,2) axesm ('MapProjection','ortho','origin',[amwlat amwlon],... 'frame','on','grid','on') geoshow(coastlat,coastlon,'displaytype','polygon') geoshow(amwlat,amwlon,'Marker','o','Color','red') title(sprintf('Looking down at\n(%s,%s)', ... angl2str(amwlat,'ns'), angl2str(amwlon,'ew')))
