areamat

Площадь поверхности покрыта ненулевыми значениями в сетке двоичных данных

Синтаксис

A = areamat(BW,R)
A = areamat(BW,R,ellipsoid)
[A, cellarea] = areamat(...)

Описание

A = areamat(BW,R) возвращает площадь поверхности, покрытую элементами бинарной обычной сетки данных BW, которые содержат значение 1 (true). BW может быть результат логического выражения, такого как BW = (topo60c > 0)R может быть географический объект растровой привязки, вектор ссылки или матрица привязки.

Если R географический объект растровой привязки, его RasterSize свойство должно быть сопоставимо с size(BW) и его RasterInterpretation должен быть 'cells'.

Если R вектор ссылки, это должно быть 1 3 с элементами:

[cells/degree northern_latitude_limit western_longitude_limit]

Если R матрица привязки, это должно быть 3 2 и преобразовать растровые индексы строки и столбца к или от географических координат согласно:

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

Если R матрица привязки, она должна задать (невращательный, нескошенный) отношение, в котором каждый столбец сетки данных падает вдоль меридиана и каждой строки падения вдоль параллели. Интерполяция ближайшего соседа используется по умолчанию. NaN возвращен для точек вне пределов сетки или для который lat или lon содержите NaN. Все углы находятся в модулях степеней.

Выход A площадь поверхности экспрессов как часть площади поверхности сферы единичного радиуса (4*pi), таким образом, результат лежит в диапазоне от 0 до 1.

A = areamat(BW,R,ellipsoid) вычисляет площадь поверхности на эллипсоид или сферу, заданную входом ellipsoid, который может быть referenceSphere, referenceEllipsoid, или oblateSpheroid объект или вектор из формы [semimajor_axis eccentricity]. Модули выхода, A, квадрат единиц длины, в которых обеспечивается полуглавная ось. Например, если ellipsoid заменяется wgs84Ellipsoid('kilometers'), затем A находится в квадратных километрах. Если вы не задаете ellipsoid и R ссылочный объект с непустым GeographicCRS свойство, затем areamat использует эллипсоид, содержавшийся в Spheroid свойство geocrs объект в GeographicCRS свойство R.

[A, cellarea] = areamat(...) возвращает вектор, cellarea, описание области, покрытой по условию ячейки BW. Поскольку все ячейки в данной строке являются точно тем же размером, только одно значение необходимо на строку. Поэтому cellarea имеет размер M-by-1, где M = size(BW,1) количество строк в BW.

Примеры

свернуть все

Найдите площадь поверхности в нормированных единицах части ландшафта Земли, который является над уровнем моря.

Во-первых, загрузите растровые данные о вертикальном изменении и географический объект ссылки ячеек. Растр содержит высоты ландшафта относительно среднего уровня моря. Затем создайте логический массив, представляющий ландшафт над уровнем моря.

load topo60c
topoASL = topo60c > 0;

Найдите площадь поверхности в нормированных единицах элементов массива, которые содержат true.

areamat(topoASL,topo60cR)
ans = 0.2890

Результат означает, что 28,9% ландшафта Земли над уровнем моря.

Найдите площадь поверхности в километрах части ландшафта Земли, который является над уровнем моря.

Во-первых, загрузите растровые данные о вертикальном изменении и географический объект ссылки ячеек. Растр содержит высоты ландшафта относительно среднего уровня моря. Затем создайте ссылочную сферу для Земли и задайте ее модули как километры.

load topo60c
s = referenceSphere('earth','km');

Создайте логический массив, представляющий ландшафт над уровнем моря.

topoASL = topo60c > 0;

Найдите площадь поверхности в километрах элементов массива, которые содержат true.

areamat(topoASL,topo60cR,s)
ans = 1.4739e+08

Результат означает, что приблизительно 147 миллионов квадратных километров ландшафта Земли над уровнем моря.

Советы

Учитывая обычную сетку данных, которая является логической матрицей 0-1, areamat функция возвращает область, соответствующую истине, или 1, элементы. Сетка входных данных может быть логическим оператором, таким как (topo60c > 0), который является 1 везде тем topo60c еще больше 0 метров, и 0 везде. Это - рисунок той матрицы:

Это вычисление на основе areaquad функционируйте и поэтому ограничивается только гранулярностью сотовых данных.

Смотрите также

|

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте