4. 矿体面缝隙的闭合与拓扑重建
缝隙的几何特征与闭合策略
相邻矿体面之间的缝隙通常不是规则多边形,而是由两条近似平行、间距很小的边界线围成的狭长条带。它的成因多为两次数字化采集时边界线未完全重合,或边界线在某个节点处提前折返。修复前必须先量化缝隙的宽度与长度,再决定用“延伸边界线”还是“插入连接线”来闭合。
判断依据可以归纳为两个参数:最大缝宽 w(缝隙两侧边界线之间的最大距离)和缝隙长宽比 r(缝隙长度与最大宽度之比)。当 w 小于图层捕捉容差、且 r 较大时,缝隙本质是“线未贴合”,应延伸或吸附边界线;当 w 超过容差、缝隙呈块状时,直接延伸会造成边界穿越,应插入连接线把缝隙切成可归属的窄条,再并入相邻矿体。
在 GIS 中定位并量化缝隙
缝隙在面图层中表现为“两个面不共享边、但距离很近”。直接目视检查容易漏掉短小缝隙,建议用拓扑规则加距离查询两步定位:
- 对矿体面图层运行“不能有缝隙(Must Not Have Gaps)”拓扑规则,得到缝隙多边形集合;若软件不支持该规则,可先对面图层做“融合(Dissolve)”,再与原始面做“对称差(Symmetrical Difference)”,差集即为全部缝隙。
- 对每个缝隙多边形计算面积 Agap、最小外接矩形长 L 与宽 w,按 w 与容差比较分类:w ≤ 容差归为“贴合型”,w > 容差归为“块状型”。
- 记录每个缝隙两侧的矿体编号,作为后续归属依据。
下面用一段可运行的 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²) | 说明 |
|---|---|---|---|---|
| 矿体 A | 8000.00 | 8120.00 | +120.00 | 吸收整条缝隙 |
| 矿体 B | 7880.00 | 7880.00 | 0.00 | 边界未动 |
| 缝隙 | 120.00 | 0.00 | −120.00 | 已闭合 |
| 合计 | 16000.00 | 16000.00 | 0.00 | 总面积守恒 |