gradientm

Градиент, уклон и аспект сетки данных

Описание

Регулярные сетки данных

пример

[aspect,slope,gradN,gradE] = gradientm(F,R) возвращает угол аспекта, угол наклона и северные и восточные компоненты градиента для регулярной сетки данных F в отношении географической ссылки R. По умолчанию, gradientm определяет координаты широты и долготы, на которые ссылаются R использование сфероида, содержащегося в Spheroid свойство geocrs объект в GeographicCRS свойство R. Если на GeographicCRS свойство R пуст, тогда geopeaks использует GRS80.

[aspect,slope,gradN,gradE] = gradientm(F,R,spheroid) использует заданный опорный сфероид вместо сфероида, содержащегося в Spheroid свойство geocrs объект в GeographicCRS свойство R или сфероидной GRS80.

Геолокированные сетки данных

[aspect,slope,gradN,gradE] = gradientm(lat,lon,F) возвращает те же значения для геолокированной сетки данных F относительно mesh широта-долгота, заданной lat и lon. По умолчанию широта и долгота указаны в степенях. Значение по умолчанию опорный сфероид GRS80.

[aspect,slope,gradN,gradE] = gradientm(lat,lon,F,spheroid) использует заданный опорный сфероид вместо GRS80.

[aspect,slope,gradN,gradE] = gradientm(lat,lon,F,spheroid,angleUnit) задает модули для широты и долготы следующим 'degrees' (по умолчанию) или 'radians'.

Примеры

свернуть все

Сгенерируйте выборку повышения данных для области вокруг вершины горы с помощью географических проводок ссылки объекта и geopeaks функция. Для этого сначала создайте объект ссылки для области путем определения пределов широты и долготы и размера повышения сетки данных. Затем сгенерируйте данные о повышении для области с помощью geopeaks.

latlim = [10 45];
lonlim = [60 100];
size = [100 100];
R = georefpostings(latlim,lonlim,size);
F = geopeaks(R);

Вычислите углы аспекта, углы наклона и градиентные компоненты данных.

[aspect,slope,gradN,gradE] = gradientm(F,R);

Визуализируйте результаты путем построения графика данных. Сначала постройте график данных о повышении с помощью равноудаленной цилиндрической проекции. Для этого создайте набор осей карты и задайте проекцию используя axesm. Постройте график данных как поверхности с помощью geoshow, и настроить соотношение сторон осей используя daspect. Отображение 3-D вида осей с помощью view.

figure
axesm('eqdcylin');
geoshow(F,R,'DisplayType','surface')
daspect([1 1 5])
title('Elevation Data')
colorbar
view(3)

Figure contains an axes. The axes with title Elevation Data contains an object of type surface.

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

figure
axesm('eqdcylin')
geoshow(gradN,R,'DisplayType','surface')
title('North Components of Gradient')
colorbar

Figure contains an axes. The axes with title North Components of Gradient contains an object of type surface.

figure
axesm('eqdcylin')
geoshow(gradE,R,'DisplayType','surface')
title('East Components of Gradient')
colorbar

Figure contains an axes. The axes with title East Components of Gradient contains an object of type surface.

Постройте график углов наклона. Обратите внимание, что значение угла наклона равно нулю на вершине.

figure
axesm('eqdcylin')
geoshow(slope,R,'DisplayType','surface')
title('Slope Angles')
colorbar

Figure contains an axes. The axes with title Slope Angles contains an object of type surface.

Постройте график углов аспекта. Угол аспекта описывает направление граней склона горы как азимут, измеренный по часовой стрелке с севера.

figure
axesm('eqdcylin')
geoshow(aspect,R,'DisplayType','surface')
title('Aspect Angles')
colorbar

Figure contains an axes. The axes with title Aspect Angles contains an object of type surface.

Входные параметры

свернуть все

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

Если F является регулярной сеткой данных и R является ссылка объекта, тогда size(F) должно быть то же, что и R.RasterSize. Если F является геолокированной сеткой данных, затем size(F) должно быть то же, что и size(lat) и size(lon).

Типы данных: single | double

Географическая ссылка, содержащая информацию о геопространственных ссылках для F, заданное как одно из следующих значений:

  • GeographicCellsReference или GeographicPostingsReference объект, где R.RasterSize то же, что и size(F).

  • 3 на 2 числовая матрица, которая связывает индексы строка и столбец сетки данных с географическими координатами, так что [lon lat] = [row col 1] * R. Матрица должна задать неротационное и нескрытое соотношение, в котором каждый столбец сетки данных падает вдоль меридиана, и каждая строка падает вдоль параллели.

  • Числовой вектор 1 на 3 с элементами [s nlat wlon], где s количество выборок сетки данных на степень, nlat - самая северная широта сетки данных в градусах и wlon - самая западная долгота в степенях.

Для получения дополнительной информации о ссылках на векторы и матрицы, смотрите Georeferenced Raster Data.

Опорный сфероид, заданный как referenceEllipsoid объект, oblateSpheroid объект, referenceSphere объект, или вектор формы [semimajorAxis eccentricity].

Для получения дополнительной информации об эталонных сфероидах смотрите Опорные сфероиды.

Пример: spheroid = referenceEllipsoid(wgs84Ellipsoid);

Широты, заданные как числовая матрица с как минимум двумя строками и двумя столбцами. По умолчанию задайте широты в степенях. Чтобы использовать значения в радианах, задайте angleUnit аргумент как 'radians'.

lat должен быть того же размера, что и lon и F.

Типы данных: single | double

Долготы, заданные как числовая матрица с по крайней мере двумя строками и двумя столбцами. По умолчанию задайте долготу в степенях. Чтобы использовать значения в радианах, задайте angleUnit аргумент как 'radians'.

lon должен быть того же размера, что и lat и F.

Типы данных: single | double

Угловые модули, заданные как 'degrees' (по умолчанию) или 'radians'.

Выходные аргументы

свернуть все

Углы аспекта, возвращенные как матрица того же размера, что и F. Угол аспекта является направлением, в котором F наиболее быстро уменьшается, выражаясь в виде азимута, измеренного по часовой стрелке с севера.

По умолчанию углы аспекта указаны в степенях. Чтобы вернуть значения в радианах, задайте lat и lon в радианах и angleUnit как 'radians'.

Если оба компонента градиента равны нулю, то угол аспекта возвращается следующим NaN.

Типы данных: double

Углы наклона, возвращенные как матрица того же размера, что и F. Чтобы углы наклона имели физический смысл, сетка данных должна задать повышение, а модули ее расстояния должны совпадать с модулем длины эталонного сфероида. В противном случае угол наклона является арктангенсом величины градиента.

По умолчанию углы наклона указаны в степенях. Чтобы вернуть значения в радианах, задайте lat и lon в радианах и angleUnit как 'radians'.

Типы данных: double

Северные компоненты градиента, возвращенные как матрица того же размера, как F. Северным компонентом градиента является изменение R на модуль расстояния в северном направлении, где модуль расстояния соответствует модулю длины опорного сфероида.

Типы данных: double

Восточные компоненты градиента, возвращенные как матрица того же размера, что и F. Восточный компонент градиента является изменением R на модуль расстояния в восточном направлении, где модуль расстояния соответствует модулю длины опорного сфероида.

Типы данных: double

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