FlatGeobuf(新兴矢量格式)
2025年10月11日 10:02

GISBox是一站式三维 GIS 数据编辑、转换、发布平台,支持 OSGB/GEOTIFF/RVT 等多种 GIS 格式编辑,转换为 3DTiles/Terrain 等并发布。

简介

FlatGeobuf 是一种基于二进制编码的高性能矢量地理数据格式,专为处理大规模静态地理数据设计,采用 FlatBuffers 技术实现紧凑存储与快速读写。其内置 Packed Hilbert R-Tree 空间索引,支持流式传输和按需加载,显著提升网络传输效率与渲染速度,尤其适用于需要高效处理海量地理空间数据的场景。作为开源格式,FlatGeobuf 兼容 GDAL、QGIS、GeoServer 等主流工具,并支持多语言实现,是替代传统 Shapefile 和 GeoJSON 的理想方案。

文件结构

FlatGeobuf(新兴矢量格式)的文件结构主要包括以下核心部分:

  1. 文件头部分:包含Magic Number标识符(固定为0x6667620366676200)、版本信息、要素几何类型定义、全局空间范围(可选)以及坐标系参考信息(如EPSG代码或WKT定义)。
  2. 空间索引结构:采用可选的希尔伯特R树实现,包含分层存储的节点数据,支持高效的空间范围查询,索引粒度可调整以平衡性能与存储效率。
  3. 要素数据存储:基于FlatBuffers的二进制编码存储几何数据(符合OGC Simple Features标准)和属性数据(支持多种数据类型),采用变长存储机制优化空间利用率。
  4. 数据分块机制:支持按固定大小或逻辑分组进行数据分块,记录分块偏移量实现随机访问,便于并行处理和流式传输。
  5. 元数据系统:定义属性字段结构(名称/类型/描述等),支持用户自定义扩展元数据(如时间戳、数据来源等附加信息)。
  6. 文件尾部结构:记录空间索引的存储位置偏移量(如存在索引),可选包含数据校验信息(如CRC32校验码)确保文件完整性。

优点

  1. 极致性能:读写速度显著超越传统格式(Shapefile 的 2-5 倍,GeoJSON 的 5-10 倍),支持TB级数据流式加载;零拷贝内存映射减少I/O开销;希尔伯特R树索引可提速空间查询10-100倍。
  2. 超高存储效率:二进制压缩率比GeoJSON高60%-80%;单文件集成几何、属性与索引;8字节坐标对齐设计优化CPU缓存利用。
  3. 现代技术适配:WebAssembly实现浏览器端解析;基于FlatBuffers框架兼容云原生架构GDAL/QGIS提供原生支持,MIT协议开放商用。
  4. 扩展能力:预留字段支持未来演进(如3D坐标、时空数据);分块机制允许随机访问和并行处理。

缺点

  1. 功能缺失:不支持事务处理与并发写入;无法存储拓扑关系;属性查询无内置B树索引。
  2. 态短板:调试需专用工具(如fgbview),社区资源少于成熟格式;新版本可能存在兼容风险。
  3. 场景限制:仅适合静态数据发布(如离线地图包),高频编辑场景应选GeoPackage;小数据集性价比低;轻量Web展示优先用GeoJSON。

应用场景

FlatGeobuf凭借其高性能二进制特性,尤其适用于需要高效处理大规模静态地理数据的场景:可作为高并发WebGIS服务的后端数据存储,实现快速空间查询与流式传输;支持移动端离线地图包的轻量化存储,减少存储占用与加载延迟;适用于全国性基础地理信息数据(如路网、POI)的发布与共享,提升数据访问效率;也适用于实时交通、环境监测等需要快速更新但无需频繁编辑的领域,平衡性能与存储成本。

示例图

1. 全量加载FlatGeoBuf 2500万点数据效果。

2. Flatgeobuf人口普查块滑溜的地图演示。

文件打开方式

1. SuperMap iServer11.1 服务返回的FlatGeoBuf格式文件。

相关 GIS 文件

MID

IMDF

STYLX

CityGML

参考资料

  1. https://iclient.supermap.io/web/technical-topics/zh/flatgeobuf.html
  2. https://worace.works/2022/02/23/kicking-the-tires-flatgeobuf/
  3. https://www.cnblogs.com/zhangyongli2011/p/17577022.html