GIS 数据存储方案根据数据类型(矢量/栅格/瓦片/3D) 、**使用场景(分析/展示/交换)和部署环境(本地/云端/移动端)**呈现多样化生态。以下是系统性分类:
一、矢量数据格式
1. 传统文件格式
| 格式 | 特点 | 适用场景 |
|---|---|---|
| Shapefile (.shp) | 4文件碎片化、2GB限制、字段名10字符、无UTF-8 | 遗留系统兼容、政府数据交换(正在被淘汰) |
| GeoJSON (.geojson) | 人可读、Web原生、无空间索引、体积大 | Web API传输、小数据量可视化、前后端交互 |
| KML/KMZ | Google Earth 标准、支持样式和3D、臃肿 | 谷歌地球集成、汇报演示、简单路径规划 |
| File Geodatabase (.gdb) | Esri私有格式、支持拓扑、版本管理 | ArcGIS 企业级编辑、复杂关系类数据 |
2. 现代高性能格式
| 格式 | 特点 | 适用场景 |
|---|---|---|
| FlatGeobuf (.fgb) | 二进制、流式读取、HTTP范围请求友好、支持空间索引 | Web大矢量数据(百万级要素)、云原生传输、替代GeoJSON |
| GeoParquet (.parquet) | 列式存储、压缩率高、兼容大数据生态(Spark/DuckDB) | 空间大数据分析、数据湖仓、遥感时序分析 |
| GeoPackage | Shapefile 的现代替代品 | 通用矢量存储,在单个 SQLite 文件中存储矢量要素、栅格瓦片、属性数据和元数据 |
二、栅格/影像数据格式
1. 传统栅格
| 格式 | 特点 | 场景 |
|---|---|---|
| GeoTIFF (.tif) | 带坐标系的TIFF、最通用、无瓦片结构 | 遥感原始数据、正射影像、科学计算 |
| IMG/HDF | 多波段、元数据丰富、卫星标准格式 | 卫星遥感(MODIS/Landsat)、气象数据、海洋数据 |
| JPEG2000 (.jp2) | 高压缩比、有损/无损、支持流式 | 正射影像存档、Web影像服务(WMS) |
2. 云原生栅格(Cloud-Native)
| 格式 | 特点 | 场景 |
|---|---|---|
| COG (Cloud Optimized GeoTIFF) | 内置瓦片+HTTP范围请求、无需下载整文件 | 云端遥感分析、在线可视化大影像、S3对象存储 |
| GeoTIFF with Overview | 金字塔分层、快速预览 | 大影像快速浏览 |
三、瓦片/地图渲染格式
| 格式 | 特点 | 场景 |
|---|---|---|
| MBTiles | MBTiles 是一种地图瓦片(Map Tiles)存储格式规范,由 Mapbox 创建并开源。它将地图瓦片数据打包存储在 SQLite 数据库中,使地图可以以单个文件的形式进行分发、存储和传输。 | 离线地图、移动端优化、瓦片缓存、数据分发 |
| XYZ 目录 | 标准瓦片文件夹结构(z/x/y.png) |
Web地图服务快速搭建、CDN分发 |
| Vector Tile Format (.mvt/.pbf) | Mapbox Vector Tile 规范、Protobuf 压缩 | WebGL 矢量渲染(Mapbox/MapLibre)、动态样式 |
| PMTiles | 单文件、HTTP范围请求、无服务器架构、比MBTiles更适合Web | 静态网站托管(GitHub Pages/Vercel)、低成本地图服务 |
| Terrarium (.png 编码高程) | PNG 像素存储高程值(RGB→高程) | 客户端3D地形生成(Cesium/Three.js) |
四、空间数据库(企业级/生产环境)
| 数据库 | 特点 | 场景 |
|---|---|---|
| PostGIS | PostgreSQL 扩展、最强大空间函数、GIS黄金标准 | 企业级GIS、复杂空间分析、Web服务后端、多用户并发编辑 |
| SpatiaLite | SQLite 空间扩展、轻量级、单文件 | 嵌入式GIS、桌面应用、移动端本地数据库 |
| SQL Server Spatial | 微软生态集成 | 企业.NET应用、与业务数据库集成 |
| Oracle Spatial | 企业级、成本高、功能全 | 金融、电信级大规模空间资产管理系统 |
| MongoDB (GeoJSON) | 文档型、分片友好、2dsphere索引 | 实时位置服务(LBS)、IoT轨迹存储、快速开发 |
| Elasticsearch | 倒排索引+地理查询 | 地理日志分析、位置搜索(GeoSearch)、可视化(Kibana) |
五、3D与点云专用格式
| 格式 | 特点 | 场景 |
|---|---|---|
| 3D Tiles (.b3dm/.i3dm) | Cesium 标准、LOD层级、Web传输优化 | 数字孪生、城市CIM、BIM+GIS融合、倾斜摄影 |
| I3S (Scene Layer) | Esri 索引3D场景、SLPK 包 | ArcGIS Urban、三维城市可视化 |
| LAS/LAZ | 点云标准格式、LAZ压缩版 | 激光雷达原始数据存档 |
| COPC (Cloud Optimized Point Cloud) | 云原生点云、HTTP范围请求、类COG设计 | 在线点云分析(无需下载TB级数据)、Web点云可视化 |
| EPT (Entwine Point Tile) | 分层八叉树结构、Potree 可视化 | Web端海量点云渲染(十亿级点) |
| IFC/DAE/OBJ+GLTF | BIM模型格式 | 建筑信息模型与GIS集成 |
六、网格/离散化索引(空间分析)
| 方案 | 特点 | 场景 |
|---|---|---|
| H3 (Uber) | 六边形网格、层级嵌套、无边界效应 | 聚合分析(热力图)、出行需求预测、蜂窝统计 |
| Geohash | 字符串编码、Z序曲线、前缀匹配 | URL友好的位置编码、数据库索引、简单距离排序 |
| S2 Geometry (Google) | 球面四叉树、保形性、单元格层级 | 全球索引、位置服务后端、游戏地图分区 |
| DGGS (离散全球网格) | 等面积网格、多层级 | 全球尺度分析、海洋/气候建模 |
七、云原生/大数据方案
| 方案 | 架构 | 场景 |
|---|---|---|
| STAC (SpatioTemporal Asset Catalog) | 标准化API描述遥感影像位置+时间 | 遥感数据湖、多时相影像检索 |
| Zarr | 分块压缩数组、云存储友好 | NetCDF替代、气候/海洋大数据立方体 |
| Apache Sedona (GeoSpark) | Spark 空间扩展 | TB级空间数据ETL、分布式缓冲区分析 |
| DuckDB + spatial | 嵌入式分析型数据库、GeoParquet原生支持 | 本地大CSV/Parquet分析、零配置GIS |
八、选型决策树
数据量小 (<10MB) + Web传输 → GeoJSON
矢量大数据 + 分析 → GeoParquet / PostGIS
矢量大数据 + Web可视化 → FlatGeobuf / PMTiles (矢量)
栅格云端分析 → COG / STAC
移动端离线编辑 → GeoPackage / MBTiles (只读浏览)
3D城市可视化 → 3D Tiles / I3S
企业级生产 → PostGIS
点云在线查看 → COPC / EPT
一句话总结 :GIS 存储正从文件交换 (Shapefile)向云原生流式访问 (FlatGeobuf/COG/COPC/PMTiles)和大数据分析 (GeoParquet/PostGIS)双重演进,选择的核心在于是否需要编辑 (选数据库)、是否云端分析 (选云原生格式)、是否Web实时传输(选现代紧凑格式)。