wmline

Отображение географической линии на веб-карте

Описание

пример

wmline(lat,lon) отображает наложение линий, заданное вершинами в lat, lon на текущей веб-карте. Если текущей веб-карты нет, wmline создает единицу. wmline центрирует карту так, чтобы все векторные наложения, отображенные на веб-карте, были видны.

пример

wmline(P) отображает наложение линии на основе содержимого геоточки или геошапа P.

wmline(wm,___) отображает наложение линии на веб-карте, заданной указателем на веб-карту, wm.

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

h = wmline(___) возвращает указатель в наложение линий.

Примеры

свернуть все

Найдите координаты Лондона и Парижа.

cities = shaperead('worldcities.shp', 'UseGeoCoords', true, ... 
    'Selector', ... 
    {@(v)(ismember(v, {'London', 'Paris'})), 'Name'}); 
lat = [cities.Lat]; 
lon = [cities.Lon];

Отобразите линию на веб-карте из Лондона в Париж.

wmline(lat,lon)

Большие наборы данных иногда могут отображаться медленно, что делает веб-карту висящей. Чтобы решить эту проблему, уменьшите размер набора данных с помощью reducem функция перед вызовом wmline.

Загрузка векторных данных, представляющих координаты береговых линий.

load coastlines

Уменьшите число точек в векторах широты и долготы, используя reducem функция.

[lat,lon] = reducem(coastlat,coastlon);

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

webmap('ocean basemap','WrapAround',false) 

Отображение береговых линий на веб-карте. Рисунок показывает номер позиции описания, который появляется при щелчке по линии. Назовите функцию с помощью 'FeatureName' Пара "имя-значение".

wmline(lat,lon,'LineWidth',3,'FeatureName','coastline') 
wmzoom(3) 

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

lat0 = 51.50487; 
lon0 = 0.05235; 

Создайте веб-карту и укажите базовый слой.

webmap('OpenStreetMap')

Вычислите небольшую окружность с радиусом 1000 метров. Установка az параметр в пустую матрицу вызывает scircle1 для вычисления полного круга.

radius = 1000; 
az = []; 
e = wgs84Ellipsoid; 
[lat,lon] = scircle1(lat0,lon0,radius,az,e); 

Отобразите красный круг с радиусом 1000 метров, используя значения широты и долготы, возвращенные scircle1 на предыдущем шаге.

wmline(lat,lon,'Color','red','OverlayName','1000 Meters')

Вычислите другую небольшую окружность, на этот раз с радиусом 2000 метров.

radius = 2000; 
[lat,lon] = scircle1(lat0,lon0,radius,az,e);

Нарисуйте круг радиуса 2000 метров на веб-карте, установив цвет черным.

wmline(lat,lon,'Color','k','OverlayName','2000 Meters')

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

свернуть все

Широты вершин, заданные как матрица.

Типы данных: single | double

Долготы вершин, заданные как матрица.

Типы данных: single | double

Географические функции, заданные как геоточка или геошапа.

  • Если P является геоточкой, наложение содержит одну линию, соединяющую его вершины.

  • Если P является вектором геосхемы, накладка содержит по одной линии функции для каждого элемента P.

Веб-карта, заданная как указатель на веб-карту.[1]

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

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

Пример: wmline(lat,lon,'OverlayName','Shortest Route');

Видимость наложения, заданная как разделенная разделенными запятой парами, состоящая из 'Autofit' и скалярное логическое или числовое значение true (1) или false (0).

  • Если true, wmline корректирует пространственную протяженность карты, чтобы убедиться, что все векторные наложения на карте видны.

  • Если false, wmline не настраивает пространственную протяженность, когда этот векторный слой добавляется к карте.

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

Описание функции, заданное как разделенная разделенными запятой парами, состоящая из 'Description' и вектор символов, массив ячеек из векторов символов или скалярная структура. Описание определяет содержимое номера позиции описания, отображаемого при щелчке по функции на веб-карте. Элементы описания могут быть либо простым текстом, либо HTML разметки. Когда предоставляется спецификация атрибута, отображение в номере позиции для полей атрибута P изменяются в соответствии со спецификацией.

  • Если вы задаете скалярный массив ячеек, wmline применяет значение ко всем функциям линии.

  • Если вы задаете нескалярный массив ячеек, массив ячеек должен содержать значение для каждой функции, то есть массив ячеек должен быть такой же длины, как P.

  • Если значение является структурой, wmline применяет спецификацию атрибута к каждой линии.

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

Имя слоя наложения, заданное как разделенная разделенными запятой парами, состоящая из 'OverlayName' и вектор символов. wmline вставляет имя в Диспетчер слоев под элементом «Наложения». Диспетчер слоев - это инструмент, который появляется в правой части веб-карты. Имя по умолчанию является 'Line Overlay N' где N - номер, присвоенный этому наложению.

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

Имя функции, заданное как разделенная разделенными запятой парами, состоящая из 'FeatureName' и вектор символов или массив ячеек из векторов символов. Имя появляется в номере позиции, который отображается при клике по функции на веб-карте. Значение по умолчанию 'OverlayName : Линейная K', где OverlayName - имя наложения и K - номер, присвоенный конкретной линии.

  • Если значение является вектором символов, оно применяется ко всем функциям.

  • Если значение является массивом ячеек из векторов символов, это должен быть либо скаляр, либо та же длина, что и P.

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

Цвет линии, заданный как разделенная разделенными запятой парами, состоящая из 'Color' и MATLAB® Спецификация цвета (ColorSpec), массив ячеек названий цвета или числовой массив.

  • Если вы задаете скалярный массив ячеек, wmline применяет значение ко всем функциям линии.

  • Если вы задаете нескалярный массив ячеек, массив ячеек должен содержать значение для каждой линейной функции, то есть массив ячеек должен быть такой же длины, как P.

  • Если значение является числовым массивом, оно должно быть M -by-3, где M либо 1, либо длина P.

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

Ширина линии в пикселях, заданная как разделенная разделенными запятой парами, состоящая из LineWidth и положительный числовой скаляр или вектор. Если вы задаете вектор, он должен включать значение для каждой линии, то есть вектор должен быть такой же длины, как P.

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

Прозрачность линии, заданная как разделенная разделенными запятой парами, состоящая из 'Alpha' и числовой скаляр или вектор. Если вы задаете вектор, он должен включать значение для каждой линии, то есть вектор должен быть такой же длины, как P. Значение по умолчанию, 1, означает, что линия полностью непрозрачна.

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

Выходные аргументы

свернуть все

Слой наложения, возвращенный как указатель на наложение линии.

Совет

  • При определенные обстоятельства, когда вы масштабируете наложение линии на веб-карте, части линии могут стать невидимыми. Это может произойти, если данные являются одним сегментом длинной линии, который состоит из многих деталей. Чтобы решить эту проблему, разбейте длинную строку на ряд сегментов линии путем вставки NaNs в линейных данных.

Введенный в R2013b

[1] Выравнивание контуров и меток областей является представлением функции, предоставляемой поставщиками данных, и не подразумевает одобрения MathWorks®.