exponenta event banner

Кампус

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

Описание

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

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