Format Atlas

对比

GeoPackage 与 GeoJSON

两者都表示地理数据,但 GeoPackage 是基于 SQLite 的多图层容器,GeoJSON 则是表示地理要素的 JSON 文本格式。

应该选择哪种格式?

需要打包多个图层和瓦片、SQL 查询或离线使用时选 GeoPackage;需要易读的要素交换和 Web API 时选 GeoJSON。

适用于 GeoPackage

在单个文件中分发和使用地理空间数据

  • 为 GIS 或离线使用组合矢量要素、栅格瓦片和属性

适用于 GeoJSON

交换地理要素及属性

  • 网络地图中的点、线和多边形

基本信息

项目GeoPackageGeoJSON
扩展名.gpkg.geojson, .json
MIME 类型application/geopackage+sqlite3application/geo+json
常见用途在单个文件中分发和使用地理空间数据交换地理要素及属性
打开方式使用支持 GeoPackage 的 GIS 软件(如 QGIS)打开,并检查图层、坐标参考系和扩展。SQLite 工具可能能显示其表,但解释几何和地图瓦片需要兼容软件。用支持 GeoJSON 的地图工具或文本编辑器打开,并在地图上检查位置和形状。
导出或转换可以导出为 GeoJSON、Shapefile 或 MBTiles。目标格式未必保留所有图层、属性、坐标参考系或瓦片;导出后应检查要素数量、坐标、属性和地图显示结果。转换时在目标工具中检查坐标顺序、坐标参考系、几何图形及属性。

按用途选择

为 GIS 或离线使用组合矢量要素、栅格瓦片和属性

在单个文件中分发和使用地理空间数据

GeoPackage

网络地图中的点、线和多边形

交换地理要素及属性

GeoJSON

关键点 1

GeoPackage 遵循 OGC SQLite 架构,可包含矢量要素、栅格瓦片和属性表;GeoJSON 用 JSON 表示要素和属性。

进一步了解差异

关键点 2

GeoPackage 在一个文件中支持多张表和 SQL 访问;GeoJSON 是易读文本,便于传给 Web 地图和 API。

进一步了解差异

进一步了解差异

若需要可移植的数据库容器来收纳多个图层、瓦片并进行 SQL 查询,尤其是在离线环境中,可选 GeoPackage。若要通过 Web 工具交换较小的要素集合或直接检查文本,可选 GeoJSON。请核对坐标参考假设、扩展和目标软件支持情况。

  • GeoPackage 是符合 OGC 架构的 SQLite 数据库;GeoJSON 使用 Feature 和 FeatureCollection 对象,坐标采用 RFC 规定的 WGS 84 经度和纬度。
  • GeoPackage 可打包多个图层和栅格瓦片矩阵,并用 SQL 查询属性。GeoJSON 易于序列化和阅读,但不定义数据库查询或瓦片金字塔。
  • SQLite 文件不一定是 GeoPackage,可选扩展也可能影响互操作性。GeoJSON 使用方应遵守 RFC 坐标顺序和 WGS 84 前提。

常见问题

GeoJSON 能保存栅格地图瓦片吗?

GeoJSON 表示地理要素和属性,不定义标准瓦片金字塔;GeoPackage 则有保存栅格瓦片的标准选项。

所有 SQLite 数据库都是 GeoPackage 吗?

不是。它必须符合 GeoPackage 架构和元数据要求;任意 SQLite 文件都不自动符合该标准。

了解详情

参考资料与规范