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)

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

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: Многоугольник 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®.