Вычисление контура географического изображения или сетки данных
[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')