4. 地质图矢量化前的数据准备

矢量化不是打开编辑器就开始描线。地质图扫描件往往存在纸张泛黄、折痕阴影、经纬网与等高线混杂、图例色块偏色等问题;如果底图没有整理好,后续描出来的界线会抖动、错位,属性录入也会因为缺少参照而反复返工。本节围绕“把一张扫描地质图变成可描、可查、可存档的矢量化工作底图”这一目标,依次处理栅格增强、裁剪掩膜、矢量图层创建、字段设计与样式预设五个环节。

一、栅格影像增强与显示调整

先明确一个原则:显示调整不等于修改数据。在 QGIS 图层属性中调整亮度、对比度、伽马值或使用“单波段伪彩色”渲染,只改变屏幕显示,不写入源文件;而通过栅格计算器或“栅格 → 转换”生成的增强结果才是新数据。矢量化阶段建议优先用显示调整,保留原始扫描件作为溯源依据。

典型操作路径是:右键栅格图层 → 属性 → 符号化 → 选择“单波段灰度”或“多波段彩色”,把“最小值/最大值”改为“累积像素裁剪 2%–98%”,再微调亮度与对比度。对于偏黄的扫描件,可在“符号化 → 颜色渲染”中把灰度波段映射到蓝灰色系,降低底色干扰,使黑色地质界线更突出。若折痕阴影严重,可用“栅格 → 提取 → 按掩膜提取”或 GDAL 的 gdal_calc.py 做一次背景校正,但要注意保留原始坐标信息。

判断增强是否到位的实用标准:放大到 1:2000 显示比例时,地层界线连续可辨、图例文字清晰、经纬网刻度不被误认为地质界线。若某条线在增强前后位置发生明显偏移,说明误用了会改变几何的处理,应回退。

二、裁剪与掩膜:把工作范围收进图幅

扫描件常带白边、图签、装订孔,直接矢量化会引入大量无效区域。裁剪分两种:按矩形范围裁剪(“栅格 → 提取 → 按范围裁剪”)适合规则图幅;按掩膜图层裁剪(“按掩膜图层裁剪”)适合不规则边界。地质图更常用后者——先用图幅边框或工作区多边形做掩膜,把有效图面裁出来。

裁剪前务必确认栅格的坐标参照系。若扫描件没有地理坐标,需要先用“栅格 → 配准”把控制点配准到目标 CRS(例如 CGCS2000 3 度带),再裁剪;否则裁剪结果只是像素范围,无法与后续矢量图层对齐。裁剪输出建议保留 .tif 格式并勾选“无数据值”,避免边缘出现黑边干扰判读。

三、创建矢量图层与字段设计

按地质图要素类型建立分层结构,是后续属性表整理的基础。建议至少建立四类图层:点图层(钻孔、泉点、产状测量点)、线图层(地层界线、断层、不整合线)、面图层(地层单元、岩体)、注记图层(地层代号、图例文字)。每层单独设置几何类型与 CRS,且与底图一致。

字段设计要“先想清楚再建表”。以线图层为例,可设计如下字段:

字段名类型说明
feature_id整数要素唯一编号,自动递增
line_type枚举/文本地层界线、断层、不整合
unit_code文本地层代号,如 J₂、P₁
attitude文本产状,如 120°∠35°
confidence整数判读置信度 1–3
source_ref文本来源图幅或扫描件编号

字段名尽量用英文短名,避免中文与特殊符号导致导出 Shapefile 时截断;枚举字段可在“图层属性 → 字段 → 值映射”中预设选项,减少录入错误。

四、图层样式初步设置

样式预设的目的不是美观,而是让描图时“看得清、分得开”。线图层建议用 0.26 mm 实线表示地层界线、0.4 mm 虚线表示断层、点划线表示不整合;面图层用低透明度填充(如 30%),保证底图纹理仍可见;点图层用 3 mm 空心圆或三角形,避免遮挡产状符号。所有样式保存为 .qml 样式文件,便于同类图幅复用。

矢量化底图与空白图层准备流程 原始扫描地质图 偏色 / 折痕 / 白边 无地理坐标 栅格增强(显示级) 累积裁剪 2%–98% 亮度 / 对比度 / 伽马 不写入源文件 栅格配准 控制点 ≥ 4 个 目标 CRS:CGCS2000 残差检查 裁剪 / 掩膜 按图幅边框掩膜 保留 NoData 输出 .tif 矢量化底图 已配准 / 已裁剪 空白矢量图层(同一 CRS,与底图对齐) 点图层 钻孔 / 泉点 产状测量点 样式:空心圆 3 mm 字段:id, type, attitude 线图层 地层界线 / 断层 不整合线 样式:0.26–0.4 mm 字段:line_type, unit_code 面图层 地层单元 / 岩体 样式:30% 透明填充 字段:unit_code, area 拓扑:面不重叠 注记图层 地层代号 / 图例文字 样式:无符号,仅标注 字段:label, font_size 与面图层联动更新 作为描图参照

五、实战:准备矢量化底图与空白矢量图层

以一幅 1:5 万区域地质图扫描件为例(示例参数,非实测):扫描分辨率 300 dpi,图幅范围约 15′×10′,目标 CRS 为 CGCS2000 3 度带。操作顺序如下:

  1. 在 QGIS 中加载扫描件,打开图层属性 → 符号化,设为单波段灰度,累积裁剪 2%–98%,亮度 +10、对比度 +15,确认地层界线连续。
  2. 使用“栅格 → 配准”,选取图幅四角经纬网交点作为控制点,变换类型选“多项式 1 阶”,检查残差小于 1 个像元后输出配准栅格。
  3. 新建工作区多边形(或直接使用图幅边框),执行“栅格 → 提取 → 按掩膜图层裁剪”,输出 basemap_clip.tif,勾选 NoData 值 0。
  4. 新建 GeoPackage,依次创建 geo_point、geo_line、geo_polygon、geo_label 四个图层,CRS 统一为 CGCS2000 3 度带。
  5. 按前述字段表建立字段,线图层设置值映射;为各图层加载预设 .qml 样式。
  6. 把裁剪后的底图置于图层组最底层,锁定图层,开始试描 3–5 条界线,检查线宽、颜色与底图对比是否清晰。
常见问题:配准后底图与矢量图层“看起来对齐、放大后错位”,多因两者 CRS 不一致或配准残差过大;裁剪后边缘出现黑边,通常是未设置 NoData 或掩膜范围小于图幅。遇到这两类情况,先查 CRS 与 NoData,再重新裁剪,不要直接开始描图。

完成上述准备后,应得到一份“坐标正确、范围干净、图层齐全、字段可用、样式可辨”的矢量化工作底图。此时再进入描图环节,界线位置与属性录入才有稳定参照,后续属性表整理也能按字段规范批量校验,而不是边描边改、反复返工。