首页 / Turf.js / API 文档
flatten
先看结论
把 GeometryCollection 与多部件几何逐层展开,得到扁平要素列表。
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)。