用户名
密码
(30天内有效)
注册
注册
首页 > 案例资料 >

CAD转GIS时注记属性挂接总有问题?试试这个模板

我要收藏
2020-04-24

【你投稿了没?10万+作者“平台好才是真的好”,也许下一个就是你!】(点击看详情),是由城市数据派主办的征稿活动,小派在此恭候派友们投稿分享!


【本期看点】

注记在CAD作图中非常常见,作为地图要素的描述性文本,具有非常重要的信息。在CAD转GIS的过程中,一般都要将注记作为属性转入GIS要素中。如果注记在面上很规则且面没有重叠,通过arcgis分析工具—空间连接工具可以很好的完成,然而对于稍复杂的情况,实现注记作为面属性的挂接就显得较为困难。本文在尝试多种方法后,采用FME提出如下方案,供参考。


【本期福利】

关注城市数据派微信号,在微信号中回复“ 0416 ”,可免费获得该注记模板下载链接。



  本期作者  

1587708228225775.png

杨景

西北农林科技大学

土地资源与空间信息技术研究生

主要从事地理空间数据处理、爬虫

以及机器学习算法研究


如图为光交规划的CAD图纸及图层

可以看出注记均未在面上,且面与面存在大量的重叠现象,如果直接采用arcgis处理的话会造成注记的大量丢失与错误。


1587709636639814.png

1587709649478199.png


来看看FME给出的解决方案

首先,我们在FME中新建一个生成空间,并勾选只保留我们准备处理的图层

1587709678222103.png

1587709698490892.png


如果正常的话,数据会如期加载到我们的工作空间中来。如下图所示。


1587709726355319.png


接着,我们把CAD图层中没有信息的Point、Area、surface等不用的属性去掉。如下图所示。


1587709747745053.png


(温馨提醒:如果你还不会用FME? 成为城市数据派会员,立即获得FME DESKTOP使用权一年,并可以学习多个FME在线视频教程,详询下方客服微信号)

1587709770403603.jpg


模板

准备工作做完了,关键的步骤来了=>>模板。


1587709801487249.png


这个即FME数据处理的具体过程,我们用到了GeometryFilter、AreaBuilder、Dissolver、AttributeCreator、AttributeKeeper、NeighborFinder 等6个转换器就完成了一个最终的转换,我对每个转换器在处理中的作用都做了简要描述,NeighborFinder是其中最为关键的转换器,由它来根据注记与面的距离实现注记与面的挂接操作。在这个转换器设置中,关键就是要勾上Merge Attribute 前面的对话框。


1587709827806438.png


最终结果

1587709858609553.png

上图为最终的一个CAD转GIS的结果,可以看出,绝大部分的注记实现成功的转换。绿色方框内为转换失败的点,失败的原因在于该面压盖的一个面的注记刚好落在了当前面中。



扩展

如果你有大量的数据要实现类似的注记与面的挂接工作,最好的方式莫过于写一套通用的模板,可以实现批量的处理,而非手动的一个一个配置每个CAD图层的输出。这样我们的将所有图层连到一个模板上就好了,所以我们最终的方案如下:


1587709880716955.png

关键步骤在于对图层的输出采用相对引用,即@Value()中的参数。



对于多个数据的批量读取

目前,我们针对的是一个CAD文件的处理,如果我们有多个文件以及很多个文件夹该如何处理呢?我们的工作空间就需要批量读入数据,而且对读入的数据进行区别,所以我们应该改变一次读入一个CAD的策略,而采用一次读入多个,采用异步或是多进程处理。我们说一下批量读取的问题。用到了PythonCreator这个转换器。


1587709911156664.png

PythonCraetor的代码如下:

1587709935388694.png

最后,记得要把 cadFile 这个属性暴露出来。



【本期福利】

关注城市数据派微信号,在微信号中回复“ 0416 ”,可免费获得该注记模板下载链接。



本站声明

本文仅代表作者观点,不代表城市数据派立场;
本文系作者授权城市数据派发表,未经许可,不得转载;
本网站上的所有内容均为虚拟服务,一经购买成功概不退款,请您理解。

点赞1

全站浏览排行

TOP ARTICLES