addCustomBasemap

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

Описание

пример

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

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

пример

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

Примеры

свернуть все

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

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

свернуть все

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

Пример: '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, задайте пустое значение (''). Чтобы создать многострочное приписывание, задайте массив строк или нескалярный массив ячеек из символьных векторов.

Если вы не задаете приписывание, приписывание по умолчанию является 'Любезностью мозаик 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.

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

Типы данных: логический

Советы

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

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

Введенный в R2019a