Драпируйте данные по картам вертикального изменения

Объедините карты вертикального изменения с другими видами данных

Эффекты освещения могут обеспечить важные визуальные подсказки, когда карты вертикального изменения объединены с другими видами данных. Штриховка, следующая из подсветки поверхности, позволяет "драпировать" спутниковые данные по сетке вертикальных изменений. Распространено использовать этот вид отображения, чтобы наложить изображения типа поверхности, на которые геоссылаются, от Наземных спутников, таких как LANDSAT и SPOT на топографии из цифровых моделей вертикального изменения.

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

Драпируйте данные по ландшафту с различным Gridding

Если вы хотите объединить вертикальное изменение и атрибут (цвет) сетки данных, которые покрывают ту же область, но с координатной сеткой по-другому, необходимо передискретизировать одну матрицу, чтобы быть сопоставимыми с другим. Таким образом, можно создать определенную геолокацию версию сетки регулярных значений сетки данных или создать регулярную версию сетки определенных геолокацию значений сетки данных.

Помогает, является ли по крайней мере одна из сеток определенной геолокацию сеткой данных, потому что их явные горизонтальные координаты позволяют им передискретизироваться с помощью geointerp функция. Эти примеры показывают, как драпировать данные по ландшафту с различным gridding.

Объедините отличающиеся сетки путем преобразования обычной сетки в определенную геолокацию сетку данных

В этом примере показано, как объединить сетку данных о вертикальном изменении и атрибут (цвет) сетка данных, которые покрывают ту же область, но с координатной сеткой по-другому. Пример драпирует наклонные данные из обычной сетки данных сверху данных о вертикальном изменении из определенной геолокацию сетки данных. Пример использует определенную геолокацию сетку данных в качестве источника для поверхностных вертикальных изменений и преобразовывает обычную сетку данных в наклонные значения, которые затем произведены, чтобы соответствовать определенной геолокацию сетке данных (создающий набор наклонных значений для ромбовидной сетки) и нанесены цветную маркировку для поверхностного отображения. Этот подход работает с любыми отличающимися сетками, несмотря на то, что эти два набора данных в этом примере на самом деле имеют тот же источник (определенная геолокацию сетка выводит из topo60c набор данных).

Загрузите определенную геолокацию сетку данных от mapmtx файл и обычная сетка данных от topo60c файл. mapmtx файл на самом деле содержит две области, но этот пример только использует ромбовидный фрагмент, lt1, lg1, и map1, сосредоточенный на Ближнем Востоке.

load mapmtx lt1 lg1 map1 
load topo60c

Вычислите поверхностный аспект, наклон и градиенты для topo60c. Этот пример только использует наклоны на последующих шагах.

[aspect,slope,gradN,gradE] = gradientm(topo60c,topo60cR);

Используйте geointerp функция, чтобы интерполировать наклонные значения к определенной геолокацию сетке, заданной lt1 и lg1 . Выход 50 50 сетка вертикальных изменений, совпадающих с покрытием map1 переменная.

slope1 = geointerp(slope,topo60cR,lt1,lg1);

Настройте фигуру с проекцией Миллера и используйте surfm отобразить наклонные данные. Задайте z - значения для поверхности явным образом как map1 данные, которые являются вертикальным изменением ландшафта. Карта в основном изображает крутые утесы, которые представляют горы (Гималаи на северо-востоке), и континентальные шельфы и канавки.

figure 
axesm miller
surfm(lt1,lg1,slope1,map1)

Окраска изображает крутизну наклона. Измените палитру, чтобы сделать самый крутой пурпурный наклонов, более нежные наклоны темно-синий, и плоские области голубой:

colormap cool

Figure contains an axes object. The axes object contains an object of type surface.

Используйте view получить юго-восточную перспективу поверхности с низкой точки зрения. В 3-D вы видите топографию, а также наклон.

view(20,30)
daspectm('meter',200)

Использование рендеринга значения по умолчанию фасетировало штриховку (никакая сплайн-интерполяция). Сделайте поверхность блестящей со штриховкой Гура и задайте подсветку с востока (значение по умолчанию camlight световые сигналы появляются из-за правого плеча средства просмотра).

material shiny
camlight
lighting Gouraud

Удалите пробел и просмотрите фигуру в перспективном режиме.

axis tight
ax = gca;
ax.Projection = 'perspective';

Figure contains an axes object. The axes object contains an object of type surface.

Драпируйте Определенную геолокацию Сетку на Обычной Сетке Данных через Отображение текстур

В этом примере показано, как создать новую обычную сетку данных, которая покрывает область определенной геолокацию сетки данных, затем встройте цветные значения данных в новую матрицу. Новая матричная сила должна иметь несколько более низкое разрешение, чем оригинал, чтобы гарантировать, что каждая ячейка в новой карте получает значение. Пример комбинирует отличающиеся сетки данных путем создания новой обычной сетки данных, которая покрывает область определенных геолокацию z-данных сетки данных. Этот подход имеет преимущество, что больше вычислительных функций доступно для обычных сеток данных, чем для определенных геолокацию единиц. Цвет и сетки вертикального изменения не должны быть одного размера. Если разрешения двух сеток данных отличаются, можно создать поверхность как 3D карту вертикального изменения и позже применить цвета как текстурную карту. Вы делаете это путем установки поверхностного CData свойство содержать матрицу цветов и выбирание поверхностного цвета поверхности к 'texturemap'.

Загрузите растровые данные о вертикальном изменении и географический объект ссылки ячеек от topo60c.mat. Получите отдельные переменные, содержащие данные о ландшафте из mapmtx.mat.

load topo60c
load mapmtx lt1 lg1 map1

Идентифицируйте географические пределы определенной геолокацию сетки, которая загрузилась от mapmtx.

latlim(1) = 2*floor(min(lt1(:))/2);
lonlim(1) = 2*floor(min(lg1(:))/2);
latlim(2) = 2*ceil(max(lt1(:))/2);
lonlim(2) = 2*ceil(max(lg1(:))/2);

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

[topo1,topo1R] = geocrop(topo60c,topo60cR,latlim,lonlim);

Выделите обычную сетку, заполненную однородно -Inf, получить данные о структуре.

L1R = georefcells(latlim,lonlim,2,2);
L1 = zeros(L1R.RasterSize);
L1 = L1 - Inf;

Перезапишите L1 использование imbedm, преобразование его от определенной геолокацию сетки до обычной сетки, в которой значения прибывают из дискретного Лапласиана сетки вертикального изменения map1.

L1 = imbedm(lt1,lg1,del2(map1),L1,L1R);

Настройте карту оси с проекцией Миллера и используйте meshm отобразить обрезанные данные. Представьте фигуру как 3-D представление от 20 азимутов степени и 30 высот степени, и преувеличьте измерение по вертикали на коэффициент 200. И поверхностное облегчение и окраска представляют топографическое вертикальное изменение.

figure 
axesm miller
h = meshm(topo1,topo1R,size(topo1),topo1);
view(20,30)
daspectm('m',200)

Примените L1 матрица как текстурная карта непосредственно на поверхность с помощью set функция. Область, не покрытая [lt1,lg1,map1] определенная геолокацию сетка данных кажется темно-синей, потому что соответствующие элементы L1 были установлены в -Inf.

h.CData = L1;
h.FaceColor = 'texturemap';
material shiny 
camlight
lighting gouraud
axis tight

Figure contains an axes object. The axes object contains an object of type surface.

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

Функции

Похожие темы

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