如何在QGIS中对含缺失值的降雨CSV数据生成等值线
QGIS降雨数据等值线生成问题解决方案
1. 文本型降雨量字段转换与缺失值处理
M无法被QGIS默认识别为缺失值,直接强制转换字段类型会报错或生成无效值,可通过以下两种方式处理:
- 重新导入CSV提前配置:打开数据源管理器导入CSV时,在文本分隔符设置栏找到「表示空值的文本」输入框,填入
M,同时手动将TotalPrecipitation字段的类型指定为Real(双精度浮点数),导入后该字段会自动将M识别为系统空值(NULL),其余数值为双精度类型,可直接用于分析。 - 已导入图层的快速转换:打开图层属性表,启动字段计算器,新建双精度浮点数类型的字段(可命名为
precip_double,长度建议设为10、精度设为2),输入表达式:
计算后新字段会自动将if("TotalPrecipitation" = 'M', NULL, to_real("TotalPrecipitation"))M替换为不参与运算的空值,其余文本转为可计算的数值类型。
2. 等值线生成工具说明
不需要直接使用Vector:Contour生成等值线,该工具的输入要求是连续栅格数据,你当前的散点观测数据需要先做插值处理,流程如下:
- 确认点图层使用投影坐标系(不要使用WGS84这类地理坐标系,避免距离计算误差),可过滤掉降雨量为空的观测点,降低插值误差
- 使用插值工具生成连续降雨栅格:可选择GDAL分类下的「栅格分析-反距离权重(IDW)」或者QGIS原生克里金插值工具,输入字段选择你转换好的数值型降雨量字段,设置匹配研究区域范围的像元大小,生成降雨栅格图层
- 最后使用
Vector:Contour(或「栅格提取-等值线」工具),输入生成的降雨栅格,自定义等值距即可得到降雨量等值线矢量图层。
内容的提问来源于stack exchange,提问作者Geoff Fox
相关产品推荐
相关产品推荐

