geoplot3

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

Описание

пример

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

пример

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

пример

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

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 object.[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') изменяет цвет линии

Примечание

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

Ссылка высоты в виде одного из этих значений:

  • '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®.