exponenta event banner

wmpolygon

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

Описание

пример

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

пример

wmpolygon(P) отображает наложение многоугольника на основе содержимого вектора геошейпа многоугольника P. Наложение содержит один многоугольный элемент для каждого элемента P.

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

пример

wmpolygon(___,Name,Value) задает пары «имя-значение», задающие дополнительные графические свойства.

h = wmpolygon(___) возвращает дескриптор для наложения.

Примеры

свернуть все

Загрузка данных береговой линии из MAT-файла.

load coastlines

Отображение береговых линий в виде слоя наложения многоугольника.

wmpolygon(coastlat,coastlon,'OverlayName','Polygon coastlines')

Определите координаты колец. В этом примере координаты определяют местоположение в центре Эйфелевой башни.

lat0 = 48.858288;
lon0 = 2.294548;
outerRadius = .01;
innerRadius = .005;
[lat1,lon1] = scircle1(lat0,lon0,outerRadius);
[lat2,lon2] = scircle1(lat0,lon0,innerRadius);
lat2 = flipud(lat2);
lon2 = flipud(lon2);
lat = [lat1; NaN; lat2];
lon = [lon1; NaN; lon2];

Отображение на веб-карте.

webmap('worldimagery')
wmpolygon(lat,lon,'EdgeColor','g','FaceColor','c','FaceAlpha',.5)

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

p = shaperead('usastatelo.shp','UseGeoCoords',true);
p = geoshape(p);

Определите цвета, которые требуется использовать для полигонов.

colors = polcmap(length(p));

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

webmap('worldphysicalmap')
wmpolygon(p,'FaceColor',colors,'FaceAlpha',.5,'EdgeColor','k', ...
      'EdgeAlpha',.5,'OverlayName','USA Boundary','FeatureName',p.Name)

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

Сначала загрузите векторные данные высокого разрешения в рабочую область.

states = shaperead('usastatehi.shp','UseGeoCoords', true);
states = geoshape(states);

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

for k = 1:length(states)
    [states(k).Latitude, states(k).Longitude] = reducem( ...
        states(k).Latitude', states(k).Longitude');
end

Отображение границ состояния на веб-карте. Обратите внимание, что границы уменьшенных многоугольников могут не совпадать, если увеличить их масштаб.

colors = polcmap(length(states));
webmap('worldphysicalmap')
wmpolygon(states,'FaceColor',colors,'FaceAlpha',.5,'EdgeColor','k', ...
    'EdgeAlpha',.5,'OverlayName','USA Boundary','FeatureName',states.Name)

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

свернуть все

Вершины широты, заданные как матрица в диапазоне [-90, 90].

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

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

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

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

Веб-карта, указанная как дескриптор веб-карты. [1 ]

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

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

Пример: wmpolygon(lat,lon,'Autofit',true)

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

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

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

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

Описание функции, указанной как разделенная запятыми пара, состоящая из 'Description' и символьный вектор, массив ячеек символьных векторов или скалярную структуру.

  • При указании символьного вектора текст определяет содержимое, отображаемое в номере позиции описания, которое появляется при щелчке элемента на веб-карте. Элементы описания могут быть обычным текстом или помечены разметкой HTML.

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

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

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

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

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

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

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

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

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

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

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

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

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

Прозрачность граней многоугольника, заданная как разделенная запятыми пара, состоящая из 'FaceAlpha' и числовой скаляр или вектор в диапазоне [0, 1]. Значение по умолчанию, 1, означает, что многоугольник полностью непрозрачен.

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

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

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

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

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

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

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

Прозрачность кромок многоугольника, заданная разделенной запятыми парой, состоящей из 'EdgeAlpha' и в виде числового скаляра или вектора в диапазоне [0, 1].

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

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

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

Ширина кромок многоугольника, заданная как разделенная запятыми пара, состоящая из 'LineWidth' и положительный числовой скаляр или вектор.

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

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

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

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

свернуть все

Наложение полигона, возвращаемое в качестве дескриптора наложению полигона.

Совет

  • При наведении курсора на полигоны, определенные на изображении, и щелчке wmpolygon отображает номер позиции описания и отключает панорамирование. При смещении курсора с полигона можно щелкнуть и панорамировать изображение. Для панорамирования изображения можно также использовать клавиши со стрелками.

Представлен в R2016a

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