4. 批量转换数据准备

批量坐标转换的成败,往往在打开转换工具之前就已经决定。转换程序本身只负责“按规则算数”,它无法判断某一行的 X 到底是北坐标还是东坐标,也无法知道空着的孔口标高应该补 0 还是跳过。因此,本节的核心任务是把来源各异的钻孔点位资料,整理成一张字段含义明确、坐标参照统一、可直接被程序逐行读取的规范表。这张表既是数据准备的交付物,也是后续批量转换、成果回写与质量追溯的唯一基准。

一、点位表的最小字段集与结构设计

钻孔点位表本质上是一张“一孔一行”的平面坐标清单。设计结构时,先确定哪些字段是转换必需的,哪些是业务附属的。必需字段通常包括:钻孔编号(唯一标识)、X 坐标、Y 坐标;若涉及高程转换或三维成果,还需孔口高程 Z。附属字段则包括孔名、勘探线号、孔深、开孔日期、坐标系标识、备注等。建议把字段划分为三个区段:标识区(孔号、孔名)、坐标区(X、Y、Z 及坐标系名称)、属性区(孔深、线号、日期、备注)。转换程序只读取坐标区,标识区用于回写匹配,属性区用于人工核对,这样即使属性列很多,也不会干扰转换逻辑。

字段命名要避免歧义。工程中常见的“X、Y”在不同软件里含义相反:测量坐标系中 X 常指北向、Y 常指东向,而部分 CAD 或 GIS 环境把 X 视为东向、Y 视为北向。因此表头不宜只写 X、Y,而应写成“X_北坐标”“Y_东坐标”或“N”“E”,并在表头下方或单独的说明行注明参照约定。本节统一约定:X 为北向坐标,Y 为东向坐标,Z 为高程,单位均为米,全文与图示保持一致。若原始资料采用相反约定,必须在整理阶段显式交换列,而不是留给转换程序猜测。

钻孔点位表:三区结构与检查关口 规范表结构(一孔一行) 孔号 X_北坐标 Y_东坐标 Z_高程 坐标系/备注 ZK001 3245120.35 512340.80 128.6 CGCS2000 ZK002 3245188.10 512402.55 131.2 CGCS2000 ZK003 3245260.00 512470.20 — CGCS2000 标识区 坐标区(转换读取) 属性区 约定:X=北向,Y=东向,Z=高程,单位 m;孔号唯一且不可为空。 三道检查关口 ① 缺失值 坐标空、孔号空、Z 空 → 补录或标记 ② 重复点 孔号重复 / 坐标重合 → 核实取舍 ③ 异常坐标 量级、正负、越界、单位混用 Excel / CSV 规范整理与转换前处理链 原始点位表 Excel / CSV 字段规范化 表头、单位、编码 质量检查 缺失/重复/异常 清洗后标准表 UTF-8 CSV 待转换 输入 CSV 建议:UTF-8 无 BOM、逗号分隔、首行为表头、坐标列保留 3 位小数、孔号列设为文本格式。 检查结果应形成问题清单,逐条回填处理结论后再进入批量转换,避免带病数据流入成果。

二、Excel 与 CSV 的字段规范整理

Excel 便于人工编辑,CSV 便于程序读取,两者在整理时各有陷阱。Excel 中最常见的问题是孔号被自动识别为数值:像“001”“2024-05”这类编号会被去掉前导零或转成日期。处理办法是在导入前把孔号列预设为“文本”格式,或在编号前加单引号,导出后再统一去除。坐标列则要防止科学计数法显示和多余小数位,建议统一设置为数值型、保留 3 位小数,并关闭“显示公式”。此外,合并单元格、表头跨行、表尾合计行都会破坏“一孔一行”的结构,必须在整理阶段拆开或删除。

CSV 的问题集中在编码与分隔符。中文 Windows 环境默认可能输出 GBK 编码,而转换程序多按 UTF-8 读取,结果孔名变成乱码。规范做法是另存为“CSV UTF-8(逗号分隔)”,并确认文件首行就是字段名。若孔名或备注中含有逗号,必须用双引号包裹整个字段,否则列会错位。整理完成后,可用文本编辑器打开 CSV 抽查前几行,确认列数与表头一致、坐标未被引号或空格污染。一个可直接套用的规范如下:

孔号,X_北坐标,Y_东坐标,Z_高程,坐标系,孔深,备注
ZK001,3245120.350,512340.800,128.600,CGCS2000,150.0,
ZK002,3245188.100,512402.550,131.200,CGCS2000,142.5,见断层
ZK003,3245260.000,512470.200,,CGCS2000,138.0,高程待补

注意第三行 Z 为空,这正是下一环节要处理的对象。字段顺序一旦确定,就应作为模板固定下来,后续所有批次数据都按同一顺序整理,转换程序的列映射配置才能复用。

三、缺失值、重复点与异常坐标的初步检查

缺失值检查要区分“可补”与“不可补”。孔号或 X、Y 为空属于致命缺失,该行无法参与转换,必须回查原始记录补录;Z 为空则视用途而定,若只做平面坐标转换可暂时保留空值并标记,若需三维成果则必须补测或注明来源。检查时可用筛选或条件计数快速定位空单元格,并把每一处缺失登记到问题清单,写明孔号、缺失字段和处理结论,而不是简单删除行。

重复点检查分两个层次。第一层是孔号重复,通常由多次录入或合并表格造成,可用“删除重复项”按孔号去重,但要先比对两行的坐标是否一致,避免误删坐标不同的同名孔。第二层是坐标重合,即不同孔号落在同一点上,可能是复制粘贴错误,也可能是相邻浅孔共用孔位。对坐标重合的记录,应计算两点距离,距离为 0 或小于合理阈值(例如 0.01 m)时列入疑似清单,由地质人员确认是保留、合并还是修正。

异常坐标检查最容易被忽视,却对批量转换危害最大。常用判断包括:坐标量级是否与工作区一致(例如北坐标应在 3245000 附近,若出现 512340 说明 X、Y 可能写反);正负号是否符合所在投影带约定;数值是否超出合理范围;单位是否混用(米与千米);小数位数是否异常。可以先用最小值、最大值和平均值做一次统计扫描,再对偏离均值过大的记录逐条核对。下面给出一个简单的检查思路示例,用于说明判断逻辑,实际数值需按项目工作区设定:

# 示例:按列统计范围,辅助发现量级异常(参数为假设)
X_北坐标  最小 3244980.2  最大 3245310.7  均值 3245145.6
Y_东坐标  最小 512280.4  最大 512510.9  均值 512395.1
Z_高程    最小 121.3     最大 136.8     空值 1 条
疑似问题:ZK017 的 Y=51234.08,量级偏小,疑漏位或单位错误

把三类检查的结果汇总成一张问题清单,是数据准备阶段最实用的交付物。清单至少包含孔号、问题类型、原始值、判断依据和处理结论四列,处理完毕后再重新导出标准表。只有清单上的问题全部闭环,标准表才具备进入批量转换的资格。这样做的价值在于:转换程序面对的是干净、同构、可追溯的输入,后续即使成果出现偏差,也能快速定位是数据问题还是参数问题。

建议在标准表中额外保留一列“数据状态”,取值如“正常 / 已补录 / 待确认 / 已剔除”,转换时可按该列筛选,既保证批量处理效率,又保留人工复核的痕迹。