经纬志
首页 / Turf.js / API 文档

flatten

先看结论

把 GeometryCollection 与多部件几何逐层展开,得到扁平要素列表。

最后验证 2026-11-03 · Turf.js 7.x · 更新 2026-10-27 · 引用本文
turf.flatten(geojson) → FeatureCollection

参数

参数类型说明
geojson任何 GeoJSON可含 GeometryCollection 与多部件

返回值

FeatureCollection。输入的层级越深,展开后的要素越多。

示例

var flat = turf.flatten(nested);
console.log(flat.features.length);

flat.features.forEach(function (f) {
  console.log(f.geometry.type);
});

与 explode 的区别

explode 只拆多部件几何, flatten 还会递归进入 GeometryCollection。 数据结构不确定时用 flatten 更彻底。

属性继承

展开出的要素继承父级属性。原数据里子几何自带属性时, 需要自己按索引合并,Turf 不做这层映射。

展开后类型可能混杂。点线面混在一个集合里, 渲染库按图层类型分开处理,先按 geometry.type 分组再传入。

引用本文

经纬志(2026)。《flatten》。https://www.jingweizhi.com/turf/api/flatten.html(访问日期 2026-11-03)。