GIS数据与CAD数据间带属性字段互相转换还原工具,解决ArcGIS等软件进行GIS数据转CAD数据无法保留属性字段问题
当shapefile、mdb、gdb等格式的GIS数据,需要转换成dwg格式数据在CAD、CASS等软件中进行图形编辑,之后再转回GIS数据,如果使用ArcGIS等软件进行转换的话,GIS数据的原有属性表的字段信息将会丢失。下面带来两个基于FME开发的转换工具,分别为GIS转CAD、CAD转GIS,实现GIS与DWG间互相转换时属性字段数据不丢失。
一、实现效果
下图是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数据,替换相应的读写模块数据格式即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程