bufferm
经纬度多边形的缓冲区
语法
[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 会将其视为一条直线。






