geoplayer

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

Описание

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

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

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

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

Создание

Описание

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' — Отобразите координаты как дискретные, несвязанные точки.

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

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

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

'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 = 'https://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