геопроигрыватель

Визуализируйте передающие потоком географические данные о карте

Описание

Объект geoplayer является географическим проигрывателем, который отображает координаты потоковой передачи ведущего маршрута на карте.

  • Чтобы отобразить ведущий маршрут автомобиля, используйте функцию plotRoute.

  • Чтобы отобразить положение автомобиля как, он ведет машину по маршруту, используйте функцию plotPosition.

  • Чтобы изменить базовую карту или basemap, объекта geoplayer, обновляют свойство Basemap объекта. Для получения дополнительной информации смотрите Пользовательский Basemaps.

Создание

Синтаксис

player = geoplayer(latCenter,lonCenter)
player = geoplayer(latCenter,lonCenter,zoomLevel)
player = geoplayer(___,Name,Value)

Описание

player = geoplayer(latCenter,lonCenter) создает географический проигрыватель, сосредоточенный в широте координируют latCenter, и долгота координируют lonCenter.

пример

player = geoplayer(latCenter,lonCenter,zoomLevel) создает географический проигрыватель с увеличением карты, заданным zoomLevel.

пример

player = geoplayer(___,Name,Value) свойства наборов с помощью одной или нескольких пар "имя-значение", в дополнение к определению входных параметров от предыдущих синтаксисов. Например, geoplayer(45,0,'HistoryDepth',5) создает географический проигрыватель, сосредоточенный в координате долготы широты (45, 0), и устанавливает свойство HistoryDepth, таким образом, что проигрыватель отображает пять предыдущих географических координат.

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

развернуть все

Координата широты, в которой сосредоточен географический проигрыватель, задала как действительный скаляр в области значений (–90, 90).

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

Координата долготы, в которой сосредоточен географический проигрыватель, задала как действительный скаляр в области значений [–180, 180].

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

Увеличение географического проигрывателя, заданного как целое число в области значений [0, 25]. Это увеличение происходит на логарифмическом масштабе с основой 2. При увеличении zoomLevel каждый удваивает шкалу карты.

Свойства

развернуть все

Количество предыдущих географических координат, чтобы отобразиться, заданный как неотрицательное целое число или Inf. Значение 0 отображает только текущие географические координаты. Значение Inf отображается, все географические координаты ранее построили использование функции plotPosition.

Можно установить это свойство только, когда вы создаете объект. После того, как вы создадите объект, это свойство только для чтения.

Стиль отображенных географических координат, заданных как одно из этих значений:

  • 'point' — Отобразите координаты как дискретные, несвязанные точки.

  • строка Отобразите координаты как одну связанную строку.

Можно установить это свойство, когда вы создаете объект. После того, как вы создадите объект, это свойство только для чтения.

Сопоставьте, по которому можно отобразить на графике данные, заданные как одно из имен основной карты в этой таблице, 'none', или пользовательская основная карта задала использование функции addCustomBasemap. Для получения дополнительной информации о добавлении пользовательского basemaps смотрите Пользовательский Basemaps.

'streets' (значение по умолчанию)

Данные о карте города, состоявшие из географических мозаик карты с помощью Мировой Карты города, предоставленной Esri®. Для получения дополнительной информации о карте, см. Мировую Карту города на веб-сайте Esri ArcGIS.

Размещенный Esri.

'darkwater'

Контактные площадки: серый свет-к-умеренному

Океанские и водные области: более темно-серый

Размещенный MathWorks® и выведенный от данных об общественном достоянии.

'grayterrain'

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

Размещенный MathWorks.

'grayland'

Контактные площадки: свет-к-умеренному серая земля

Океанские и водные области: белый

Размещенный MathWorks.

'colorterrain'

Теневая вспомогательная карта смешивается с палитрой растительного покрова. Влажная низменность является зеленой и засушливой коричневой низменностью.

Размещенный MathWorks.

'bluegreen'

Контактные площадки: светло-зеленый

Океанские и водные области: голубой

Размещенный MathWorks.

'landcover'

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

Размещенный MathWorks.

Нет данных

'none'

Географические оси отображают ваши данные на графике с сеткой долготы широты, метками деления и метками, но не включают карту.

По умолчанию доступ к basemaps требует Интернет-соединения. Исключением является основная карта 'darkwater', которая установлена с MATLAB®.

Если у вас нет сопоставимого доступа к Интернету, можно загрузить basemaps, размещенный MathWorks на локальную систему. Для получения дополнительной информации о загрузке basemaps, см. Доступ к базовым картам в MATLAB (MATLAB). Вы не можете загрузить basemaps, размещенный Esri.

Пример: player = geoplayer(latCenter,lonCenter,'Basemap','darkwater')

Пример: player.Basemap = 'darkwater'

Типы данных: char | string

Родительские оси географического проигрывателя, заданного как графический объект Figure или графический объект Panel. Если вы не задаете Parent, то geoplayer создает географический проигрыватель в новой фигуре.

Можно установить это свойство, когда вы создаете объект. После того, как вы создадите объект, это свойство только для чтения.

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

Функции объекта

plotPositionОтобразите текущее положение в фигуре геопроигрывателя
plotRouteОтобразите непрерывный маршрут в фигуре геопроигрывателя
resetУдалите все существующие графики от фигуры геопроигрывателя
showЗаставьте геопроигрыватель фигурировать видимый
hideЗаставьте геопроигрыватель фигурировать невидимый
isOpenВозвратите true, если фигура геопроигрывателя видима

Примеры

свернуть все

Загрузите последовательность координат широты и долготы.

data = load('geoSequence.mat');

Создайте географический проигрыватель и сконфигурируйте его, чтобы отобразить все точки в его истории.

zoomLevel = 17;
player = geoplayer(data.latitude(1),data.longitude(1),zoomLevel,'HistoryDepth',Inf);

Отобразите последовательность координат.

  for i = 1:length(data.latitude)
      plotPosition(player,data.latitude(i),data.longitude(i));
      pause(0.01)
  end

Загрузите последовательность координат широты и долготы.

data = load('geoRoute.mat');

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

player = geoplayer(data.latitude(1),data.longitude(1),12);

Отобразите полный маршрут.

plotRoute(player,data.latitude,data.longitude);

Отобразите координаты в последовательности. Круговой маркер указывает на текущее положение.

for i = 1:length(data.latitude)
    plotPosition(player,data.latitude(i),data.longitude(i));
    pause(0.05)
end

Отобразите ведущий маршрут и положения автомобиля на основной карте OpenStreetMap®.

Добавьте основную карту OpenStreetMap в список basemaps, доступного для использования с объектом geoplayer. После того, как вы добавите основную карту, вы не должны добавлять его снова на будущих сеансах.

name = 'openstreetmap';
url = 'http://a.tile.openstreetmap.org/${z}/${x}/${y}.png';
copyright = char(uint8(169));
attribution = copyright + "OpenStreetMap contributors";
addCustomBasemap(name,url,'Attribution',attribution)

Загрузите последовательность координат широты и долготы.

data = load('geoRoute.mat');

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

zoomLevel = 12;
player = geoplayer(data.latitude(1),data.longitude(1),zoomLevel);

Отобразите полный маршрут.

plotRoute(player,data.latitude,data.longitude);

По умолчанию географический игрок использует Мировую основную карту Карты города ('streets'), обеспеченный Esri®. Обновите географический проигрыватель, чтобы использовать добавленную основную карту OpenStreetMap вместо этого.

player.Basemap = 'openstreetmap';

Отобразите маршрут снова.

plotRoute(player,data.latitude,data.longitude);

Отобразите положения автомобиля в последовательности.

for i = 1:length(data.latitude)
   plotPosition(player,data.latitude(i),data.longitude(i))
end

Отобразите ведущий маршрут на основной карте, обеспеченной HERE Technologies. Чтобы использовать этот пример, у вас должна быть допустимая лицензия отсюда Технологии.

Задайте имя основной карты и сопоставьте URL.

name = 'herestreets';
url  = ['https://2.base.maps.cit.api.here.com/maptile/2.1/maptile/', ...
        'newest/normal.day/${z}/${x}/${y}/256/png?app_id=%s&app_code=%s'];

Карты отсюда Технологии требуют допустимой лицензии. Создайте диалоговое окно. В диалоговом окне введите идентификатор Приложения и Код Приложения, соответствующий вашей лицензии HERE.

prompt = {'HERE App ID:','HERE App Code:'};
title = 'HERE Tokens';
dims = [1 40]; % Text edit field height and width
hereTokens = inputdlg(prompt,title,dims);

Если лицензия допустима, задайте учетные данные HERE и пользовательское приписывание, загрузите координатные данные и отобразите координаты на основной карте HERE с помощью объекта geoplayer. Если лицензия не допустима, отобразите сообщение об ошибке.

if ~isempty(hereTokens)
        
    % Add HERE basemap with custom attribution.
    url = sprintf(url,hereTokens{1},hereTokens{2});
    copyrightSymbol = char(169); % Alt code
    attribution = [copyrightSymbol,' ',datestr(now,'yyyy'),' HERE'];
    addCustomBasemap(name,url,'Attribution',attribution);

    % Load sample lat,lon coordinates.
    data = load('geoSequence.mat');

    % Create geoplayer with HERE basemap.
    player = geoplayer(data.latitude(1),data.longitude(1), ...
        'Basemap','herestreets','HistoryDepth',Inf);
 
    % Display the coordinates in a sequence.
    for i = 1:length(data.latitude)
        plotPosition(player,data.latitude(i),data.longitude(i));
    end

else
    error('You must enter valid credentials to access maps from HERE Technologies');
end

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

Загрузите ведущий маршрут и положения автомобиля вдоль того маршрута.

data = load('geoRoute.mat');

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

zoomLevel = 10;
player = geoplayer(data.latitude(1),data.longitude(1),zoomLevel);

Отобразите полный маршрут.

plotRoute(player,data.latitude,data.longitude);

Отобразите положения автомобиля вдоль маршрута.

for i = 1:length(data.latitude)
    plotPosition(player,data.latitude(i),data.longitude(i))
end

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

geoplot(player.Axes,[data.latitude(1) data.latitude(end)], ...
    [data.longitude(1) data.longitude(end)],'g-*')

Ограничения

  • Географические мозаики карты не доступны для всех местоположений.

Больше о

развернуть все

Советы

  • Когда объект geoplayer строит положение, которое является вне текущего представления карты, объект автоматически прокручивает карту.

Введенный в R2018a