addCustomBasemap

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

Синтаксис

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

Описание

пример

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

Можно использовать пользовательский basemaps с функцией webmap и с MATLAB географические оси и графики.

пример

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

Примеры

свернуть все

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

Считайте данные о пути к планеру в рабочую область.

trk = gpxread('sample_mixed.gpx','FeatureType','track');

Задайте имя, которое вы будете использовать, чтобы задать вашу пользовательскую основную карту.

name = 'opentopomap';

Задайте веб-сайт, который обеспечивает данные о карте. Первый символ URL указывает который сервер использовать, чтобы получить данные. Для выравнивания нагрузки провайдер имеет три сервера, которые можно использовать: a, b, или c.

url = 'a.tile.opentopomap.org';

Создайте приписывание, чтобы отобразиться на карте, которая дает кредит провайдеру данных о карте. Веб-провайдеры карты могут задать конкретные требования для приписывания.

copyright = char(uint8(169));
attribution = [ ...
      "map data:  " + copyright + "OpenStreetMap contributors,SRTM", ...
      "map style: " + copyright + "OpenTopoMap (CC-BY-SA)"];

Задайте имя, которое, будет казаться, в менеджере по Слою будет представлять вашу пользовательскую основную карту.

displayName = 'Open Topo Map';

Добавьте пользовательскую основную карту в список доступных слоев основной карты.

addCustomBasemap(name,url,'Attribution',attribution,'DisplayName',displayName)

Откройте веб-карту, задав вашу пользовательскую основную карту именем, которое вы задали.

webmap opentopomap

Постройте дорожку пути к планеру на основной карте, указав, что ширина строки раньше представляла дорожку.

wmline(trk,'LineWidth',2)

Задайте пользовательскую основную карту и затем используйте пузыри, чтобы показать местоположения местоположений на основной карте.

Задайте имя, которое вы будете использовать, чтобы задать вашу пользовательскую основную карту.

name = 'openstreetmap';

Задайте веб-сайт, который обеспечивает данные о карте. Первый символ URL указывает который сервер использовать, чтобы получить данные. Для выравнивания нагрузки провайдер имеет три сервера, которые можно использовать: a, b, или c.

url = 'a.tile.openstreetmap.org';

Создайте приписывание, чтобы отобразиться на карте, которая дает кредит провайдеру данных о карте. Веб-провайдеры карты могут задать конкретные требования для приписывания.

copyright = char(uint8(169));
attribution = copyright + "OpenStreetMap contributors";

Задайте имя, которое, будет казаться, в менеджере по Слою будет представлять вашу пользовательскую основную карту.

displayName = 'Open Street Map';

Добавьте пользовательскую основную карту в список доступных слоев основной карты.

addCustomBasemap(name,url,'Attribution',attribution,'DisplayName',displayName)

Постройте местоположения по карте с помощью географической пузырьковой диаграммы. Можно задать пользовательскую основную карту, когда вы создаете географическую пузырьковую диаграмму.

pts = gpxread('boston_placenames');
gb = geobubble(pts.Latitude,pts.Longitude,'Basemap','openstreetmap');
gb.BubbleWidthRange = 25;
gb.MapLayout = 'maximized';
gb.ZoomLevel = 14;

Отобразите данные о пути к планеру на графике по множеству карт, доступных от Национального сайта Карты USGS. Это может быть хорошим способом просмотреть карты, доступные от сайта и определить, какая карта обеспечивает лучший фон для ваших данных.

Просмотрите путь к планеру на basemaps из Национальной Карты USGS. Создайте URL основной карты, заменив ОСНОВНУЮ КАРТУ на имя основной карты USGS.

Читайте в данных о дорожке пути к планеру.

trk = gpxread('sample_mixed','FeatureType','track');

Задайте пользовательскую основную карту URL. Национальная Карта USGS поддерживает несколько мозаичных веб-карт. В данном примере вставьте слово "ОСНОВНАЯ КАРТА" в строку URL. Таким образом можно заменить слово ОСНОВНАЯ КАРТА на имя одной из карт, поддержанных Национальной Картой USGS.

baseURL = "https://basemap.nationalmap.gov/ArcGIS/rest/services";
usgsURL = baseURL + "/BASEMAP/MapServer/tile/${z}/${y}/${x}";

Задайте список имен USGS basemaps, что вы хотите использовать. Эти имена будут вставлены в URL вместо "ОСНОВНОЙ КАРТЫ".

basemaps = ["USGSImageryOnly" "USGSImageryTopo" ...
       "USGSTopo" "USGSShadedReliefOnly" "USGSHydroCached"];

Задайте список имен отображения, которые можно использовать с каждой картой. Используйте имена отображения, которые совпадают с используемыми webmap так, чтобы webmap не содержал дублирующиеся карты.

displayNames = ["USGS Imagery" "USGS Topographic Imagery" ...
       "USGS Shaded Topographic Map" "USGS Shaded Relief" ...
       "USGS Hydrography"];
maxZoomLevel = 16;

Создайте приписывание карты, чтобы дать кредит провайдеру данных о карте.

attribution = 'Credit: U.S. Geological Survey';

Создайте цикл, в котором вы используете каждую основную карту с функцией geoplot, отображая данные о планере на графике по каждому из USGS basemaps.

for k =1:length(basemaps)
   basemap = basemaps(k);
   name = lower(basemap);
   url = replace(usgsURL,"BASEMAP",basemap);
   displayName = displayNames(k);
   addCustomBasemap(name,url,'Attribution',attribution, ...
         'DisplayName',displayName,'MaxZoomLevel',maxZoomLevel)
   figure
   geoplot(trk.Latitude,trk.Longitude,'r','LineWidth',5);
   geobasemap(basemap)
   title(displayName)
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' и скаляра строки или вектора символов.

Функция webmap использует это имя в менеджере по Слою.

Пример: 'OpenStreetMap'

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

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

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

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

Если вы развертываете приложение карты и хотите, чтобы пользователи имели доступ к добавленной основной карте, установили 'IsDeployable' на true. Для получения дополнительной информации о развертывании, смотрите Советы.

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

Советы

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

  • Чтобы использовать пользовательскую основную карту в развертываемом приложении, когда вы вызываете addCustomBasemap, необходимо установить значение пары "имя-значение" 'IsDeployable' к true. Необходимо установить эту пару "имя-значение", вызываете ли вы addCustomBasemap в своем приложении или за пределами вашего приложения.

Введенный в R2018b