【ArcMap】使用拓扑(Topology)检查线是否存在断点
拓扑必须在地理数据库中创建,Shapefile无法创建拓扑。
第一步:创建要素数据集
-
在 Catalog 窗口中,右键点击地理数据库(.gdb),没有就新建一个数据库。
-
选择 新建(New) -> 要素数据集(Feature Dataset)。
-
在弹出的对话框中,为要素数据集命名,此处命名为 新的要素数据集。
-
接下来会弹出坐标系选择窗口。必须为要素数据集指定一个坐标系,这里建议直接选择图层的坐标系。
- 后续关于垂直坐标系和容差的窗口,通常直接点击 Next 和 Finish 即可,使用默认设置。

第二步:将线图层导入/移动到要素数据集
需要把要检查的线图层放到这个新建的要素数据集里。
-
-
右键点击刚创建的 要素数据集。
-
选择 导入(Import) -> 要素类单个(Feature Class (single)...) 或 Feature Class (multiple)...。
-
将线图层(无论是Shapefile还是其他GDB中的要素类)导入进来。
-

第三步:在要素数据集中创建拓扑
现在,拓扑选项就会出现:
-
在 Catalog 中,右键点击刚刚创建并已包含线图层的【要素数据集】。
-
现在就会看到 新建(New) -> 拓扑(Topology) 这个选项了。
-
点击后,即可开始拓扑创建。

接下来默认即可:


这里添加两条规则:不能有悬挂点(Must Not Have Dangles),必须为单一部分(Must Be Single Part),然后开始验证

验证完成后直接将结果拖到图层里:

放大红色部分,就可以看见错误了



另附其他规则:
线图层的常用拓扑规则:
| 规则名称 (英文) | 中文解释 | 适用场景 |
|---|---|---|
Must Not Have Dangles |
不能有悬挂点 | 检查道路网络、河流网络等必须连接的地方。死胡同会被标记为错误。 |
Must Not Self-Overlap |
不能自重叠 | 检查一条线是否与自己有重叠的部分。 |
Must Not Self-Intersect |
不能自相交 | 检查一条线是否与自己相交(形成环)。对于简单的线,这通常是错误。 |
Must Not Overlap |
不能重叠 | 检查两条线之间是否有重叠的部分。 |
Must Be Single Part |
必须是单一部分 | 检查一条线是否由多个不连续的部分组成。 |
Must Not Intersect Or Touch Interior |
不能内部相交或接触 | 线只能在端点处相交,不能从中间穿过或接触。 |
Endpoint Must Be Covered By |
端点必须被...覆盖 | 常用于管线与阀门点、道路与路口点的关系检查。 |
浙公网安备 33010602011771号