对比
Shapefile 与 GeoPackage:文件集和属性保留
Shapefile 是多文件图层,GeoPackage 在 SQLite 中保存多类地理数据。
应该选择哪种格式?
接收端要求 Shapefile 时交付完整文件集,多图层和属性管理可考虑 GeoPackage。
适用于 Shapefile
向现有 GIS 环境交付地物图层
- 与要求 Shapefile 的接收端交换
适用于 GeoPackage
在单个文件中分发和使用地理空间数据
- 为 GIS 或离线使用组合矢量要素、栅格瓦片和属性
基本信息
| 项目 | Shapefile | GeoPackage |
|---|---|---|
| 扩展名 | .shp | .gpkg |
| MIME 类型 | application/geopackage+sqlite3 | |
| 常见用途 | 向现有 GIS 环境交付地物图层 | 在单个文件中分发和使用地理空间数据 |
| 打开方式 | 一并打开文件集,检查 .prj 的 CRS 和 .cpg 等编码信息。缺失时询问生成端,不要猜测 CRS。 | 使用支持 GeoPackage 的 GIS 软件(如 QGIS)打开,并检查图层、坐标参考系和扩展。SQLite 工具可能能显示其表,但解释几何和地图瓦片需要兼容软件。 |
| 导出或转换 | 迁移到 GeoPackage 时核对数量、几何、CRS、文字、字段名和数值精度。导出混合几何或多图层时按需拆分。 | 可以导出为 GeoJSON、Shapefile 或 MBTiles。目标格式未必保留所有图层、属性、坐标参考系或瓦片;导出后应检查要素数量、坐标、属性和地图显示结果。 |
按用途选择
与要求 Shapefile 的接收端交换
向现有 GIS 环境交付地物图层
Shapefile为 GIS 或离线使用组合矢量要素、栅格瓦片和属性
在单个文件中分发和使用地理空间数据
GeoPackage关键点 1
Shapefile 要保持 SHP/SHX/DBF 对应。
进一步了解差异关键点 2
GeoPackage 用规定表管理 CRS 和内容。
进一步了解差异进一步了解差异
先约定字段名、文字、数值精度、日期时间和 NULL 的保留要求,并确认接收端支持。
- 导出 Shapefile 可能缩短列名并受宽度和类型限制。保存名称映射,验证编码。
- 转换后核对几何/DBF顺序、数量、CRS、Z/M。GeoPackage 瓦片和扩展需另存。
常见问题
迁移到 GeoPackage 就能恢复丢失属性吗?
不能。已截断的文字、数值和丢失名称无法重建。保留转换前原本并核验。