makerefmat

Создайте аффинную пространственную матрицу привязки

Синтаксис

R = makerefmat(x11, y11, dx, dy)
R = makerefmat(lon11, lat11, dlon, dlat)
R = makerefmat(param1, val1, param2, val2, ...)

Описание

R = makerefmat(x11, y11, dx, dy), со скалярами dx и dy, создает матрицу привязки, которая выравнивает изображение или строки сетки данных к карте x и столбцам к карте y. Скаляры x11 и y11 задайте местоположение карты центра первого (1,1) пиксель в изображении или первом элементе сетки данных.

dx различие в x (или долгота) между пикселями в последовательных столбцах и dy различие в y (или широта) между пикселями в последовательных строках.

Пиксели покрывают квадраты на карте когда abs(dx) = abs(dy). Чтобы достигнуть самого типичного вида выравнивания, где увеличения x от столбца до столбца и уменьшений y от строки до строки, делают dx положительный и dy отрицательный. Для того, чтобы задать такое выравнивание наряду с квадратными пикселями, сделайте dx положительный и делают dy равняйтесь -dx:

 R = makerefmat(x11, y11, dx, -dx)

R = makerefmat(x11, y11, dx, dy), с двухэлементными векторами dx и dy, создает самый общий вид матрицы привязки.

В этом общем случае каждый пиксель может стать параллелограммом на карте ни с каким ребром, обязательно выровненным к карте x или y. Векторный [dx(1) dy(1)] различие в местоположении карты между пикселем в одной строке и ее соседом в предыдущей строке. Аналогично, [dx(2) dy(2)] различие в местоположении карты между пикселем в одном столбце и его соседом в предыдущем столбце.

Чтобы задать пиксели, которые являются прямоугольными или квадратными (но возможно вращаемый), выберите dx и dy таким образом, что prod(dx) + prod(dy) = 0. Чтобы задать квадрат (но возможно вращаемый) пиксели, выберите dx и dy таким образом, что матричный [dx(:) dy(:)] 2 на 2 скалярное кратное ортогональная матрица (то есть, ее два собственных значения являются действительными, ненулевыми, и равными в абсолютном значении). Это составляет или вращение, зеркальное отображение или комбинацию обоих. Обратите внимание на то, что для скаляров dx и dy,

R = makerefmat(x11, y11, [0 dx], [dy 0])

эквивалентно

R = makerefmat(x11, y11, dx, dy)

R = makerefmat(lon11, lat11, dlon, dlat), с широтой предшествования долготы, создает матрицу привязки для использования с географическими координатами.

R = makerefmat(param1, val1, param2, val2, ...) пары "имя-значение" параметра использования, чтобы создать матрицу привязки для изображения или растровой сетки, к которой ссылаются и выравнивают с географической системой координат. Не может быть никакого вращения или скоса: каждый столбец должен упасть вдоль меридиана, и каждая строка должна упасть вдоль параллели. Каждое название параметра должно быть задано, точно так же, как показано, включая случай.

'ParameterName' Тип данныхЗначение
RasterSizeДвухэлементный вектор размера [M N]

Количество строк (M) и столбцы (N) из растра или изображения, которое будет использоваться с матрицей привязки.

С 'RasterSize', можно также обеспечить вектор размера, имеющий больше чем два элемента. Это включает использование, такое как:

R = makerefmat('RasterSize', ...
   size(RGB), ...)
где RGB M-by-N-by-3. Однако в случаях как это, только первые два элемента вектора размера будут на самом деле использоваться. Выше (непространственные) размерности будут проигнорированы. Значение по умолчанию [1 1].

LatitudeLimitsДвухэлементный вектор-строка из формы: [southern_limit, northern_limit], в модулях степеней.Пределы в широте географического четырехугольника, ограничивающего растр, на который геоссылаются. Значение по умолчанию [0 1].
LongitudeLimitsДвухэлементный вектор-строка из формы: [western_limit, eastern_limit], в модулях степеней. Пределы в долготе географического четырехугольника, ограничивающего растр, на который геоссылаются. Элементы 'LongitudeLimits' вектор должен возрастать в значении. Другими словами, пределы должны быть развернуты. Значение по умолчанию [0 1].
ColumnsStartFromСтроковый скаляр или вектор символовУказывает на направление столбца растра (юг на север по сравнению с севером на юг) в терминах ребра, с которого начинает индексация строки. Значениями является 'south' или 'north' и они могут быть сокращены и нечувствительные к регистру. В типичной сетке ландшафта индексация строки запускается в южном ребре. В изображениях индексация строки запускается в северном ребре. Значением по умолчанию является 'south'.
RowsStartFromСтроковый скаляр или вектор символовУказывает на направление строки растра (запад на восток по сравнению с востоком на запад) в терминах ребра, с которого начинает индексация столбца. Значения: 'west' или 'east' и они могут быть сокращены и нечувствительные к регистру. Строки, почти всегда запускаемые с запада на восток. Значением по умолчанию является 'west'.

Примеры

Создайте матрицу привязки для изображения с квадратом, четырехметровыми пикселями и с его левым верхним углом (в системе координат карты) в x = 207 000 метров, y = 913 000 метров. Изображение следует за типичной ориентацией: x увеличивающийся от столбца до столбца и y, уменьшающегося от строки до строки.

x11 = 207002;  % Two meters east of the upper left corner
y11 = 912998;  % Two meters south of the upper left corner
dx =  4;
dy = -4;
R = makerefmat(x11, y11, dx, dy)

Больше о

свернуть все

Пространственная матрица привязки

Пространственная матрица привязки R связывает индексы строки и столбца изображения или обычной сетки данных к 2D координатам карты или к географическим координатам (долгота и геодезическая широта). R 3 2 матрица аффинного преобразования. R любой преобразовывает пиксельные индексы (строка, столбец), чтобы сопоставить координаты (xY) согласно

[x y] = [row col 1] * R

или преобразовывает пиксельные индексы к/от географическим координатам согласно

[lon lat] = [row col 1] * R

Чтобы создать матрицу привязки для использования с географическими координатами, используйте долготу вместо X и широта вместо Y, как показано в R = makerefmat(X11, Y11, dx, dy) синтаксис. Это - одно из нескольких мест, где долгота предшествует широте в вызове функции.