geoplot3

График географического земного шара

Описание

пример

geoplot3(g,lat,lon,h) строит графики 3-D линии в географическом глобусе, заданном g в вершинах, заданных lat, lon, и h.

пример

geoplot3(___,LineSpec) задает стиль линии, цвет и маркер.

пример

geoplot3(___,Name,Value) задает дополнительные опции для линии, используя один или несколько аргументы пары "имя-значение". Задайте опции после всех других входных параметров. Список опций см. в разделе Свойств линии».

p = geoplot3(___) возвращает Line объект. Этот синтаксис полезен для управления свойствами линии.

Примеры

свернуть все

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

trk = gpxread('sample_mixed','FeatureType','track');
lat = trk.Latitude;
lon = trk.Longitude;
h = trk.Elevation;

Создайте географический глобус. Затем постройте график пути как линии. По умолчанию представление находится непосредственно над данными. Наклоните вид, удерживая Ctrl и перетаскивая мышью.

uif = uifigure;
g = geoglobe(uif);
geoplot3(g,lat,lon,h,'c')

A 3-D line plotted over a region with terrain imagery.

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

Для примера укажите координаты Нью-Йорка и Парижа. Затем постройте линию между ними. Указание на отсутствие данных о высоте путем определения четвертого аргумента geoplot3 как пустой массив. Обратите внимание, что вы не видите линию, потому что она проходит через Землю.

lat = [40.71 48.86];
lon = [-74.01 2.35];
uif = uifigure;
g = geoglobe(uif);
geoplot3(g,lat,lon,[],'y','LineWidth',2)

A globe displaying New York City and Paris. There is no visible line.

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

[latI,lonI] = interpm(lat,lon,0.1,'gc');
geoplot3(g,latI,lonI,[],'y','LineWidth',2)

A globe with a yellow line between New York City and Paris. The entire line is visible.

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

Например, импортируйте данные выборки по береговой линии и постройте график на географическом глобусе. По умолчанию глобус включает данные местности, выведенные из модели GMTED2010. Обратите внимание, что линия выглядит разорванной.

load coastlines
uif = uifigure;
g = geoglobe(uif);
p = geoplot3(g,coastlat,coastlon,[],'m');

A globe with a magenta line along coastlines. The line appears broken.

Чтобы увидеть линию, установите Terrain свойство земного шара, чтобы 'none'. Укажите, что нанесенные данные находятся на WGS84 эталонном эллипсоиде путем установки HeightReference свойство линии, чтобы 'ellipsoid'. Обратите внимание, что линия видна по основной карте.

g.Terrain = 'none';
p.HeightReference = 'ellipsoid';

A globe with a cyan line along coastlines. The line is visible over the basemap.

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

trk = gpxread('sample_mixed','FeatureType','track');
lat = trk.Latitude;
lon = trk.Longitude;
h = trk.Elevation;

Создайте географический глобус. Затем постройте график данных с помощью маркеров круга. Постройте график маркера в каждой 25-й точке данных путем установки MarkerIndices свойство.

uif = uifigure;
g = geoglobe(uif);
mskip = 1:25:length(lat);
geoplot3(g,lat,lon,h,'co','MarkerIndices',mskip)

Circle markers plotted over a region with terrain imagery.

Постройте график линии от поверхности Гросс- Резервуар до точки выше Южного Боулдера.

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

lat = [39.95384 39.95];
lon = [-105.29916 -105.3608];
hTerrain = [10 0];

Постройте график линии на географическом глобусе. Укажите, что значения высоты привязываются к местности с помощью HeightReference свойство. По умолчанию представление находится непосредственно над данными. Наклоните вид, удерживая Ctrl и перетаскивая мышью.

uif = uifigure;
g = geoglobe(uif);
geoplot3(g,lat,lon,hTerrain,'y','HeightReference','terrain', ...
    'LineWidth',3)

A 3-D line plotted from the surface of a reservoir to a point above a peak.

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

свернуть все

Географический глобус, заданный как GeographicGlobe объект.[1]

Геодезические широты в степенях, заданные в виде вектора.

lat и lon должен быть одинаковым размером.

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

Геодезические долготы в степенях, заданные в виде вектора.

lat и lon должен быть одинаковым размером.

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

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

Ссылка значения высоты в WGS84 ссылки эллипсоид путем установки HeightReference свойство линии, чтобы 'ellipsoid'. Ссылка значений высоты к местности или земле путем установки HeightReference свойство к 'terrain'.

h должен быть либо скаляром, либо вектором того же размера, что и lat и lon. Если h является скаляром, затем каждая точка строится на одной высоте.

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

Стиль линии, цвет и маркер задается как вектор символов или строка , содержащая символы. Символы могут появиться в любом порядке. Вам не нужно задавать все три характеристики (стиль линии, маркер и цвет). Например, если вы опускаете стиль линии и задаете маркер, то на графике отображается только маркер и нет линии.

Пример: '-or' - красная сплошная линия с маркерами окружностей

Стиль линии и маркерОписание
-Сплошная линия (по умолчанию)
oМаркер круга
ЦветОписание

y

желтый

m

пурпурный

c

голубой

r

красный

g

зеленый

b

синий

w

белый

k

черный

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: geoplot3(g,1:10,1:10,1:10,'Color','r') изменяет цвет линии

Примечание

Перечисленные здесь свойства являются только подмножеством. Полный список см. в разделе Свойств линий».

Ссылка по высоте, заданная в качестве одного из следующих значений:

  • 'geoid' - Значения высоты относятся к геоиду (среднему уровню моря).

  • 'terrain' - Значения высоты относятся к земле.

  • 'ellipsoid' - Значения высоты относятся к WGS84 эталонному эллипсоиду.

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

Цвет линии, заданный как триплет RGB, шестнадцатеричный код цвета, название цвета или краткое имя. Значение по умолчанию [0 0 0] соответствует черному.

Для пользовательского цвета укажите триплет RGB или шестнадцатеричный код цвета.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; для примера, [0.4 0.6 0.7].

  • Шестнадцатеричный код цвета - это вектор символов или строковый скаляр, который начинается с хэш-символа (#), за которым следуют три или шесть шестнадцатеричных цифр, которые могут варьироваться от 0 на F. Значения не зависят от регистра. Таким образом, цветовые коды '#FF8800', '#ff8800', '#F80', и '#f80' являются эквивалентными.

Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены именованные опции цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое имяТриплет RGBШестнадцатеричный цветовой кодВнешность
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'Не применяетсяНе применяетсяНе применяетсяНет цвета

Вот триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию MATLAB® использует на многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешность
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Пример: 'blue'

Пример: [0 0 1]

Пример: '#0000FF'

Стиль линии, заданный как один из следующих опций:

Стиль линииОписаниеРезультирующая линия
'-'Сплошная линия (по умолчанию)

'none'Нет линииНет линии

Символ маркера, заданный как 'none' или 'o'. По умолчанию линия не отображает маркеры. Задайте 'o' отображение маркеров окружностей в каждой точке данных или вершине.

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

Ограничения

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

Введенный в R2020a

[1] Выравнивание контуров и меток областей является представлением функции, предоставляемой поставщиками данных, и не подразумевает одобрения MathWorks®.