Skip to content

getBuffer 缓冲区分析 ​

对点、单条线、面生成指定距离的正向缓冲区。输入距离采用 unit,返回面积采用 areaUnit;不支持负距离的面收缩。

点缓冲区案例 ​

线缓冲区案例 ​

面缓冲区案例 ​

用法 ​

js
const analysis = new SpatialAnalysis({ unit: 'km', areaUnit: 'km2' })
analysis.getBuffer([125.82, 44.15], 0.5)
analysis.getBuffer([[125.81, 44.14], [125.84, 44.16]], 0.2)
analysis.getBuffer(polygonCoordinates, 0.2, { type: 'Polygon', steps: 64 })
// 传入 SDK 面数据时无需 type 选项
analysis.getBuffer({ geometry: { type: 'Polygon', coordinates: [polygonCoordinates] }, properties: {} }, 0.2)

签名:getBuffer(input, radius, options?)。

字段作用
input点坐标、线路坐标,或 Point / LineString / Polygon / MultiPolygon 数据项
radius有限正数,单位为 unit
options.type原始坐标组默认按 LineString;面外环须指定 'Polygon'
options.steps圆弧细分整数 8~256,默认 64
options.unit / areaUnit覆盖本次距离、面积单位

返回通用面结果,并含 radius、radiusUnit、sourceGeometry。缓冲区含原始区域,并非仅返回边界外侧的环带;如需环带,可继续调用差集分析。

缓冲区是采样近似,采样精度与 steps 有关,不应将点缓冲区面积当作圆面积解析值;精确球面圆面积请使用 getCircleArea。跨日期变更线的结果会被拒绝。

基于 Apache-2.0 许可发布