您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > ArcGIS以工作流的方式处理GIS到CAD格式的数据转换
ArcGIS以工作流的方式处理GIS到CAD格式的数据转换在CAD和GIS数据格式之间进行互操作是ArcGIS用户面临的一个基本问题。本文介绍如何使用ArcGIS数据互操作模块提供的数据模型转换能力向CAD环境导入和导出数据。基于ESRI加拿大有限公司商业合作伙伴SafeSoftware公司提供的要素操作引擎(FME)技术,ArcGIS互操作模块向ArcGIS提供了空间数据提取,转换和加载(ETL)功能,使用户可以使用多种数据格式工作。在ArcGIS9.2中,ArcGIS数据互操作扩展模块在结构上进行了更新,使用户可以导入导出任何互操作格式。在文本的示例中,数据将被转换至CAD环境,目标格式是MicroStationDesign格式(可以参见DGN或IGDS)。源数据采用文件空间数据库(FileGeodatabase)。同样的步骤法也可以用于ArcSDE。开始在开始这个例子之前,你需要从ArcUseOnline的网站上下载示例数据集Waterworks.zip,然后解压文件。在这个示例中数据被解压到“E:\工作日程\中国通讯”文件夹下,读者可以根据自己需要更改相应目录,如果没有安装数据互操作扩展模块或者没有授权,可以从下载它的一个评估版。创建空间ETL工具首先,你需要创建空间ETL工具,一旦工具被创建,工作台(Workbench)将呈现,这是用于数据转换建模的环境。1.启动cCatalog,时激活ArcGIS数据互操作扩展模块,选择工具扩展,选中数据互操作扩展模块旁边的选择框,如果ArcToolbox不能在ArcCatalog中看见,可以通过显示/隐藏ArcToolbox的按钮添加。2.创建新的用户工具箱通过右击ArcToolbox节点选择新建,新的用户工具箱命名为ArcUserToolbox,右击ArcUserToolbox,选择新建,创建空间ETL工具,该操作将启动创建转换工作空间(CreateTranslationWorkspace)向导。3.点击(…)按钮将弹出数据格式对话框,显示支持的数据格式类别,在数据类别选择中的搜索文本框中输入”esri”,这将在列表过滤ESRI相关格式,选择ESRI空间数据库(基于文件),点击确定和下一步。4.在源数据选择界面,定位到Waterworks.gdb文件,然后选择下一步。5.在目标数据类型界面,打开数据格式对话框,在左下角的搜索文本框中输入”DGN”,选择MicroStationDesign,然后选择确定返回到向导,点击下一步。6.在目标设定界面,点击设定显示DesignFileOutputSettings对话框,点击CellLibraryFile文本框的(…)按钮,当提示出现,定位到C:\ProgramFile\ArcGIS\DataInteroperabilityExtension\design\defaut.cel(这个取决于ArcGIS的安装目录)点击打开,点击确定接受设置返回到向导,点击下一步完成向导,然后点击完成按钮,运行工作台(Workbench)。设定数据输出ArcGIS数据互操作扩展可以基于属性值输出多个数据集,这个非常有用的功能被称作“数据集输出”,在空间数据库中包含两个要素类:Pipe和Valve,这两个要素类具有相同的字段TILE,TILE字段和原始数据的图幅号关联,将所有的数据都输出到单个的DGN文件对CAD用户来说不太实际,为了解决这个问题,本例程将根据每个地图的图幅号或标题,输出多个DGN文件。1.在导航条中,展开目标数据集的节点标识—NotSet[IGDS],在此之下,展开参数节点。2.双击DestinationDesignFile节点(蓝色的齿轮标识),当提示设置创建目标数据的路径,指定E:\工作日程\中国通讯\test_\test.dgn,注意目标数据集已经标识为test[IGDS]。3.右击test[IGDS]选择输出数据集,启动输出参数对话框。4.设置输出的前缀到E:\工作日程\中国通讯\使用TILE属性作为输出的条件,输出后缀还是保留默认值(.dgn),点击OK,注意图标已经自动更改,意味着输出准备就绪。标注PIPE要素对CAD用户在说,这些属性数据还不能立即可用,因为不能将数据库和CAD图关联起来,为了适应这些用途,这些信息将通过图形的方式呈现,水管的管径将被标注在每段水管的中部。1.通过粘贴复制创建新的目标要素,在目标要素类型1的右键菜单中选择复制,这样将创建名为3的目标要素,工作台(Workbench)有许多工具用于属性和几何数据的转换,这些工具被称为转化器。2.在导航条中,选择集合标签,然后再搜索文本框中键入“label”,这样将对所有的转换器进行过滤,只显示和要素标注有关的转换器,双击LabelPointReplacer将其添加到工作台(Workbench)的画布中来,LabelPointReplacer作用是读取要素,同时将它的几何类型转换为点以便进行标注。3.点击PIPES的绿色输出端口(箭头),将它拖放到LabelPointReplacer转换器的输入端口,该步骤将连接PIPES输出到LabelPointReplacer。4.不同颜色的属性按钮表示转换器属性的不同状态,蓝色表示属性被检查合法,黄色表述属性合理,但是没有被检验,有可能不正确,红色(带有个感叹号)表示需要的参数还未被输入,在本例程中,LabelPointReplacer的属性按钮是红色的,点击LabelPointReplacer的属性按钮,当参数对话框出现的时候,选择ANNO_DIAM属性作为标注对象,同时设定高度参数为4,点击OK接受设置,注意这时属性按钮已经变成蓝色的,连接LabelPoint的输出到目标要素类3。转换导出pipes是非常简单的,DIAMETER属性将用于说明每条相关管线的宽度而不需要依赖属性信息,同样的处理方法也可以用来修改管道的颜色和符号,格式属性描述了数据的结构和符号化信息,用户属性是对要素本身的描述,例如,CAD文件的一条线可以被描述为红色(一种格式化属性),而同样的一条线可能通过用户数描述它是两车道的高速公路,一些普通的格式属性,在默认情况下可用,而其他一些需要在属性对话框中设置才能暴露,格式属性igds_weight在默认情况下可用,注意在目标要素上的igds_weight端口(箭头)是红色的,这表示当前还没有值被传递给要素的属性。1.点击(+)符号,展开PIPES数据源和目标要素类型的属性列表。2.连接源数据的DIAMETER属性到目标数据类型1的igds_weight属性。转换VALVE要素下一个任务将是通过空间数据库中的点创建DGN单元。三个类别代表阀门在数据库中不同的尺寸—R1,R2和R3,将使用同样的符号,但是将根据分类改变符号的尺寸和颜色。1.通过从集合中添加一个AttributeFilter按VALVESIZE属性对阀门进行分类。2.删除VALVES数据源到目标要素2的连接,然后连接VALVES数据源到转换器的输入端口。3.打开AttributeFilter的属性对话框通过点击(…)按钮,设定属性通过VALVESIZE进行过滤,输入可能的值如R1,R2和R3,点击确定,这些值对大小写敏感,(注意:如果所有的VALVESIZE字段的可能取值为知,那么可以使用导入按钮读取源数据同时自动得填写这个取值表)注意三个输出接口标记为R1,R2和R3现在已经被添加到了AttributeFilter中来了。4.展开目标要素类型2的属性,点击属性按钮然后选择格式属性标签,通过选择属性旁边的选择框暴露igds_cell_name,igds_cell_size,igds_color和igds_type属性,这些格式属性有一些将分配定值而另一些将通过AttributeFilter传入。5.添加3个AttributeCreator转换器到画布,分别连接AttributeCreator到每个R1,R2和R3AttributeFilter到入端口。a点击连接到R1的AttributeCreator的属性按钮,在属性对话框中创建一个属性叫igds_cell_size同时设定值为400,然后创建另一个属性叫igds_color同时设定值为2,点击确定,关闭对话框。b连接R1AttributeCreator到目标要素类型2,注意目标类中同样名称的两个端口已经变为绿色,这说明值已经被传递给它们,这些都是自动进行的因为新创建的属性和现有的格式属性有同样的名称,如果拼写错误或者大小写的错误,它们则要通过手动连接,同要素类型1中的操作相似。c打开R2的属性对话框,创建新的属性叫igds_cell_size赋值为200,创建另一个属性叫igds_color赋值3,点击确定按钮关闭对话框。d打开R3的属性对话框,创建新的属性叫igds_cell_size赋值为100,创建另一个属性叫igds_color赋值5,点击确定按钮关闭对话框。e最后将所有的AttributeCreator连接到目标要素类型2。6.所有的阀门将使用同样的单元,所以这个信息可以被设定为常量,在VALVES的目标要素类型种选择igds_cell-_name点击鼠标右键,选择设置常量,当提示值的时候输入STRLIT,注意该值是大小写敏感的,该单元的名字已经存在于读者default.cel的单元库中,在工作空间设置的时候已经指定,任何时候都可以设定不同的单元库,通过导航条中的参数节点,双击单元库文件指定,然而,如果常量中指定的单元的名称不存在的话,将没有单元格被创建。7.在单元格被创建之前,igds_type必须被设定,如果没有确定,那么数据互操作扩展假设igds_type试点,这样将没有单元格被创建,点击igds_type鼠标右键选择设定常量,输入igds_cell为值,注意这里虽然还有几个格式属性没有值,但是格式属性将被自动的暴露给工作台(Workbench),可以不用出设置,保存工具通过选择菜单文件保存。运行工具现在工具已被创建,可以运行,这个时候转换才真正进行。1.开始运行工具,只需要简单的点击运行,目标设计文件必须被指定,但是这里不需要因为输出文件夹已经作为参数被设置。2.在ArcCatalog中察看目标文件夹确定由7个DGN文件。检查数据DGN文件可以在ArcCatalog中进行浏览,为了比较原始的空间数据库和DGN文件,所有的图幅需要加到同一个窗口中来查看,这可以通过创建互操作连接实现。1.在ArcCatalog中,双击数据互操作连接(InteroperabilityConnection)节点,在互操作连接对话框中,选择MicroStationDesign格式。2.为了指定数据集,点击多选按钮(有+号标志),点击添加文件夹按钮,浏览到目标DGN文件,点击OK,再一次点击OK创建数据互操作连接。3.连接的名字将是第一个读取的DGN文件,展开连接,点击预览标签ArcCatalog会缓冲连接数据,然后右击连接选择刷新,这个步骤可以去除任何空的要素类,注意这个数据是所有的地图图幅数据的联合,如果还需要其他的数据校验,通过数据互操作连接可以在ArcMap中浏览数据或者同其他任何的ArcGIS要素类相叠加,如果满意,数据将被送到CAD的团队,进行进一步的处理。结论ArcGIS数据互操作扩展模块帮助用户在各种类型的数据间建立了桥梁,通过新的空间ETL工具,让我们可以进行复杂的数据转换。
本文标题:ArcGIS以工作流的方式处理GIS到CAD格式的数据转换
链接地址:https://www.777doc.com/doc-2901681 .html