addCustomBasemap

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

Синтаксис

addCustomBasemap(basemapName,URL)
addCustomBasemap(___,Name,Value)

Описание

пример

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

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

пример

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

Примеры

свернуть все

Отобразите ведущий маршрут и положения автомобиля на основной карте OpenStreetMap®.

Добавьте основную карту OpenStreetMap в список basemaps, доступного для использования с объектом geoplayer. После того, как вы добавите основную карту, вы не должны добавлять его снова на будущих сеансах.

name = 'openstreetmap';
url = 'http://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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

Если вы не задаете приписывание, приписыванием по умолчанию является 'Tiles courtesy of 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. Соблюдайте соглашение условий предоставления услуг поставщиков карты и включайте точное приписывание с картами, которые вы используете.

Введенный в R2019a