globe

Структурируйте для 3-D отображения карты

Классификация

Сферический

Идентификатор

globe

Координатная сетка

Это отображение карты не является истинной проекцией карты. Меридианы, параллели и отображенные данные о карте появляются в 3-D представлении, которое зависит от представления и настроек камеры осей карты. Измените представление в интерактивном режиме или при помощи view функция. Измените настройки камеры с помощью camposm, camtargm, и camupm функции.

Функции

В 3-D смысле, globe является верным по своим масштабам, равная область, конформная, минимальная ошибка, и равноотстоящим везде.

Параллели

Земной шар не требует никаких стандартных параллелей.

Комментарии

Когда отображено, земной шар похож на ортогональную азимутальную проекцию, при условии, что Projection свойство осей карты установлено в 'orthographic'.

Примеры

развернуть все

Отобразите высоты геоида из модели геоида EGM96 по 3-D земному шару. Во-первых, получите высоты геоида и географический объект ссылки регистраций. Загрузите данные о широте и долготе береговой линии.

[N,R] = egm96geoid;
load coastlines

Создайте систему координат для 3-D отображения земного шара с помощью axesm. Установите угол обзора для земного шара с помощью view. Выключите фон осей с помощью axis off. Затем отобразите высоты геоида и данные о береговой линии.

axesm('globe','Grid','on')
view(60,60)
axis off
meshm(N,R)
plotm(coastlat,coastlon)

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

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

[latE,lonE] = outlinegeoquad([-35 35],[-30 30],0.25,0.25);
[latI,lonI] = outlinegeoquad([-15 15],[-15 15],0.25,0.25);
latI = flip(latI);
lonI = flip(lonI);

Объедините вершины в один список путем разделения контуров NaN значения.

lat = [latE NaN latI];
lon = [lonE NaN lonI];

Векторы lat и lon представляйте контуры многоугольника, которые содержат отверстие. Отобразите контуры на земном шаре как заполненный многоугольник путем преобразования многоугольника в сетку данных.

Для этого создайте географический объект ссылки ячеек для земного шара и сетки из единиц. Замените элементы сетки с данными о многоугольнике с помощью vec2mtx функция. Новая сетка содержит 0s, чтобы указать на внутреннюю область многоугольника, 1 с, чтобы указать на контуры, и 2 с, чтобы указать на внешнюю область многоугольника.

R = georefcells([-90 90],[-180 180],0.25,0.25);
V = ones(R.RasterSize);
[V,R] = vec2mtx(lat,lon,V,R,'filled');

Создайте земной шар с помощью axesm функция. Отобразите сетку данных как изображение с помощью geoshow функция. Настройте палитру, таким образом, внутренняя область многоугольника является фиолетовой, и внешняя область является белой. Измените угол обзора камеры с помощью view функция, таким образом, многоугольник отображен на близкой стороне земного шара.

axesm('globe','Grid','on')
geoshow(V,R,'DisplayType','texturemap')
colormap([0.5 0.5 0.8; 0 0 0; 1 1 1])
axis off
view(100,20)

Внешний вид многоугольников на земном шаре зависит от угла обзора камеры и прозрачности земного шара. Например, сделайте земной шар немного прозрачным использованием alpha функция.

alpha(0.6)

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

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