当前位置:网站首页>GIS数据与CAD数据间带属性字段互相转换还原工具,解决ArcGIS等软件进行GIS数据转CAD数据无法保留属性字段问题
GIS数据与CAD数据间带属性字段互相转换还原工具,解决ArcGIS等软件进行GIS数据转CAD数据无法保留属性字段问题
2022-08-04 06:48:00 【梅里雪山GIS】
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数据,替换相应的读写模块数据格式即可。
边栏推荐
- ERROR 2003 (HY000) Can‘t connect to MySQL server on ‘localhost3306‘ (10061)解决办法
- MySQL大总结
- 【selenium自动化】第四篇,结合testNg
- JVM工具之 JPS
- Redis非关系型数据库
- matlab科研绘图模板,直接奉上源代码!
- unity webgl报 Uncaught SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON
- TypeScript基本类型、类、封装、继承、泛型、接口、命名空间
- mysql基础(4)
- MYSQL JDBC图书管理系统
猜你喜欢
随机推荐
CSDN21天学习挑战赛——day1 正则表达式大总结
缓存穿透、击穿、雪崩
ContrstrainLayout的动画之ConstraintSet
西门子PLC1200与fanuc机器人进行profibus通讯
mysql基础(4)
FCN - the originator of semantic segmentation (based on tf-Kersa reproduction code)
[想要访问若依后台]若依框架报错401请求访问:error认证失败,无法访问系统资源
curl (7) Failed connect to localhost8080; Connection refused
最强分布式锁工具:Redisson
专题讲座7 计算几何 学习心得
核心价值观编码器【matlab版】
中断和异常的处理与抢占式多任务
Error EPERM operation not permitted, mkdir ‘Dsoftwarenodejsnode_cache_cacach两种解决办法
专属程序员的浪漫七夕
错误记录:TypeError: object() takes no parameters
登录拦截实现过程
unity webgl报 Uncaught SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON
Activiti 工作流引擎 详解
分布式计算MapReduce | Spark实验
用matlab打造的摩斯电码加解码器音频版,支持包括中文在内的任意字符