最后更新: 2026-11-04
GeoParquet 与 GeoJSON:哪种 GIS 格式更适合大型数据集? 如果你曾尝试在 QGIS 中打开一个 2 GB 的 GeoJSON 文件,或将一个包含数百万行多边形边界的文件加载到交互式地图中,你已经体会到屏幕冻结和内存不足崩溃的那种沉重感。
十多年来,GeoJSON 一直是网络制图的通用语言。它透明、易于阅读,并且几乎所有网络制图库和 REST API 都开箱即用地支持它。
然而,现代 GIS 工作流与 2008 年时截然不同。如今的地理空间从业者常规性地摄取数 GB(甚至 TB)级的物联网移动遥测数据、全国建筑轮廓、卫星衍生的分割掩膜以及高频率的气候网格。
在如此规模的数据集上使用时,GeoJSON 不仅仅是变慢——它会彻底成为数据架构的瓶颈。
引入 GeoParquet,它是一个开放、标准化的地理空间扩展,基于 Apache Parquet,并在开放地理空间联盟(OGC)内部孵化。
在本综合指南中,我们比较 GeoParquet 和 GeoJSON 在架构、存储效率、读写吞吐量、云就绪性和开发者体验方面,以回答一个关键问题:对于大型数据集,应该选择哪种格式?
1. 结构架构:文本 vs. 二进制列式 要了解为何这些格式在大规模下表现差异如此显著,必须深入查看它们各自如何表示坐标值和表格元数据。
+--------------------------------------------------------------+ | 评估指标 | | **数据格式** | | **几何表示** | | **压缩比** | | **列投影** | +--------------------------------------------------------------+ VS +--------------------------------------------------------------+ | **空间谓词下推** | | **云对象存储 (S3/GCS)** | | **人类可读性** | | **网页浏览器支持** | | **标准化组织** | +--------------------------------------------------------------+ GeoJSON:面向行的文本编码 JSON GeoJSON 将数据表示为 JSON 对象数组。每个特征都会显式重复属性键,并伴随一个字符串编码的浮点数数组: