Буферные зоны для многоугольников широта-долгота
[latb,lonb] = bufferm(lat,lon,bufwidth)
[latb,lonb] = bufferm(lat,lon,bufwidth,direction)
[latb,lonb] = bufferm(lat,lon,bufwidth,direction,npts)
[latb,lonb] = bufferm(lat,lon,bufwidth) вычисляет буферную зону вокруг линии или многоугольника. Если векторы lat и lon, в единицах степеней задайте линию, затем latb и lonb задайте многоугольник, содержащий все точки, которые находятся на определенном расстоянии, bufwidth, линии. bufwidth является скаляром, заданным в степенях дуги вдоль поверхности. Если векторы lat и lon задайте многоугольник, затем latb и lonb задайте область, которая содержит все точки, внешние по отношению к многоугольнику, которые находятся внутри bufwidth многоугольника.
[latb,lonb] = bufferm(lat,lon,bufwidth,direction) где direction определяет, находится ли буферная зона внутри ('in') или снаружи ('out') многоугольника. Третья опция, 'outPlusInterior', возвращает объединение внешнего буфера (как это было бы вычислено с помощью 'out') с внутренним пространством многоугольника. Если вы не поставляете direction значение, bufferm использует 'out' по умолчанию и возвращает буферную зону за пределами многоугольника. Если вы поставляете 'in' как direction значение, bufferm возвращает буферную зону внутри многоугольника. Если вы находите буферную зону вокруг линии, 'out' является единственной допустимой опцией.
[latb,lonb] = bufferm(lat,lon,bufwidth,direction,npts) управляет числом точек, используемых для построения кругов вокруг вершин многоугольника. Большое число точек производит более плавные буферы, но требует большего времени. Если npts опускается, используется 13 точек на круг.
Закройте все многоугольники перед их обработкой с помощью bufferm. Если многоугольник не закрыт, bufferm принимает, что это линия.