Буферные зоны многоугольника

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

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

Сгенерируйте буфер, внутренний к многоугольнику

В этом примере показано, как использовать bufferm функция, чтобы сгенерировать буферную зону, внутреннюю к многоугольнику контактной площадки. Для получения дополнительной информации об этой теме, смотрите Буферные зоны Многоугольника.

Импортируйте Мадагаскарскую форму многоугольника.

madagascar = shaperead('landareas','UseGeoCoords',true, ...
    'Selector', {@(name)strcmpi(name,'Madagascar'),'Name'});

Создайте карту, показывающую Мадагаскар.

figure
worldmap('madagascar')
geoshow(madagascar)

Используйте bufferm создать буферную зону, которая расширяет 0,75 градуса внутри страны от побережья Мадагаскара.

madlat = madagascar.Lat;
madlon = madagascar.Lon;
bufwidth = 0.75;
direction = 'in';
[latbuf,lonbuf] = bufferm(madlat,madlon,bufwidth,direction);

Отобразите буферную зону зеленым.

geoshow(latbuf,lonbuf,'DisplayType','polygon','FaceColor','green')