4. 矿体面缝隙的闭合与拓扑重建

缝隙的几何特征与闭合策略

相邻矿体面之间的缝隙通常不是规则多边形,而是由两条近似平行、间距很小的边界线围成的狭长条带。它的成因多为两次数字化采集时边界线未完全重合,或边界线在某个节点处提前折返。修复前必须先量化缝隙的宽度与长度,再决定用“延伸边界线”还是“插入连接线”来闭合。

判断依据可以归纳为两个参数:最大缝宽 w(缝隙两侧边界线之间的最大距离)和缝隙长宽比 r(缝隙长度与最大宽度之比)。当 w 小于图层捕捉容差、且 r 较大时,缝隙本质是“线未贴合”,应延伸或吸附边界线;当 w 超过容差、缝隙呈块状时,直接延伸会造成边界穿越,应插入连接线把缝隙切成可归属的窄条,再并入相邻矿体。

① 缝隙识别 矿体 A 矿体 B 缝隙 w w ≤ 容差 → 延伸/吸附 w > 容差 → 插入连接线 ② 延伸边界线闭合 矿体 A 矿体 B A 边界延伸至 B 共享边重合,缝隙消失 A 面积略增,B 不变 总面积 = 原 A + 原 B + 缝隙 ③ 插入连接线闭合 矿体 A 矿体 B 连接线 缝隙切成窄条并入 A 或 B 归属侧面积增加,另一侧不变 总面积守恒,无重叠

在 GIS 中定位并量化缝隙

缝隙在面图层中表现为“两个面不共享边、但距离很近”。直接目视检查容易漏掉短小缝隙,建议用拓扑规则加距离查询两步定位:

  1. 对矿体面图层运行“不能有缝隙(Must Not Have Gaps)”拓扑规则,得到缝隙多边形集合;若软件不支持该规则,可先对面图层做“融合(Dissolve)”,再与原始面做“对称差(Symmetrical Difference)”,差集即为全部缝隙。
  2. 对每个缝隙多边形计算面积 Agap、最小外接矩形长 L 与宽 w,按 w 与容差比较分类:w ≤ 容差归为“贴合型”,w > 容差归为“块状型”。
  3. 记录每个缝隙两侧的矿体编号,作为后续归属依据。

下面用一段可运行的 Python 示例(基于 shapely,坐标采用投影平面坐标,单位米)演示缝隙提取与分类。示例数据为教学构造,非实测。

from shapely.geometry import Polygon
from shapely.ops import unary_union

# 教学示例:两个相邻矿体面,中间留有一条宽 1.5 m 的狭长缝隙
A = Polygon([(0, 0), (100, 0), (100, 80), (0, 80)])
B = Polygon([(101.5, 0), (200, 0), (200, 80), (101.5, 80)])

tol = 2.0  # 捕捉容差(米)

# 1) 提取缝隙:融合后与原始并集的差集
merged = unary_union([A, B])
gap = merged.convex_hull.difference(merged)  # 简化演示,实际用外包框差集
# 更稳妥:用外包矩形减去融合面,再与两面的邻接带求交
env = Polygon([(0, 0), (200, 0), (200, 80), (0, 80)])
gap = env.difference(merged)

# 2) 量化
minx, miny, maxx, maxy = gap.bounds
w = maxx - minx          # 缝隙宽度
L = maxy - miny          # 缝隙长度
area_gap = gap.area
ratio = L / w if w else float('inf')

print(f"缝宽 w={w:.2f} m, 缝长 L={L:.2f} m, 面积={area_gap:.2f} m², 长宽比={ratio:.1f}")
print("分类:", "贴合型(延伸/吸附)" if w <= tol else "块状型(插入连接线)")

示例输出为 w=1.50 m, L=80.00 m, 面积=120.00 m², 长宽比=53.3,因 w=1.5 ≤ tol=2.0,判定为贴合型,应优先延伸边界线。

闭合操作与拓扑重建

贴合型缝隙:把 A 的右侧边界线延伸到 B 的左侧边界线,或对 A 的边界节点执行捕捉,使其与 B 的边界线重合。操作后 A 与 B 共享同一条边,缝隙消失。注意延伸方向必须沿原边界线走向,避免产生折角。

块状型缝隙:在缝隙两端及中部插入连接线,把缝隙切成若干窄条,再按地质接触关系把每个窄条并入 A 或 B。连接线端点必须落在两侧边界线上,且不能穿越其他面。

闭合完成后必须重建拓扑:对图层执行“拓扑重建/几何修复”,使共享边只存储一次,并验证以下三条:

  • 相邻面之间不存在缝隙(缝隙面积总和为 0);
  • 相邻面之间不存在重叠(重叠面积总和为 0);
  • 各面面积变化可解释:贴合型修复后 A 增加量 ≈ 缝隙面积;块状型修复后归属侧增加量 ≈ 所并入窄条面积。

面积变化检查与通过条件

修复后逐面比较面积,是判断闭合是否“改对了”的关键。下表为上述示例在贴合型修复后的预期面积变化(教学示例值,由给定几何直接推算):

对象修复前面积 (m²)修复后面积 (m²)变化量 (m²)说明
矿体 A8000.008120.00+120.00吸收整条缝隙
矿体 B7880.007880.000.00边界未动
缝隙120.000.00−120.00已闭合
合计16000.0016000.000.00总面积守恒
通过条件:缝隙面积归零、重叠面积归零、总面积守恒(变化量绝对值小于 1e-6 量级的数值容差),且每个面的面积变化量能对应到具体缝隙或窄条。若某面面积变化无法解释,说明闭合时误改了其他边界,应回退重做。
延伸边界线时不要跨过第三个矿体面;若缝隙两侧并非同一接触关系,不能简单把缝隙整体并入一侧,应按接触线分段归属。拓扑重建后务必重新运行缝隙与重叠规则,不能只看面积。