campos

Установите или запросите положение камеры для географического земного шара

Описание

Установите положение

campos(g,lat,lon) устанавливает широту и долготу камеры для заданного географического земного шара.

пример

campos(g,lat,lon,height) устанавливает широту, долготу и эллипсоидальную высоту камеры. Если вы хотите установить только высоту камеры, то используйте camheight функцию вместо этого.

Установите режим

campos(g,'auto') устанавливает положение камеры на автоматический режим, позволяя географическому земному шару определить широту и долготу камеры на основе отображенных на графике данных. Значения по умолчанию режима к автоматическому, когда вы создаете географический земной шар. Если вы изменяете положение камеры с помощью мыши, то режим переключается на автоматический. Чтобы управлять режимом для высоты камеры, используйте camheight функцию вместо этого.

пример

campos(g,'manual') устанавливает положение камеры на ручной режим, указывая, что географический земной шар сохраняет широту и долготу камеры, когда отображенные на графике данные изменяются. Если вы изменяете положение камеры с помощью campos функция, затем режим переключается на руководство.

Запросите положение

campos(g) отображает широту, долготу и эллипсоидальную высоту камеры как трехэлементный вектор.

пример

[latOut,lonOut,heightOut] = campos(___) устанавливает положение или режим и затем возвращает широту, долготу и высоту камеры. Можно возвратить положение камеры с помощью любого из предыдущих синтаксисов.

Примеры

свернуть все

Создайте географический земной шар. Задайте широту и долготу Эйфелевой башни, и задайте высоту, которая является на 400 метров выше опорного эллипсоида WGS84. Используйте эти значения, чтобы переместить камеру.

uif = uifigure;
g = geoglobe(uif);

lat = 48.8584;
lon = 2.2945;
h = 400;
campos(g,lat,lon,h)

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

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

uif = uifigure;
g = geoglobe(uif);

Bird's-eye view of Hawaii

Запросите широту, долготу и эллипсоидальную высоту камеры, и присвойте каждого переменной.

[camlat,camlon,camh] = campos(g)
camlat =

   18.1781


camlon =

 -155.9297


camh =

   6.6664e+04

Запросите заголовок, тангаж и крен камеры, и присвойте каждого переменной.

heading = camheading(g)
pitch = campitch(g)
roll = camroll(g)
heading =

   16.7613


pitch =

  -24.1507


roll =

  359.9977

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

uif2 = uifigure;
g2 = geoglobe(uif2);
campos(g2,camlat,camlon,camh)
camheading(g2,heading)
campitch(g2,pitch)
camroll(g2,roll)

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

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

track = gpxread('sample_tracks.gpx','Index',2);
lat = track.Latitude;
lon = track.Longitude;
height = track.Elevation;

uif = uifigure;
g = geoglobe(uif,'Basemap','streets','Terrain','none');
hold(g,'on')

Map of an area around Eastern Massachusetts with labeled cities and roads

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

campos(g,'manual')
camheight(g,'manual')
camheading(g,'manual')
campitch(g,'manual')
camroll(g,'manual')
geoplot3(g,lat,lon,height,'LineWidth',3)

The same map with a blue line plotted along several roads

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

свернуть все

Географический земной шар в виде GeographicGlobe объект.[1]

Геодезическая широта камеры в виде числового скаляра в области значений [–90, 90] степени.

Геодезическая долгота камеры в виде числового скаляра в области значений [–360, 360].

Эллипсоидальная высота камеры в виде числового скаляра в метрах. Географические объекты земного шара используют опорный эллипсоид WGS84. Для получения дополнительной информации об эллипсоидальной высоте, смотрите, Находят Эллипсоидальную Высоту от Ортометрической Высоты.

Если вы задаете высоту так, чтобы камера находилась на одном уровне с или ниже ландшафта, то campos функционируйте устанавливает высоту на значение на один метр выше ландшафта.

Выходные аргументы

свернуть все

Геодезическая широта камеры, возвращенной в виде числа в градусах.

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

Эллипсоидальная высота камеры, возвращенной в виде числа в метрах. Географические объекты земного шара используют опорный эллипсоид WGS84. Для получения дополнительной информации об эллипсоидальной высоте, смотрите, Находят Эллипсоидальную Высоту от Ортометрической Высоты.

Введенный в R2020b

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