一句话
矢量描述「离散对象」,栅格描述「连续场」;选错模型,后面的分析会一路别扭。
1. 矢量模型
基本几何(OGC Simple Features):
| 类型 | 例子 |
|---|---|
| Point / MultiPoint | 井、基站、POI |
| LineString / MultiLineString | 道路、河流、管线 |
| Polygon / MultiPolygon | 行政区、地块、湖泊 |
← 左右滑动查看完整表格 →
每个要素带一张属性表(一行记录)。面可以有洞:外环 + 若干内环(GeoJSON 里是 coordinates 的第一组与后续组)。
拓扑:在拓扑模型里,相邻面的公共边界只存一次,改一条边两边同步更新;在「意大利面条」模型(Shapefile/GeoJSON)里,每个面各自存一遍边界,容易出现缝隙与重叠。
2. 栅格模型
栅格 = 规则网格,每个像元存一个(或多个)值。
像元大小 (resolution) → 10 m
行列号 (row, col) → 第 3 行第 5 列
仿射变换 (geotransform)→ 行列号 ↔ 地图坐标
nodata → 该像元无数据
波段 (band) → 多光谱影像的多个通道
要点:
- 分辨率 ≠ 精度。10 m 分辨率表示像元边长 10 m,不代表定位误差 10 m。
- 分类栅格(土地利用、掩膜)重采样必须用最近邻(nearest),双线性会造出「不存在的类别」。
- 连续栅格(高程、温度、影像)可以用双线性/三次卷积。
- 像元是面积采样,不是点采样:一个像元的值通常代表该范围的平均/主导属性。
3. 怎么选
| 需求 | 更合适 |
|---|---|
| 精确边界、网络分析、属性查询、制图符号化 | 矢量 |
| 高程/温度/降雨等连续场、遥感影像、栅格代数运算 | 栅格 |
| 大面积叠加统计(如缓冲区内的平均坡度) | 栅格(zononal statistics) |
| 拓扑一致性要求高(地块、管线) | 拓扑矢量 |
← 左右滑动查看完整表格 →
DTM/DEM/DSM 都是栅格:DEM 是地表高程模型,DSM 含建筑与植被,DTM 是裸地面。
4. 空间索引
无论矢量还是栅格,数据一大就不能逐条算。常见索引:
- R-tree / GiST(PostGIS 默认):按最小外接矩形(bbox)组织,先用
&&做粗筛,再做精确几何判断。 - 四叉树 / 网格:把空间切成桶。
- 瓦片金字塔:栅格/矢量瓦片用多级分辨率加速显示。
索引只加速「空间筛选」,不会让错误的 CRS 变正确。
延伸阅读
- OGC Simple Features:OGC SFA 标准
- GeoJSON 环方向(RFC 7946 §3.1.6):rfc7946
- GDAL 栅格数据模型:gdal.org/user/raster_data_model