Буферная зона - это область в пределах заданного расстояния элемента карты. Для векторных геоданных буферные зоны строятся как многоугольники. Буферная зона может быть определена как местоположение точек на определенном расстоянии от границы многоугольника элемента, как внутри, так и снаружи многоугольника. Буферные зоны образуют равноудаленные контурные линии вокруг объектов.
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')
