cad控规指标表转excel表的FME方法

原文发布时间:2015-07-22 13:23:45

作者:木头狼

模板下载

前段时间接到一个任务,需要将dwg格式的控规地块导出到shp格式,要求附加地块控制指标(容积率、建筑密度、绿地率之类的)。cad地块线转shp面很容易,但是附加地块控制指标却不那么简单。

受条件限制,没有现成地块控制指标属性表可以链接到地块,控制指标信息只能来自dwg格式控规图则里由文字和线条画成的表。一个地块的控制指标有十几项;一张图则里有十几个地块、一项控规里有十几张这样的图则,需要输入的属性个数就达1000-2000。如果纯手工将这些信息输到excel表格,不仅费时费力,而且还容易出错。

最烦这种毫无技术含量、重复性机械劳动。想偷懒,咋整?嘿,突然眼前飘来三个字:‘FME’。都说FME是万能的,帮咱偷这个懒应该问题不大。经过思考和实践,这问题还真就用FME给解决了。

下面将操作步骤分享给大家。

第一步:占位

       在autocad中,将表中空白的地方用一个字符填充占位(下图中是用‘无’占位)。

第二步:穿串

在autocad中,用线将属性值穿起来。要求线在单独的一个图层中,要真正的穿上属性文字,不能漏项。

第三步:上FME大餐

模板主要步骤:

1、BoundingBoxReplacer、CoordinateExtractor提取文字外边框、计算外边框线起来坐标x,y值。

2、对线要素计数,得计数属性_count

3、LineOnAreaOverlayer文字外边框与线叠加,将文字stringtext值赋给线

4、Tester对于叠加输出的线,通过_overlaps > 0过滤出与文字相交的线

5、ListBuilder通过_count属性分组,构建列表_list{}。

6、ListSorter,按_list{}.y属性排序。此步骤是为了属性值全部按竖直方向排列,保证属性输出的顺序。

7、AttributeCreator计算属性值

8、NullAttributeMapper‘无’替换成空值。

结语:

处理过程中前两步是在autocad中完成的,相当于解几何证明题时添加辅助线,正是‘辅助线’的存在使得后续在FME中的处理变得很容易。在cad中添加‘辅助线’的操做十分简单,只需要用到复制命令即可快速完成,比纯手工录属性更容易、更准确。

猜你喜欢

转载自blog.csdn.net/fmechina/article/details/81382072