Вычисление контура географического изображения или сетки данных
[x,y] = mapoutline(R,height,width)
[x,y] = mapoutline(R, sizea)
[x,y] = mapoutline(info)
[x,y] = mapoutline(...,'close')
[lon,lat] = mapoutline(R,...)
outline = mapoutline(...)
[x,y] = mapoutline(R,height,width) вычисляет контур изображения с географической привязкой или регулярного набора данных с сеткой в координатах карты. R является либо матрица привязки 3 на 2, определяющим 2-мерное аффинное преобразование из собственных пиксельных координат в координаты карты, либо MapCellsReference или MapPostingsReference объект. height и width - размерности изображения. x и y являются векторы-столбцы 4 на 1, содержащими координаты карты внешних углов угловых пикселей в следующем порядке:
(1,1), (height,1), (height, width), (1, width).
[x,y] = mapoutline(R, sizea) принимает sizea = [height, width, ...] вместо height и width.
[x,y] = mapoutline(info) принимает скалярный массив структур с полями
| 3 на 2 матрицы привязки |
| Скалярное число |
| Скалярное число |
[x,y] = mapoutline(...,'close') возвращает x и y как векторы 5 на 1, добавляя координаты первого из четырех углов к концу.
[lon,lat] = mapoutline(R,...), где R геоссылки пикселей к долготе и широте, а не сопоставить координаты, возвращает контур в географических координатах. Долгота должна предшествовать широте в списке выходных аргументов.
outline = mapoutline(...) возвращает угловые координаты в массиве 4 на 2 или 5 на 2.
Нарисуйте красный контур, очерчивающий изображение Бостона GeoTIFF, которое ссылается на систему координат плоскости материкового штата Массачусеттс с модулями измерения футов.
figure
info = georasterinfo('boston.tif');
R = info.RasterReference;
[x,y] = mapoutline(R,R.RasterSize,'close');
hold on
plot(x,y,'r')
xlabel('MA Mainland State Plane easting, survey feet')
ylabel('MA Mainland State Plane northing, survey feet')info = imfinfo('concord_ortho_w.tif');
R = worldfileread('concord_ortho_w.tfw','planar', ...
[info.Height info.Width]);
[x,y] = mapoutline(R, info.Height, info.Width, 'close');
x = x * unitsratio('sf','meter');
y = y * unitsratio('sf','meter');
plot(x,y,'k')