Точка на противоположной стороне земного шара
[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
Докажите, что эти точки являются антиподами. The 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')))