CAD文件按特征值转换为多个shp文件

  1. 选择显示字段并查看。

    在ArcMap中加载roadline.dwg文件,忽视【未知的空间参考】警告,进入roadline.dwg polyline的【图层属性】对话框,单击【字段】选项卡,在【选择哪些字段可见】栏中先点击 ,取消所有字段,然后选中【Layer】字段,按【确定】键返回。此时查看roadline.dwg polyline的属性表则只剩Layer一个属性项了。

  2. 查询构建器。

    打开并进入roadline.dwg polyline的【图层属性】->【定义查询】,单击【查询构建器】,输入:“Layer” Like ‘道路红线’,按【确定】返回,则道路线图层中仅有道路红线。

  3. 导出数据

    右键单击roadline.dwg polyline,在快捷菜单中选择【数据】->【导出数据】,按如下进行设置,按【确定】键,并将导出的数据roadside.shp加载到ArcMap中。

    采用相同方法,将roadline.dwg polyline中的道路中心线导出为roadcnt.shp。

    注意:导出完成后要将查询构建器清除。

导入CAD线实体,并检查数据质量。

运用ArcGis中的地理数据库拓扑。

建立拓扑

  1. 创建数据库。

    在ArcCatalog中新建GeoDB文件数据库,在数据库中新建Road要素数据集,其坐标系为“投影坐标系”中的“Gauss Kruger->Xian 1980 3 Degree GK CM 120E”,XY坐标容差为0.001m。将roadnet.dwg polyline导入为roadnet.shp的线要素类,注意选择保留或舍弃的属性,若无保留,则可以看到新建的要素属性表中只有ID、Shape和Shape_Length三个字段。

  2. 新建拓扑。

    在Road要素数据集上新建拓扑Road_topology,拓扑容差为0.01m,选择roadnet为参与拓扑的要素类,添加以下三条拓扑规则(不能有伪节点,不能有悬挂点,不能相交或内部接触),确认无误,按【完成】键,计算生成拓扑关系。立即验证,生成拓扑类Road_topology。

标记异常

  1. 异常显示。

    新建文档,加载Road_topology,添加所有参与的要素类,可以看出有9处悬挂点错误是道路端点引起的异常。在内容列表中双击Road_topology,在弹出的【图层属性】->【符号系统】中,勾选【点异常】。

  2. 检查错误。

    添加【拓扑】工具条,在编辑工具条中选择【开始编辑】,在【拓扑】工具条上单击【错误检查器】,按照如下进行设置,点击【立即搜索】,得到42个错误。列表中的错误与地图上的红点、红线一一对应。

  3. 标记异常。

    单击每一条记录,地图上的红点变为黑点,如果判断为道路端点,鼠标右键单击该行,在弹出的菜单中选择“标记为异常”,该黑点会消失,该条记录也从错误检查器窗口中消失,这样的异常点共有9处,只有2处是不满足“不能有悬挂点”的拓扑错误,必须用手工修正。关闭错误检查对话框。

修正悬挂点

标记异常后,还剩两处悬挂点,是该连续的线未连接造成。(修正这类错误采用的方法是利用捕捉功能,在两个应连接的端点之间输入一条短线,或者用编辑折点的方法,拖动某个端点,使它捕捉到另一个端点上。)

修正方法:

批量修正方法:

消除伪节点、重复线、打断交叉线

使用【编辑器】工具条上的编辑工具 ,框选图层road上的所有线要素,选择【编辑器】->【合并】,按【确定】键,进入选择集的所有线要素都合并成一个要素。

选择【编辑器】->【更多编辑工具】->【高级编辑】,调出高级编辑工具条,用要素选择工具 选择合并后的唯一线要素,使用打断相交线工具 ,输入“拓扑容差0.1m”,按【确定】键,合并后的线要素在交叉点断开,可以看到图层road的线要素伪结点已去除、重复线也被删除,所有的线要素在交叉处被打断,成为独立的线段,表示拓扑错误的红色标记均消失。

用【验证指定区域的拓扑工具 】进行检查,可以看到仅有9处表示拓扑错误的红点,都是原先标注的悬挂点“异常”,其他的拓扑错误均不存在。保存编辑,停止编辑。

线要素生成多边形

启动ArcToolbox->数据管理->要素->要素转面,注意可以设置标注要素,按【确定】即得面要素。