Визуализация потоковых данных географических карт
A geoplayer объект - это географический проигрыватель, отображающий на карте потоковые координаты маршрута движения.
Для отображения маршрута движения транспортного средства используйте plotRoute функция.
Для отображения положения транспортного средства при его движении по маршруту используйте plotPosition функция. Можно построить график положения нескольких транспортных средств на разных маршрутах одновременно, указав уникальный идентификатор пути для каждого маршрута. Дополнительные сведения см. в разделе 'TrackID' аргумент пары имя-значение на plotPosition.
Изменение базовой карты или базовой карты geoplayer объект, обновите Basemap свойства объекта. Дополнительные сведения см. в разделе Настраиваемые базовые карты.
player = geoplayer(___, задает свойства, используя одну или несколько пар имя-значение, в дополнение к указанию входных аргументов из предыдущих синтаксисов. Например, Name,Value)geoplayer(45,0,'HistoryDepth',5) создает географический игрок с центром в координате широты-долготы (45, 0) и устанавливает HistoryDepth такое свойство, что игрок отображает пять предыдущих географических координат.
latCenter - Координата широтыКоордината широты, при которой географический игрок центрируется, заданная как действительный скаляр в диапазоне (-90, 90).
Типы данных: single | double
lonCenter - Координата долготыКоордината долготы, при которой географический игрок центрируется, заданная как действительный скаляр в диапазоне [-180, 180].
Типы данных: single | double
zoomLevel - Увеличение15 | целое число в диапазоне [0, 25]Увеличение географического игрока, указанное как целое число в диапазоне [0, 25]. Это увеличение происходит в логарифмическом масштабе с основанием 2. Увеличение zoomLevel на один удваивает масштаб карты.
HistoryDepth - Количество предыдущих географических координат для отображения0 (по умолчанию) | неотрицательное целое число | InfКоличество отображаемых предыдущих географических координат, указанных как неотрицательное целое число или Inf. Значение 0 отображает только текущие географические координаты. Значение Inf отображает все географические координаты, ранее выведенные на печать с помощью plotPosition функция.
Это свойство можно задать только при создании объекта. После создания объекта это свойство доступно только для чтения.
HistoryStyle - Стиль отображаемых географических координат'point' (по умолчанию) | 'line'Стиль отображаемых географических координат, указанных как одно из следующих значений:
'point' - Отображение координат в виде дискретных, несвязанных точек.
'line' - отображение координат в виде одной соединяемой линии.
Это свойство можно задать при создании объекта. После создания объекта это свойство доступно только для чтения.
Basemap - Карта для печати данных'streets' (по умолчанию) | 'streets-light' | 'streets-dark' | 'satellite' | 'topographic' | ...Карта для печати данных, указанная как одно из имен базовой карты в этой таблице. 'none'или пользовательская базовая карта, определенная с помощью addCustomBasemap функция. Дополнительные сведения о добавлении пользовательских базовых карт см. в разделе Пользовательские базовые карты. Примеры того, как добавить пользовательские базовые карты, см. Отображение данных на OpenStreetMap Basemap и Отображение данных карты на HERE Basemap.
|
|
Данные карты улиц, составленные из плиток географических карт с использованием карты улиц мира, предоставленной Esri ®. Для получения дополнительной информации о карте см. Карту улиц мира на сайте Esri ArcGIS. Ведет Эсри. |
|
Карта, предназначенная для обеспечения географического контекста при выделении пользовательских данных на световом фоне. Ведет Эсри. |
|
|
Карта, предназначенная для обеспечения географического контекста с выделением пользовательских данных на темном фоне. Ведет Эсри. |
|
Полная глобальная базовая карта, состоящая из спутниковых снимков высокого разрешения. Ведет Эсри. |
|
|
Карта общего назначения с стилем для отображения топографических элементов. Ведет Эсри. |
|
Карта, объединяющая спутниковые данные о земном покрове, затененный рельеф и рельеф дна океана. Световая, естественная палитра подходит для тематических и справочных карт. Создан с помощью Natural Earth. |
|
|
Затененная карта подреза смешана с палитрой земного покрова. Влажные низменности зелёные, а засушливые - коричневые. Создан с помощью Natural Earth. |
|
Карта местности в оттенках серого. Затененный рельеф подчеркивает как высокие горы, так и микроместность, встречающуюся в низинах. Создан с помощью Natural Earth. |
|
|
Двухтонная карта суши и океана со светло-зелеными районами суши и светло-синими водными районами. Создан с помощью Natural Earth. |
|
Двухтонная карта суши и океана с серыми участками суши и белыми акваториями. Создан с помощью Natural Earth. |
|
|
Двухтонная карта суши и океана со светло-серыми районами суши и темно-серыми водными районами. Эта базовая карта установлена с MATLAB ®. Создан с помощью Natural Earth. | Н/Д |
Географические оси отображают данные с сеткой широты-долготы, засечками и метками, но не включают карту. |
По умолчанию для доступа к базовым картам требуется подключение к Интернету. Исключение составляет 'darkwater' basemap, которая устанавливается с MATLAB.
Если у вас нет согласованного доступа к Интернету, можно загрузить базовые карты, созданные с помощью Natural Earth, в локальную систему с помощью проводника Add-On Explorer. Базовые карты, размещенные Esri, недоступны для загрузки. Дополнительные сведения о загрузке базовых карт см. в разделе Доступ к базовым картам для географических осей и диаграмм.
Базовые карты, размещаемые Esri, периодически обновляются. В результате с течением времени в визуализациях могут наблюдаться различия.
Выравнивание границ и меток областей является представлением функции, предоставляемой поставщиками данных, и не подразумевает одобрения MathWorks ®.
Пример: player = geoplayer(latCenter,lonCenter,'Basemap','darkwater')
Пример: player.Basemap = 'darkwater'
Типы данных: char | string
CenterOnID - Отображение повторного ввода на основе указанного идентификатора дорожки[](центр на первой дорожке) (по умолчанию) | положительное целое числоОтображение повторного ввода на основе указанного идентификатора дорожки, заданного как положительное целое число. geoplayer объект повторно вводит карту, когда новое положение, указанное latCenter и lonCenter, перемещается за пределы текущей области видимой карты. Это свойство также можно использовать для повторного ввода карты на ранее построенной дорожке, которая находится вне области визуализации. Определите идентификатор дорожки с помощью 'TrackID' аргумент пары имя-значение при вызове plotPosition объектная функция.
Parent - Родительские оси географического игрокаFigure графический объект | Panel графический объектРодительские оси географического игрока, указанные как Figure графический объект или Panel графический объект. Если не указать Parent, то geoplayer создает географического игрока в новой фигуре.
Это свойство можно задать при создании объекта. После создания объекта это свойство доступно только для чтения.
Axes - Оси, используемые географическим игрокомGeographicAxes объектОси, используемые географическим игроком, указанные как GeographicAxes объект. Используйте эти оси для настройки карты, отображаемой географическим игроком. Пример см. в разделе Настройка географических осей. Дополнительные сведения о свойствах, которые можно настроить, см. в разделе Свойства «Оси».
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 в список базовых карт, доступных для использования с 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);

По умолчанию географический игрок использует базовую карту World Street Map ('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. Чтобы использовать этот пример, необходимо иметь действительную лицензию от HERE Technologies.
Укажите имя базовой карты и URL-адрес карты.
name = 'herestreets'; url = ['https://1.base.maps.ls.hereapi.com/maptile/2.1/maptile/', ... 'newest/normal.day/${z}/${x}/${y}/256/png?apikey=%s'];
Для карт из HERE Technologies требуется действующая лицензия. Создание диалогового окна. В диалоговом окне введите код ключа доступа, соответствующий лицензии HERE.
prompt = {'HERE Access Key ID:'};
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}); 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 object function, укажите идентификатор маршрута с помощью 'TrackID' аргумент пары имя-значение. В этом примере маршруты обозначены как транспортное средство 1 и транспортное средство 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');
Постройте график положения обоих транспортных средств при их движении по маршруту. Укажите идентификатор для каждой дорожки с помощью '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 объект может использовать пользовательские базовые карты от таких поставщиков, как HERE Technologies и OpenStreetMap ®.
Чтобы сделать пользовательскую базовую карту доступной для использования с geoplayer объект, используйте addCustomBasemap функция. После добавления пользовательской базовой карты она остается доступной для использования в будущих сессиях MATLAB, пока не будет удалена с помощью removeCustomBasemap функция.
Чтобы отобразить потоковые координаты на пользовательской базовой карте, укажите имя базовой карты в Basemap имущества geoplayer объект.
Примечание
Для некоторых пользовательских базовых карт для доступа к серверам карт требуется действительная лицензия от поставщика карт.
Когда geoplayer объект отображает позицию, которая находится вне текущего вида карты, объект автоматически прокручивает карту.
addCustomBasemap | geoaxes | geobasemap | geobubble | geolimits | geoplot | latlon2local | local2latlon | removeCustomBasemapИмеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.