exponenta event banner

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