在第一章中,我们建立了“地球是一个椭球体”的认知,并确立了坐标参照系(CRS)作为定位的基石。然而,坐标点 merely 是数字海洋中的孤岛。为了在计算机中重现现实世界的复杂性——描绘蜿蜒的河流、不规则的地块、错综复杂的路网——我们需要一种能够精确描述离散对象的数字模型:矢量数据(Vector Data)。
与照片式的栅格数据不同,矢量数据是面向对象的。它认为世界是由一个个独立的实体(Feature)组成的。本章将深入矢量数据的“解剖学结构”,从最基本的几何类型讲起,深入探讨文件存储的底层差异,剖析维持地图逻辑正确的“拓扑关系”,并详细拆解缓冲区、加分析等核心空间算法的几何原理。
学习目标:
矢量数据模型(Vector Data Model)将地理空间实体抽象为几何(Geometry)与属性(Attributes)的结合体。
OGC(开放地理空间联盟)定义了简单的要素规范(Simple Feature Access),构成了所有 GIS 软件的基石除了基本的点线面,理解多部件(Multi-part)几何至关重要。
[Polygon with Hole] [MultiPolygon]
___________ ______ ___
/ \ / \ / \
/ Ext. \ / Part 1 \ / Part\
/ Ring \ /__________\ \ 2 /
/ _____ \ \___/
| | Int.| | (One Feature ID)
| | Ring| |
| |_____| |
\ /
\_________________/
属性是非空间信息,通常以关型数据库表的形式存在。每一行(Row)对应一个几何实体,每一列(Column)对应一个字段。
FeatureID (FID) 绑定。由 ESRI 在 90 年代初推出。它不是一个文件,而是一组文件(通常 3 到 8 个)。
.shp: 存储几何图形。.shx: 几何图形的索引(用于快速跳转)。.dbf: dBase 格式存储属性表(这是最大的痛点)。.prj: 存储投影信息(WKT 文本)。致命局限:
- 字段名截断:
.dbf限制字段名最长 10 个字符(例如construction_year会变成constructi)。- 文件大小:
.shp和.dbf最大支持 2GB。- 编码地狱:
.dbf默认没有明确的编码声明,常导致中文乱码(GBK vs UTF-8)。- NULL 值:很难区分“0”和“NULL”。
基于 JSON 的纯文本格式,人类可读。
FeatureCollection 包含 Features,每个 Feature 包含 geometry 和 properties。基于 SQLite 数据库的单文件容器,OGC 标准。
Rule of Thumb (经验法则):
- 做分析、存数据:永远首选 GeoPackage。
- Web 前端展示/API 传输:使用 GeoJSON(如果是大数据量传输,考虑 PBF/MVT 矢量瓦片,这将在后续章节介绍)。
- 客户交付:如果客户老派,给 Shapefile(记得处理字段名缩写);否则给 GeoPackage。
拓扑不仅仅是几何位置,它定义了空间对象之间的连接、邻接和包含关系。拓扑关系在地图发生弹性形变(如投影转换)时保持不变。
如果只是画图,不需要拓扑。但如果要做分析:
Target Line: ───────────────
Overshoot: |
| (Crosses over)
───|───
Undershoot: |
| (Gap)
|
Geometry: / \
/ \
/ X \ <-- Intersection Point
/ / \ \
/_/ \_\
Poly A / \ / \ Poly B
____________/ X \_____________
\_______/
(Tiny gap or overlap)
不仅是画个圈。缓冲区的本质是 Minkowski Sum(闵可夫斯基和)。 对于点 $P$ 和半径 $r$,缓冲区是圆。对于复杂多边形,它是多边形边界上每个点做圆后的包络线。
基于集合论的布尔运算。
GIS 中最强大的工具之一。将“位置关系”转化为“属性关联”。
Count(计数),Sum(求和)。Reproject 到投影坐标系(如 UTM 或 Web Mercator),使单位变为米,再做缓冲。Lat/Lon 和 X/Y。MultiPolygon 拆解或只保留了面积最大的部分(Cast to Single)。Multi,并在处理时允许 Multipart 几何。Åäö... 乱码。.cpg 文件缺失,或者软件默认用 System Locale (GBK) 去读 UTF-8 的数据(反之亦然)。Force Right-Hand-Rule 或 Repair Geometry 工具修复顶点的缠绕顺序。| < 上一章:地图世界观 | 下一章:栅格影像与遥感入门 > |