Укажите на противоположной стороне земного шара
[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')))