exponenta event banner

rotatem

Преобразование данных векторной карты в новое начало координат и ориентацию

Синтаксис

[lat1,lon1] = rotatem(lat,lon,origin,'forward')
[lat1,lon1] = rotatem(lat,lon,origin,'inverse')
[lat1,lon1] = rotatem(lat,lon,origin,'forward',units)
[lat1,lon1] = rotatem(lat,lon,origin,'forward',units)

Описание

[lat1,lon1] = rotatem(lat,lon,origin,'forward') преобразует данные широты и долготы (lat и lonк новым координатам (lat1 и lon1) в системе координат, полученной в результате поворота под углом Эйлера, как указано origin. Вход origin является трех- (или двух-) вектором элементов, имеющим вид [latitude longitude orientation]. Широта и долгота - координаты точки в исходной системе, являющейся центром выходной системы. Ориентация представляет собой азимут от новой исходной точки до исходного Северного полюса в новой системе. Если origin имеет только два элемента, ориентация принимается равной 0 °. Это origin вектор может быть выводом putpole или newpole.

[lat1,lon1] = rotatem(lat,lon,origin,'inverse') преобразует данные широты и долготы (lat и lon) в системе координат, которая была преобразована поворотами угла Эйлера, указанными origin к их координатам (lat1 и lon1) в системе координат, из которой они были первоначально преобразованы. В некотором смысле это отменяет 'forward' процесс. Однако следует иметь в виду, что если данные повернуты вперед, а затем инвертированы, то окончательные данные могут не совпадать с исходными. Это происходит из-за округления и коллапса данных в исходной и промежуточной сингулярностях (полюсах).

[lat1,lon1] = rotatem(lat,lon,origin,'forward',units) и [lat1,lon1] = rotatem(lat,lon,origin,'forward',units) укажите угловые единицы данных, где units - любая распознаваемая единица измерения угла. Значение по умолчанию: 'radians'. Следует отметить, что это значение по умолчанию отличается от значения по умолчанию для большинства функций.

rotatem преобразует данные векторной карты в новую систему координат.

Аналитическое использование новых данных может быть реализовано совместно с newpole функция. Если выбранная точка является северным полюсом новой системы, то при создании новых векторных данных с помощью rotatemРасстояние каждой точки данных от этого нового северного полюса - это его новая колатитума (90 ° минус широта). Абсолютная разница в азимутах большого круга между каждой парой точек от их нового полюса такая же, как и разница в их новых долготах.

Примеры

Каковы координаты Рио-де-Жанейро (23ºS,43ºW) в системе координат, в которой Нью-Йорк (41ºN,74ºW) сделан Северным полюсом? Используйте newpole функция, чтобы получить исходный вектор, связанный с помещением Нью-Йорка на полюс:

nylat = 41; nylon = -74;
riolat = -23; riolon = -43;
origin = newpole(nylat,nylon);
[riolat1,riolon1] = rotatem(riolat,riolon,origin,...
                            'forward','degrees')

riolat1 =
   19.8247
riolon1 =
 -149.7375

Что это значит? Во-первых, колатитура Рио в этой новой системе - расстояние от Нью-Йорка. Сравните расстояние между исходными точками и новой колатитудой:

dist = distance(nylat,nylon,riolat,riolon)

dist =
   70.1753

90-riolat1

ans =
   70.1753

См. также

| | |

Представлен до R2006a