矢量与栅格用不同离散方式表达地理现象
比较矢量对象和栅格场在边界、连续性、分辨率、拓扑和分析运算上的表达差异及转换损失。
矢量与栅格用不同离散方式表达地理现象
地理世界既可以看作有身份和边界的对象,也可以看作在空间中连续变化的场。矢量模型用点、线、面表达对象,栅格模型用规则网格中的像元表达场值。两者不是简单文件格式之分,而是对现象怎样离散化的不同假设。
道路中心线、行政区和地块适合对象视角;高程、温度和影像通常适合场视角。实际项目常同时使用两种模型,并在转换时承担尺度和语义损失。
矢量模型强调几何对象与属性
点表示在当前尺度下可忽略面积的位置,线表示一维路径或边界,面表示有内部和边界的区域。几何与属性记录关联,使每个对象可以拥有名称、类别和生命周期。
坐标精度不等于对象边界真实性。折线顶点很多可能来自过度采样,行政边界坐标精确也不代表自然边界没有不确定性。元数据应记录采集比例尺和精度。
复杂对象可用多点、多线和多面表示。孔洞、环方向和几何集合有明确语义,交换时若格式不支持,拆分可能丢失对象身份。
栅格模型按网格单元记录数值
栅格由行列、像元大小、原点、旋转和 CRS 定位。每个像元可保存连续量、类别、概率或多个波段。像元值代表中心、面积平均还是其他统计,取决于产品定义。
分辨率决定最小网格尺度,不等于可识别对象的真实细节。一个十米像元可能混合多种地物,放大显示不会增加观测信息。
NoData 与有效零值必须区分。无数据可能来自范围外、云遮挡或处理失败,不同原因最好由质量层表达。把 NoData 当零参与统计会造成系统偏差。
对象与场的选择取决于问题
一条河可以作为带名称和等级的线对象,也可以作为水深、流速和淹没概率栅格。没有唯一“正确模型”,应根据查询、分析和更新方式选择。
离散对象边界清楚时,矢量便于选择、编辑和拓扑分析。连续变量使用栅格,可直接进行邻域、地图代数和卷积。模糊边界现象若强制画成精确面,会隐藏分类不确定性。
数据模型还受采集方式影响。遥感天然生成栅格,GNSS 轨迹先形成点序列,地籍调查直接建立边界对象。转换不能恢复采集时未观测的信息。
拓扑在两种模型中表达方式不同
矢量拓扑描述相邻、连通和包含。共享边界可以只存一次,网络节点和边形成图。简单要素模型则常让每个几何独立存储,关系通过空间谓词计算。
栅格邻接由网格结构隐含,四邻域和八邻域会产生不同连通结果。对角接触的两个像元在一种定义下连通,在另一种下分离,算法需要明确。
栅格化的边界呈阶梯状,矢量化又可能生成大量小面和锯齿。拓扑清理必须有容差和业务规则,不能只追求几何有效。
矢量转栅格需要烧写规则
栅格化要选择网格范围、像元大小、对齐和属性值。线穿过像元时,是只烧写中心命中、任何相交,还是按覆盖比例,需要与任务一致。
多个对象落入同一像元时,要确定优先级、总和、平均或类别投票。处理顺序若隐式决定结果,重复运行可能因数据排序不同而变化。
输出分辨率过粗会让窄线和小面消失,过细只产生更多像元,不会提高源边界精度。网格应与后续数据对齐,避免重复重采样。
栅格转矢量需要定义对象形成规则
对分类栅格矢量化时,相邻同值像元可合成面。邻域定义、孔洞和对角连接影响对象数量。噪声像元会生成大量碎片,常需先滤波或设最小面积。
连续栅格不能直接形成有意义对象,通常先等值线、阈值或分区。阈值把连续变化切成类别,边界位置依赖像元和插值,不应宣称为实测线。
矢量化后平滑边界可以改善显示,却会移动位置和面积。原始栅格、算法和参数应保留,以便追溯。
存储和访问模式影响工程选择
矢量数据常按对象和属性查询,可使用空间索引缩小候选;栅格按窗口和块读取,内部分块与概览决定大影像性能。单纯比较文件大小没有意义。
高密度点或复杂多边形的矢量体积可能超过栅格,稀疏事件用栅格又会浪费大量空单元。云端访问还需考虑范围请求、压缩和服务切片。
GDAL 提供多种矢量和栅格驱动,但格式转换成功只证明语法可写。字段类型、编码、CRS、NoData 和拓扑可能在转换中改变,需要输出校验。
混合分析必须先统一空间语义
用行政区统计栅格时,要确定像元中心归属、面积权重和边界像元处理;用栅格成本进行网络分析时,又要说明如何把道路与网格连接。混合方法中的默认规则会影响结果。
CRS 与单位也要统一。地理坐标网格的像元地面面积随纬度变化,直接求和会偏差;矢量面积若在不合适投影中计算也同样错误。
矢量和栅格分别擅长对象与场,但真实应用常需要二者协作。明确离散方式、尺度、转换规则和误差,才能把数据模型差异变成可控选择,而不是隐藏在格式转换按钮之后。
资料依据
- Open Geospatial Consortium:Simple Feature Access,https://www.ogc.org/standards/sfa/
- GDAL Project:Documentation,https://gdal.org/en/stable/