exponenta event banner

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 : Line 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 ®.