ARC查悬挂线流程:
1、前提条件:
(1) CAD查是否有废数据(ssget \。
(2) CAD将人为提取的悬挂弧单独生成块文件,并把原文件内的悬挂弧删除。 (3) CAD运行breaklw将超出500节点的线对象打断。
(4) 另存为CAD2000 .dxf文件,路径及文件名以数字或字母命名。
例如:e:\\temp\\dljxdldm.dxf。可以跟原来的DWG文件放在一起名字取不同的。 2、拓扑处理
(1) 运行ArcInfo(Arc)。
(2) 在命令行输入“w”查看当前工作目录或修改当前工作目录。 (3) 运行“dxfarc”命令将dxf文件输出coverage格式文件。 例如:dxfarc dljxdldm.dxf dljxdldmcov,运行结果如下: Arc: w
Current location: d:\\workspace Arc: w e:\\20071025
WARNING: New location is not a Arc: w
Current location: e:\\20071025
Arc: dxfarc dljxdldm.dxf dljxdldmcov
(文件转换时的dljxdldm.dxf名字必须与外面文件夹里需要处理的DXF名字一致) Enter layer names and options (type en or $rest when done) ================================ Enter the 1st layer and options:$rest all
Do you wish to use the above layers and options (y/n)? y
Processing E:\\20071025\\dljxdldm.DXF . Externalling BND and TIC...
72282 Arcs written. 60863 Labels written.
60863 Annotations written. 2 Annotation levels. Arc:
(4) 运行clean dljxdldmcov dljxdldmclean 0.00001 0.00001 ;(“clean”命令进行拓扑): [dljxdldmclean指新生成的coverage文件],运行结果如下: Arc: clean dljxdldmcov dljxdldmclean 0.00001 0.00001 Cleaning E:\\20071025\\dljxdldmCOV Sorting... Intersecting...
Assembling polygons... Arc:
(5) 运行“quit”命令自动退出arcinfo。
3、检查错误
(1) 运行ArcCatalog。
(2) 新建个人Geodatabase空间数据库文件(例如DATABASE数据库)及新建要素集(例如DLYS地类要素)。
新建要素集时需点击“Edit导入“按钮设置坐标范围(引入结图表内廓线坐标范围)。 (3) 如下:(只检查悬挂线只需导出DLJX和dljx_db)
a.将(coverage)文件dljxdldmclean中的arc、ploygon要素类导出到{Geodabase(d)(single...)}(*2*)Geodatabase数据库DATABASE中的DLYS要素集 (arc命名DLJX;polygon命名DLTB)。
b.将dljxdldm.dxf(原文件)中的Annotation要素类(地类代码)导出到{Geodabase(d)(single...)}(*2*)Geodatabase数据库DATABASE中的DLYS要素集 (Annotation命名DLDM)。
c.将底下dljxdldmcov里的dljxdldmclean.acode(在下面)属性表(DLJX属性表)导出到{Geodabase(G)(single...)}(*3*)Geodatabase数据库DATABASE
(命名为dljx_db)(存放路径到刚才新建的数据库:Geodatabase.mdb里) (4) 关闭ArcCatalog,运行Access打开数据库:DATABASE.MDB。
(5) 打开DLJX表,右击/设计视图后增加字段(手工输入LAYER)(文本型,字段大小60); (手工输入DWKD)(数字型,双精度,默认值0删除),保存修改,关闭DLJX表。
(6) 选中DLJX表(新对象查询里)执行查询(设计视图)(查询下)显示表添加dljx_db表, 在(查询)中选择“更新查询“,添加要更新的字段: 如:LAYER,DWKD,更新到dljx_db表相应的字段,如 LAYER-->dxf_LAYER([dljx_db]![DXF_LAYER]);
DWKD-->DXF_ELEVATION([dljx_db]![DXF_ELEVATION]),
选择表达式生成器,执行的条件为[dljx]![ID] = [dljx_db]![DJDMCLEAN_ID] .详细如下: LAYER DWKD DLJX DLJX
[dljx_db]![DXF_LAYER] [dljx_db] [DLJX]![ID] = [dljx_db] (7) 关闭Access(不保存);运行ArcCatalog。
(8) 选中数据库DATABASE中DLYS要素集内的DLJX层,记住:根据条件[LEFTPLOYGON=RIGHTPLOYGON]
导出到{Geodabase(d)(single...)}(*3*)Geodatabase数据库DATABASE中的DLYS要素集,命名为DLJXerror。
(9) 关闭ArcCatalog,运行Access打开DATABASE.MDB。
(10) 打开DLJXerror表,删除字段LAYER值为线状地物的记录。保存 (11) 关闭Access,运行ArcCatalog。
(12) 选中数据库DATABASE中DLYS要素集内的DLJXerror层,导出到AutoCAD(此CAD文件内要素全部是需处理的悬挂线)。 (13) 关闭ArcCatalog,运行AutoCAD。
(14) 打开DLJXerror层导出的dwg文件(例如DLJXerror_ExportCAD.DWG),把图幅单位改为米,并将所有线对象图层改为DLJXerror,(为区分方便最好将现在DLJXerror线改粗改其他颜色)保存退出。
(15) 打开dwg原文件,插入块DLJXerror_ExportCAD.DWG。 (16) 使用线追踪命令逐一修改。
仅限查是否有悬挂线可如下:
选中数据库DATABASE中DLYS要素集内的DLJX层,记住:根据条件[LEFTPLOYGON=RIGHTPLOYGON]
导出到{Geodabase(d)(single...)}(*3*)Geodatabase数据库DATABASE中的DLYS要素集,命名为DLJXerror。
查空代码流程:
先把DLTB和DLDM相交:
打开ArcCalalog程序
打开ArcToolbox工具箱(红红的箱子)
打开Geoprocessing_Wizard_Tools底下intersect打开后添加原来导出的DLTB、DLDM确定。 输出要素:(系统自动默认到相应的文件中) 打开数据库:***Geodatabase.mdb
关闭ArcCatalog
DLTB和DLDM相交查空代码流程:
打开数据表
1.在DLTB(右键设计视图)中的空格里直接添加DLDM(文本)字段。关闭保存
2.打开,DLTB(插入-查询-设计视图)和在显示表中添加打开(DLTB\\DLDM)Intersect表到’更新到’。(先:查询-更新查询):
DLTB与(DLTB\\DLDM)Intersect进行如下: 字段:DLDM (\\ZJ) 表:DLTB
(要用生成器--表)更新到:[(DLTB\\DLDM)_Intersect]![Text_]
(要用生成器--表) 条件:[DLTB]![OBJECTID] = [(DLTB\\DLDM)_Intersect]![FID_DLTB]
运行:(!)
3.打开ArcCallog(给条件:[DLDM] IS NULL)
将DLYS里DLTB导出到(*3)DLYS中名为NODLDM(放在库里)
给条件:[DLDM] IS NULL。
4.将NODLDM导出CAD. 打开原图插入NODLDM点逐一进行修改。
把面转成点工具:
OK.
或者也可以:(我认为没必要)
5.将NODLDM图斑线文件转换成点状输出。
将NODLDM导出(*5)shapefile(D)(single)…(放在文件夹外面!不放库里) MapGis打开文件转换:
装入shape文件;保存区;打开WP文件;生成Label点文件;保存; 文件转换:装入点文件;GIS数据方式输出DXF。 6.打开原图插入NODLDM点逐一进行修改。
DLTB和DLDM相交查多代码流程:

