第2章 · 空间数据存储与管理
章节摘要:空间数据要存得下、查得快。本章讲空间数据库、空间索引、常用数据格式——空间数据管理的三块。
上手前先明确
阅读完本章,你应当能够:
- 用空间数据库存空间数据
- 理解空间索引加速查询
- 选对数据格式
核心概念速览
存得下(数据库)、查得快(索引)、能交换(格式)——空间数据管理三件事。
子章节导航
2.1 空间数据库 (Spatial Database)
PostGIS 等空间数据库存空间数据。
2.2 空间索引技术
R 树等空间索引加速查询。
2.3 常用 GIS 数据格式
Shapefile、GeoJSON、GeoTIFF 等格式。
子章节之间的逻辑关系
2.1 数据库(存哪)
2.2 索引(怎么查快)
2.3 格式(怎么交换)
数据库定存储,索引定查询速度,格式定数据交换。
数据管理常见问题
这一章解决的是 GIS 系统里最常被问到的三类问题:
- 存哪里:几十万条房屋面、上千个影像文件,是全部塞进关系数据库,还是文件系统加数据库混用?PostGIS、MySQL Spatial、Oracle Spatial 差别在哪?
- 查得慢怎么办:一个"框选范围内的兴趣点"查询要几秒钟,问题几乎都出在空间索引上。R 树和 GiST 是什么关系、索引建了为什么还是慢,2.2 节有答案。
- 数据怎么进来怎么出去:客户给一个 Shapefile,甲方要 GeoJSON,遥感影像要转 COG,怎么换格式、换的时候要注意什么,2.3 节给你一个选型表。
建议按顺序读:先知道数据库怎么存(2.1),再看怎么让查询变快(2.2),最后掌握格式转换和交换(2.3)。动手实验时,装一个 PostgreSQL 并启用 PostGIS 扩展,跟着 SQL 示例跑一遍,比只看文字有效得多。
学习检验
读完本章后试着回答:
- GEOMETRY 和 GEOGRAPHY 分别适合什么场景?用错了会有什么后果?
- 建了 GiST 空间索引后,用什么命令验证查询真的走了索引?
- 同一个图层,什么时候该用 Shapefile,什么时候该用 GeoPackage,什么时候该用 GeoJSON?
- ogr2ogr 一句命令怎么把 Shapefile 转成 GeoJSON?
答不上来的地方回到对应小节再看。这一章的三个小节是"存储、加速、交换"三位一体:数据库决定数据放哪,索引决定查多快,格式决定怎么进出。实际动手时强烈建议把第 2 章和第 3 章连着学——数据入库后马上发布成服务,形成闭环,对后续章节的理解会顺畅很多。
前置知识与后续延伸
- 前置:第 1 章坐标系和数据模型
- 后续:第 3 章把这些数据发布成服务
作者与出处
原作者:灏天文库
来源:平台策划编纂
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流