Эффекты освещения могут обеспечить важные визуальные подсказки, когда карты вертикального изменения объединены с другими видами данных. Штриховка, следующая из подсветки поверхности, позволяет "драпировать" спутниковые данные по сетке вертикальных изменений. Распространено использовать этот вид отображения, чтобы наложить изображения типа поверхности, на которые геоссылаются, от Наземных спутников, таких как LANDSAT и SPOT на топографии из цифровых моделей вертикального изменения.
Когда вертикальное изменение и сетки данных изображения соответствуют пиксель для пикселя тем же географическим точкам, можно создать такие отображения с помощью дополнительных высотных аргументов в поверхностных функциях отображения. Если они не делают, можно интерполировать одну или обе исходных сетки к общей mesh.
Если вы хотите объединить вертикальное изменение и атрибут (цвет) сетки данных, которые покрывают ту же область, но с координатной сеткой по-другому, необходимо передискретизировать одну матрицу, чтобы быть сопоставимыми с другим. Таким образом, можно создать определенную геолокацию версию сетки регулярных значений сетки данных или создать регулярную версию сетки определенных геолокацию значений сетки данных.
Помогает, является ли по крайней мере одна из сеток определенной геолокацию сеткой данных, потому что их явные горизонтальные координаты позволяют им передискретизироваться с помощью 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
Используйте view
получить юго-восточную перспективу поверхности с низкой точки зрения. В 3-D вы видите топографию, а также наклон.
view(20,30)
daspectm('meter',200)
Использование рендеринга значения по умолчанию фасетировало штриховку (никакая сплайн-интерполяция). Сделайте поверхность блестящей со штриховкой Гура и задайте подсветку с востока (значение по умолчанию camlight
световые сигналы появляются из-за правого плеча средства просмотра).
material shiny camlight lighting Gouraud
Удалите пробел и просмотрите фигуру в перспективном режиме.
axis tight ax = gca; ax.Projection = 'perspective';
В этом примере показано, как создать новую обычную сетку данных, которая покрывает область определенной геолокацию сетки данных, затем встройте цветные значения данных в новую матрицу. Новая матричная сила должна иметь несколько более низкое разрешение, чем оригинал, чтобы гарантировать, что каждая ячейка в новой карте получает значение. Пример комбинирует отличающиеся сетки данных путем создания новой обычной сетки данных, которая покрывает область определенных геолокацию 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