addCustomBasemap

Добавьте пользовательскую основную карту

Описание

пример

addCustomBasemap(basemapName,URL) добавляет пользовательскую основную карту, заданную как URL к списку основных карт, доступных для использования с функциями отображения. basemapName - имя, которое вы выбираете для вызова пользовательской основной карты. Добавленные основные карты остаются доступными для использования в будущем MATLAB® сеансов.

Можно использовать пользовательскую основную карту с geoplayer с географическими осями и графиками MATLAB.

пример

addCustomBasemap(___,Name,Value) задает пары "имя-значение", которые устанавливают дополнительные параметры основной карты.

Примеры

свернуть все

В этом примере показано, как отобразить маршрут движения и положения транспортного средства на основной карте 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

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

свернуть все

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

Пример: 'openstreetmap'

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

Параметризованный URL-адрес карты, заданный как строковый скаляр или вектор символов. Параметризованный URL-адрес является индексом мозаик карты, форматированный как ${z}/${x}/${y}.png или {z}/{x}/{y}.png, где:

  • ${z} или {z} - уровень масштабирования плитки.

  • ${x} или {x} - индекс столбца плитки.

  • ${y} или {y} - индекс строки плитки.

Пример: 'https://hostname/${z}/${x}/${y}.png'

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

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: addCustomBasemap(basemapName,URL,'Attribution',attribution)

Атрибуция пользовательской основной карты, заданная как разделенная разделенными запятой парами, состоящая из 'Attribution' и строковый скаляр, строковые массивы, вектор символов или массив ячеек векторов символов. Если хост 'localhost', или если URL содержит только IP-номера, задайте пустое значение (''). Чтобы создать атрибут multiline, задайте строковые массивы или нескалярный массив ячеек из векторов символов.

Если вы не задаете атрибуцию, атрибуцией по умолчанию является 'Плитки предоставлены DOMAIN_NAME_OF_URL', где addCustomBasemap функция получает имя области от URL входной параметр.

Пример: 'Credit: U.S. Geological Survey'

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

Отображаемое имя пользовательской основной карты, заданное как разделенная разделенными запятой парами, состоящая из 'DisplayName' и строковый скаляр или вектор символов.

Пример: 'OpenStreetMap'

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

Максимальный уровень масштаба основной карты, заданный как разделенная разделенными запятой парами, состоящая из 'MaxZoomLevel' и целое число в области значений [0, 25].

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Карта развертывается с помощью MATLAB Compiler, заданная как разделенная разделенными запятой парами, состоящая из 'IsDeployable' и false или true.

Если вы развертываете приложение map и хотите, чтобы пользователи имели доступ к добавленной основная карта, задайте 'IsDeployable' на true. Карты в geoplayer объект не развертывается. Если вы используете geoplayer объект, оставить 'IsDeployable' установлено на false.

Типы данных: logical

Совет

  • Вы можете найти мозаичные веб-карты от различных поставщиков, таких как OpenStreetMap®, Национальная карта USGS, Mapbox, DigitalGlobe, Esri® ArcGIS Online, Управление геопространственной информации Японии (GSI) и HERE Technologies. Соблюдайте условия соглашения с поставщиками карты и включите точную атрибуцию с используемыми картами.

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

Введенный в R2019a