Визуализация потоковых данных географической карты
A geoplayer
объект является географическим проигрывателем, который отображает потоковые координаты ведущего маршрута на карте.
Чтобы отобразить маршрут движения транспортного средства, используйте plotRoute
функция.
Чтобы отобразить положение транспортного средства во время движения по маршруту, используйте plotPosition
функция. Вы можете построить график положения нескольких транспортных средств на разных маршрутах одновременно, задав уникальный идентификатор пути для каждого маршрута. Для получения дополнительной информации смотрите 'TrackID'
аргумент пары "имя-значение" plotPosition
.
Чтобы изменить базовую карту или basemap 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 и Отображение Map Data на HERE Basemap.
|
Данные уличной карты, составленные из плитки географической карты с использованием карты World Street Map, предоставленной Esri®. Для получения дополнительной информации о карте смотрите World Street Map на сайте Esri ArcGIS. Организатор - Эсри. |
|
Карта, разработанная для обеспечения географического контекста с подсветкой пользовательских данных на световом фоне. Организатор - Эсри. |
|
Карта, разработанная для обеспечения географического контекста с подсветкой пользовательских данных на темном фоне. Организатор - Эсри. |
|
Полная глобальная основная карта, состоящая из спутниковых снимков с высоким разрешением. Организатор - Эсри. |
|
Карта общего назначения со стилем для отображения топографических функций. Организатор - Эсри. |
|
Карта, которая объединяет спутниковые данные о типе поверхности, затененный рельеф и океанический рельеф. Светлая, натуральная палитра подходит для тематических и эталонных карт. Создан с использованием Natural Earth. |
|
Заштрихованная карта подреза сопряжена с палитрой типа поверхности. Влажные низменности зелёные, а засушливые - коричневые. Создан с использованием Natural Earth. |
|
Карта местности в оттенках серого. Заштрихованный рельеф подчеркивает как высокие горы, так и микропочвенную местность, встречающуюся в низинах. Создан с использованием Natural Earth. |
|
Двухцветная карта суши и океана со светло-зелеными землями и светло-голубыми акваториями. Создан с использованием Natural Earth. |
|
Двухцветная карта суши-океана с серыми участками суши и белыми акваториями. Создан с использованием Natural Earth. |
|
Двухцветная карта суши-океана со светло-серыми участками суши и темно-серыми акваториями. Эта основная карта установлена с MATLAB®. Создан с использованием Natural Earth. | Н/Д |
Географические оси строят графики данных с сеткой широта-долгота, тактами и метками, но не включают карту. |
По умолчанию для доступа к основным картам требуется подключение к Интернету. Исключение составляют 'darkwater'
основная карта, который устанавливается с MATLAB.
Если у вас нет последовательного доступа к Интернету, можно загрузить основные карты, созданные с помощью Natural Earth, в локальную систему с помощью Add-On Explorer. Основные карты, размещенные в Esri, недоступны для загрузки. Для получения дополнительной информации о загрузке основные карты, смотрите Access Basemaps для географических осей и графиков.
Основные карты, размещенные в Esri, периодически обновляются. В результате вы можете увидеть различия в ваших визуализациях с течением времени.
Выравнивание контуров и меток областей является представлением функции, предоставляемой поставщиками данных, и не подразумевает одобрения MathWorks®.
Пример: player = geoplayer(latCenter,lonCenter,'Basemap','darkwater')
Пример: player.Basemap = 'darkwater'
Типы данных: char
| string
CenterOnID
- отображение Recenter на основе заданного идентификатора дорожки[]
(центр на первой дорожке) (по умолчанию) | положительным целым числомОтображение recenter на основе заданного идентификатора дорожки в виде положительного целого числа. The geoplayer
объект восстанавливает карту, когда новая позиция, заданная latCenter
и lonCenter
, перемещается за пределы текущей области видимой карты. Можно также использовать это свойство для повторного ввода карты на ранее нарисованной дорожке, находящейся вне видимой области. Определите идентификатор дорожки при помощи 'TrackID'
аргумент пары "имя-значение" при вызове plotPosition
функция объекта.
Parent
- Родительские оси географического игрокаFigure
графический объект | Panel
графический объектРодительские оси географического проигрывателя, заданные как Figure
графический объект или Panel
графический объект. Если вы не задаете Parent
, затем geoplayer
создает географический игрок в новом рисунке.
Вы можете задать это свойство при создании объекта. После создания объекта это свойство доступно только для чтения.
Axes
- Топоры, используемые географическим игрокомGeographicAxes
объектОси, используемые географическим проигрывателем, задаются как 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
Плитки географической карты доступны не для всех местоположений.
The geoplayer
объект может использовать пользовательские основные карты от провайдеров, таких как HERE Technologies и OpenStreetMap®.
Чтобы сделать пользовательскую основную карту доступной для использования со geoplayer
объект, использовать addCustomBasemap
функция. После добавления пользовательской основной карты она остается доступной для использования в будущих сеансах работы с MATLAB, пока вы не удалите основную карту при помощи removeCustomBasemap
функция.
Чтобы отобразить потоковые координаты на пользовательской основной карте, укажите имя основной карты в Basemap
свойство geoplayer
объект.
Примечание
Для некоторых пользовательских основные карты для доступа к серверам map требуется действительная лицензия от поставщика map.
Когда geoplayer
объект строит график положения, которое находится вне текущего представления карты, объект автоматически прокручивает карту.
addCustomBasemap
| geoaxes
| geobasemap
| geobubble
| geolimits
| geoplot
| latlon2local
| local2latlon
| removeCustomBasemap
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.