geoplayer

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

Описание

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

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

  • Чтобы отобразить положение транспортного средства как, он ведет машину по маршруту, используйте plotPosition функция. Можно построить положение нескольких транспортных средств на различных маршрутах одновременно путем определения уникального ID дорожки для каждого маршрута. Для получения дополнительной информации смотрите 'TrackID' аргумент пары "имя-значение" на 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' basemap.

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

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

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

'streets-light' basemap.

'streets-light'

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

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

'streets-dark' basemap.

'streets-dark'

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

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

'satellite' basemap.

'satellite'

Полная глобальная основная карта состоит из спутниковых снимков с высоким разрешением.

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

'topographic' basemap.

'topographic'

Карта общего назначения с моделированием, чтобы изобразить топографические функции.

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

'landcover' basemap.

'landcover'

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

Созданная использующая Естественная Земля.

'colorterrain' basemap.

'colorterrain'

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

Созданная использующая Естественная Земля.

'grayterrain' basemap.

'grayterrain'

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

Созданная использующая Естественная Земля.

'bluegreen' basemap.

'bluegreen'

Двухцветная, океанская землей карта со светло-зелеными контактными площадками и голубыми водными областями.

Созданная использующая Естественная Земля.

'grayland' basemap.

'grayland'

Двухцветная, океанская землей карта с серыми контактными площадками и областями белой воды.

Созданная использующая Естественная Земля.

'darkwater' basemap.

'darkwater'

Двухцветная, океанская землей карта со светло-серыми контактными площадками и темно-серыми водными областями. Эта основная карта установлена с MATLAB®.

Созданная использующая Естественная Земля.

Нет данных

'none'

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

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

Если у вас нет сопоставимого доступа к Интернету, можно загрузить basemaps, созданный с помощью Естественной Земли на локальную систему при помощи Add-On Explorer. basemaps, размещенные Esri, не доступны для скачивания. Для получения дополнительной информации о загрузке basemaps, смотрите доступ к Basemaps для Географических Осей и Графиков.

basemaps, размещенные Esri периодически, обновляются. В результате вы можете видеть различия в своей визуализации в зависимости от времени.

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

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

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

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

Перецентральное отображение на основе заданного ID дорожки в виде положительного целого числа. geoplayer возразите повторно сосредотачивает карту когда новое положение, заданное latCenter и lonCenter, перемещения за пределами текущей просматриваемой области карты. Можно также использовать это свойство повторно сосредоточить карту на ранее чертившей дорожке, которая находится вне просматриваемой области. Задайте ID дорожки при помощи 'TrackID' аргумент пары "имя-значение", когда вы вызываете plotPosition объектная функция.

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

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

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

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

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

Примеры

свернуть все

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

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-*')

Постройте несколько маршрутов одновременно в географическом проигрывателе. Во-первых, присвойте каждый маршрут уникальный идентификатор. Затем при графическом выводе точек на маршрутах с помощью plotPosition возразите функции, задайте идентификатор маршрута с помощью 'TrackID' аргумент пары "имя-значение". В этом примере маршруты помечены Vehicle 1 и Vehicle 2. Этот снимок экрана показывает точку, где два маршрута собираются секущие цепи.

Загрузите данные для маршрута.

data = load('geoRoute.mat');

Извлеките данные для первого транспортного средства.

lat1 = data.latitude;
lon1 = data.longitude;

Создайте синтетический маршрут для второго транспортного средства, которое управляет тем же маршрутом в противоположном направлении.

lat2 = flipud(lat1);
lon2 = flipud(lon1);

Создайте geoplayer объект. Инициализируйте проигрыватель, чтобы отобразить последние 10 позиций линии, запаздывающей текущее положение.

zoomLevel = 12;
player = geoplayer(lat1(1),lon1(1),zoomLevel,...
    'HistoryDepth',10,'HistoryStyle','line');

Постройте положения обоих транспортных средств, когда они отодвигаются маршрут. Задайте ID для каждой дорожки при помощи 'TrackID' аргумент пары "имя-значение". По умолчанию, geoplayer центры объекта отображение транспортного средства на первой дорожке. Можно сосредоточить отображение на других дорожках при помощи CenterOnID свойство geoplayer объект.

loopCounter = length(lat1);
for i = 1:loopCounter
     plotPosition(player,lat1(i),lon1(i),'TrackID',1,'Label','Vehicle 1');
     plotPosition(player,lat2(i),lon2(i),'TrackID',2,'Label','Vehicle 2');
end

Ограничения

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

Больше о

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

Советы

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

Введенный в R2018a