PostGIS 栅格分区统计怎么做:ST_SummaryStats、NoData 与面积口径

Dr.GIS
wowwwai GIS研习社 · 工具流程与项目排障

PostGIS 栅格分区统计怎么做:ST_SummaryStats、NoData 与面积口径

问题场景

拿到 NDVI、降雨或高程栅格后,按地块统计均值似乎是最直接的空间分析任务。但当结果出现负值、某些地块为空、边缘小地块差异很大时,原因往往不是 SQL 写错,而是 NoData、像元覆盖比例、坐标系和面积口径没有被明确。PostGIS 栅格函数适合把这类计算放进数据库批量执行,前提是先知道“一个统计值代表什么”。

统计单元与像元网格必须对齐理解

栅格像元中心、像元面积与地块边界不可能天然一致。分区统计通常取与地块相交的像元,但是否按相交面积加权,需要与业务目标一致。用于趋势对比时应固定分辨率和裁剪策略;用于精确核算时要说明部分像元的处理。

NoData 是缺测语义不是零值

把 NoData 当 0 会把云区、传感器空洞和裁剪外区域误解释为低值。调用统计函数前检查每个波段的 NoData 值和掩膜来源,并将有效像元数作为结果字段输出。有效像元太少的地块应标为不可比,而不是保留一个貌似精确的均值。

均值和面积加权回答不同问题

平均 NDVI 描述的是有效像元数值分布,不一定代表地块总体植被量;若要推算总量,应结合像元面积和覆盖比例。不同产品的缩放因子也应在 SQL 前恢复为物理值,不能把存储整数直接拿去解释。

小面与边缘像元需要单独标记

面积小于几个像元的地块极不稳定,边缘位置偏半个像元就会改变结果。设置最小有效像元数或最小覆盖率,并把阈值写入成果说明。

实操流程

  1. 核对 raster 的 SRID、像元大小、波段 NoData 和缩放因子,建立影像批次元数据表。
  2. 将分区边界转换到同一 SRID,先用 ST_Intersects 限制候选瓦片。
  3. 调用裁剪与统计函数,输出均值、最小最大值、有效像元数和覆盖率。
  4. 按地块面积与有效像元数设置质量标记,低于阈值的记录不参与排序。
  5. 随机选择不同大小、不同边缘位置的地块,与桌面 GIS 结果交叉验证。

抽样复核与交接

在把“PostGIS 栅格分区统计怎么做:ST_SummaryStats、NoData 与面积口径”写进日常生产流程前,先为本次数据建立一份可回放的运行记录。记录不应只写“处理成功”,而要包含输入数据的来源、获取时间、空间范围、记录数、坐标参考、字段版本和操作者。若输入来自多个部门,还应标明哪一份被视为权威来源,以及发生不一致时由谁确认。

抽样不能只挑地图上看起来正常的区域。至少覆盖范围边缘、属性缺失、历史批次、新增对象和高密度区域;每类样本都要能追溯到稳定 ID。对连续数值,可同时比较最小值、最大值、中位数和异常分位数;对分类结果,则比较类别数量、空值率与前后批次的变化。这样能比单纯浏览地图更早发现口径漂移。

建议把复核结果分成通过、需解释和需返工三类。通过项给出抽样依据与证据位置;需解释项保留业务确认记录;需返工项写清触发规则、影响范围和重跑条件。不要为了让报表整齐而把例外值直接删掉,例外本身往往揭示数据采集、编码或模型边界中的真实问题。

对于会反复运行的任务,应固定参数快照。软件版本、脚本提交号、数据库查询文本、环境变量和关键容差都应随成果留存。特别是日期范围、空间过滤和坐标转换参数,最容易在下一次执行时被默认值替换。参数可复现,才能解释两个批次的结果差异究竟来自数据变化还是流程变化。

交接材料最好同时提供机器可读和人可读两种形式:机器可读的 CSV、日志或 SQL 便于复跑,人可读的说明表帮助审阅者理解字段、单位和质量阈值。将成果链接、源数据定位和异常清单放入同一交付目录;只交付最终地图或截图,会让后续人员失去判断结论可靠性的依据。

发布或入库后再做一次独立抽检。由未参与配置的人按说明重做少量样本,对照对象数量、关键属性、空间位置和统计结果。若独立复现无法得到相同结论,应优先补足说明或修正流程,而不是用口头解释代替证据。这个小成本步骤能有效发现隐藏的本地路径、缓存和权限依赖。

最后,为成果设定复查触发器:数据源更新、字段字典变化、软件升级、行政边界调整或业务口径变更时,必须重新检查本流程的关键假设。把触发器写入项目任务单,能避免旧脚本在新数据上静默运行。GIS 成果真正可信,不是因为某次运行没有报错,而是因为每次变化都能被发现、解释和复验。

项目避坑与质量检查

关键检查点:应把“无结果”分成没有影像、全是 NoData、边界不相交和低覆盖率四类。它们对后续决策的含义完全不同。上线前用三块已知地块手算或在独立软件复算,比较均值和有效像元数;只比较均值会漏掉 NoData 处理不一致。

FAQ

为什么某些地块统计为空?

可能无相交影像、像元全为 NoData 或 SRID 不一致,应按原因分类。

NoData 可以改成 0 吗?

只有业务明确规定缺测即为零时才可以,遥感栅格通常不应如此处理。

小地块结果可靠吗?

需看有效像元数和覆盖率;像元太少时应标记为低置信度。

总结

可信的分区统计先解释像元,再解释数值。把 NoData、覆盖率和有效像元数一同交付,数据库计算才不会制造伪精度。