3. 污染源点位表格数据规范

在QGIS中批量导入污染源点位,真正决定成败的往往不是“导入”这一步,而是导入之前的表格准备。QGIS读取CSV时只认列名和值,它不会替我们判断“这个经纬度是不是写反了”“这个类型名称是不是同一类污染源”“这一行是不是缺了坐标”。因此,本节要解决的核心问题是:把一份来源各异、格式混乱的污染源清单,整理成一份字段固定、编码统一、坐标可信、缺失与异常可控的标准CSV表格。只有表格本身规范,后续的“添加分隔文本图层”才能一次成功,纠偏工作也才有明确的判断依据。

一、标准字段设计

污染源点位表格应围绕“可识别、可定位、可分类、可追溯”四个目标设计字段。建议固定为七个字段,字段名使用英文短名并保持全表一致,避免中文列名在不同系统间转换时出现乱码或匹配失败。字段定义如下:

字段名 中文含义 数据类型 是否必填 说明与示例
source_id 编号 文本 必填 唯一标识,如 WS-2024-001,不可重复
source_name 名称 文本 必填 污染源全称,如“××化工有限公司”
source_type 类型 文本(受控词表) 必填 从固定分类中取值,如“工业废水”“废气”“固废堆场”
longitude 经度 数值 必填 WGS84 十进制度,东经为正,如 116.397
latitude 纬度 数值 必填 WGS84 十进制度,北纬为正,如 39.908
address 地址 文本 选填 用于人工核对,不参与定位
remark 备注 文本 选填 记录数据来源、纠偏情况、存疑说明

这里需要特别强调坐标参照约定:本课程统一采用 WGS84 地理坐标系,经度在前、纬度在后,单位为十进制度,东经和北纬取正值。若原始资料使用西安80、CGCS2000 或地方平面坐标,必须先转换到 WGS84 再入库,不能把平面坐标的米制数值直接填进经纬度列。字段顺序建议固定为上述顺序,便于批量处理和人工比对。

二、缺失值的处理策略

缺失值不能“一刀切”删除,而要按字段性质分级处理。编号、名称、类型、经度、纬度属于定位与识别的基础,任一缺失都会导致该点位无法正常参与后续分析,原则上应退回数据提供方补录;若确实无法补录,则单独抽出放入“待核实”表,不混入正式导入表。地址和备注缺失不影响导入,可留空或填“未提供”,但不要用“0”“无”“NULL”等字符串填充,否则会被QGIS当作有效文本读入。

实际操作中,可用表格软件的筛选功能逐列检查空值。例如在经度列筛选空白,统计缺失条数;若某条记录名称存在、地址详细,仅坐标缺失,可先依据地址做地理编码补点,并在备注中写明“坐标由地址地理编码获得,待实地核实”。这种处理既保留了信息,又让数据可信度透明可查。

三、异常值的识别与修正

异常值比缺失值更隐蔽,常见有四类。第一类是经纬度写反:纬度绝对值超过90、经度绝对值超过180,基本可判定为列错位,应交换两列后复核。第二类是量级错误:经度出现 11639 这类数值,往往是把“度分”或“度分秒”压缩成了整数,需要按原格式还原为十进制度。第三类是符号错误:我国境内经度应为正、纬度应为正,若出现负值需核查是否误加了西经或南纬符号。第四类是重复点:同一编号出现多次,或不同编号坐标完全相同,应去重并在备注中说明保留依据。

不要用“看起来差不多”的方式判断坐标是否正确。建议在QGIS中先把表格作为临时图层加载,叠加在线底图或行政区划底图,快速查看点位是否落在研究区范围内、是否落入水域或境外。落在合理范围之外的点,逐一回查原始记录,而不是直接手动改数。

四、统一编码格式与CSV保存

中文乱码是批量导入最常见的“假故障”。规范要求全表统一使用 UTF-8 编码,保存为带表头的 CSV 文件。在 Excel 中另存时选择“CSV UTF-8(逗号分隔)”;若使用 WPS 或文本编辑器,应确认导出编码为 UTF-8 无 BOM 或 UTF-8,避免 QGIS 读取时首列字段名带不可见字符。字段值中若含英文逗号,必须用英文双引号包裹整个字段,否则列会被拆错;建议在录入阶段就用中文顿号或空格替代地址中的英文逗号。

保存后应做一次“回读校验”:用文本编辑器打开 CSV,确认第一行是七个字段名、每行列数一致、中文显示正常;再在 QGIS 中用“图层 → 添加图层 → 添加分隔文本图层”加载,几何图形 X 字段选 longitude、Y 字段选 latitude,坐标系选 EPSG:4326,观察属性表字段类型是否正确、点位数量是否与源表一致。若数量不符,多半是分隔符或引号问题;若中文乱码,则是编码未统一。

污染源点位表格:从原始清单到标准 CSV 原始清单常见问题 ① 经纬度写反 / 列错位 纬度 > 90 或经度 > 180 ② 度分秒压缩成整数 11639 → 116.65 需还原 ③ 符号错误 / 坐标系混用 平面米制误填经纬度列 ④ 编号重复 / 坐标重复 同一点位多次录入 ⑤ 关键字段缺失 坐标、类型为空 ⑥ 编码不统一 GBK 导致中文乱码 清洗 标准字段(7 列固定) source_id 编号(唯一) source_name 名称 source_type 类型(受控) longitude 经度(WGS84) latitude 纬度(WGS84) address 地址(选填) remark 备注(选填) 坐标约定 经度在前、纬度在后 十进制度,东经/北纬为正 EPSG:4326 保存 标准 CSV 与回读校验 source_id,source_name, source_type,longitude, latitude,address,remark WS-2024-001,××化工, 工业废水,116.397, 39.908,××路1号,已核 ✓ UTF-8 编码,无乱码 ✓ 首行为字段名 ✓ 每行列数一致 ✓ 含逗号字段加引号 ✓ QGIS 加载点数一致 ✓ X=经度 Y=纬度 ✓ 点位落在研究区内 ✓ 属性类型正确 不通过则回退 查分隔符 / 编码 / 坐标列

五、一份可直接套用的字段模板

为便于各科室统一填报,建议直接下发如下表头模板,并在填报说明中写明:编号按“WS-年份-三位流水号”编制;类型只能从“工业废水、工业废气、固废堆场、加油站、规模化养殖、其他”中选取;经纬度保留六位小数;地址中不使用英文逗号;备注用于记录坐标来源与核实状态。模板首行如下,可直接复制到表格软件首行后另存为 CSV UTF-8:

source_id,source_name,source_type,longitude,latitude,address,remark
WS-2024-001,示例化工有限公司,工业废水,116.397128,39.908256,示例区示例路1号,坐标来自排污许可证附件
WS-2024-002,示例加油站,加油站,116.412300,39.915700,示例区示例大道8号,坐标由地址地理编码获得待核实

需要提醒的是,上表中的坐标与名称为教学示例,仅用于说明格式,不代表真实污染源位置。实际填报时应以排污许可证、环评文件或实地采集的坐标为来源,并在备注中保留来源说明,这样在后续纠偏时才能判断“是原始数据错了,还是转换过程错了”。

六、规范落地后的判断依据

一份合格的污染源点位 CSV,应当同时满足四个可检查的条件:字段名与顺序固定且无多余列;编号唯一、类型取值受控、经纬度为合理范围内的十进制度数值;全表 UTF-8 编码且中文正常显示;在 QGIS 中加载后点位数量与源表记录数一致、点位空间分布与研究区吻合。满足这四条,才进入下一步的批量导入与纠偏;任何一条不满足,都应回到表格阶段修正,而不是在 QGIS 里反复试错。把数据规范做在前面,后面的导入和纠偏才会变成可预期、可复现的常规操作。