目录
当shapefile、mdb、gdb等格式的GIS数据,需要转换成dwg格式数据在CAD、CASS等软件中进行图形编辑,之后再转回GIS数据,如果使用ArcGIS等软件进行转换的话,GIS数据的原有属性表的字段信息将会丢失。下面带来两个基于FME开发的转换工具,分别为GIS转CAD、CAD转GIS,实现GIS与DWG间互相转换时属性字段数据不丢失。关注薇信工众号:“GIS工具乐园”,回复“FME”,获取模板及示例数据下载链接。
本工具基于FME2020.2开发,使用前请自行安装FME2020.2及以上版本的FME软件
☛ FME系列视频教程推荐 ☚
一、实现效果
下图是shp转换成dwg数据,然后在CASS软件中编辑图形后,再转回shp数据的前后对比图。
二、shp转dwg工具
下面是shp格式的原始数据
1.读取数据
使用FME读模块读取shp数据,本示例以shp数据为例,如果需要gdb、mdb等GIS数据,在读模块中选择相应的数据格式即可。
2.数据设置
使用AttributeCreator转换器,创建extended_data字段,并将要保留存储到dwg的字段拼接设置到extended_data字段。
3.输出数据
使用写模块,将数据输出到dwg
4.工具使用
选择源shp和输出的dwg文件路径,点击“运行”按钮,即完成shp向dwg数据的转换。
三、dwg转shp工具
下图是使用CASS软件修改编辑后的dwg数据。
1.暴露字段属性,并按字段分隔
使用AttributeExposer转换器,将前面shp转dwg时存储的字段属性信息暴露出来,然后使用AttributeSplitter转换器将其分割成字段属性列表,即字段属性列表中的一个元素即为一个字段信息,字段信息包含字段名和字段值,如下图所示。
2.提取字段信息
使用PythonCaller转换器,从字段属性列表中将每个字段的字段名和字段值提取出来,如下图所示。
3.提取暴露字段
使用ListExploder、AttributeExposer转换器,将字段提取暴露出来,如下图所示。
4.输出数据
使用写模块输出shp数据,通过使用参数来传递坐标系定义,输出数据效果如下。
5.工具使用
选择源dwg文件、坐标系定义和输出shp的路径,点击“运行”按钮,即完成dwg向shp数据的还原转换。
四、总结
本案例以shp格式的GIS数据为示例进行演示,如果需要使用gdb、mdb格式的GIS数据,替换相应的读写模块数据格式即可。关注微行公众号:“GIS工具乐园”,持续更新开发技巧分享哦。