dwg在坐标转换的注意事项

作者:刘科

 

         今年随着自然资源部成立,各部门间有大把的多源异构数据需要交互、清理、处理、整合、融合,CGCS2000坐标系的推广,大把的多源异构存量数据需要完成坐标转换。很荣幸我们所使用的FME平台在去年的国土资源部坐标转换评测也是顺利通过的,当然坐标转换不过是FME的九牛一毛、冰山一角,FME的强大我就不再这打广告了,接下来我们来看下dwg数据这种较为复杂的格式,在坐标转换过程中有哪些注意点,今天先讲两点。

         以下这些问题往往是在dwg转换坐标生成dwg格式时发生的问题 ,若坐标转换后生成非dwg格式是不会遇到这些问题,究其原因,还是dwg各种格式属性惹的祸。

一、文字与标注问题

         首先文字需要注意的主要是两个方面的问题:对齐点定位坐标与旋转角度。

1.1对齐点定位坐标属性

         我们使用fme模板完成了二维四参数的转换,参数设置如下:

dwg在坐标转换的注意事项_第1张图片

通过参数可以看到要素进行了平移。

首先来看下第一个问题:对齐点定位坐标属性

dwg在坐标转换的注意事项_第2张图片

dwg在坐标转换的注意事项_第3张图片

         可以看到坐标转换之后,部分文字和对齐标注的位置并未变化,但是我们在FME datainspecter中进行重定向查看并未发现此问题,且输出非dwg的其他矢量格式(例如mdb、gdb)都是正常的。

dwg在坐标转换的注意事项_第4张图片

         通过分析发现文字若存在下图属性,则在输出到dwg时,会优先根据该属性的点坐标进行定位。

而对其标注、半径标注等标注类的要素,则是下图的一些属性进行控制。

         对于不同类型的要素我们就需要重新对这几个属性进行赋值才能保证顺利转换。

 

1.2文字与块的旋转

         我们使用fme模板完成了二维四参数的转换,参数设置如下:

dwg在坐标转换的注意事项_第5张图片

通过参数可以看到要素进行了旋转。主要关注文字与块的旋转角度,为了方便看清变化,每个图形都画了个外接矩形。

dwg在坐标转换的注意事项_第6张图片  dwg在坐标转换的注意事项_第7张图片

              原始dwg                                 坐标转换后dwg

dwg在坐标转换的注意事项_第8张图片  dwg在坐标转换的注意事项_第9张图片

                原始dwg                            坐标转换后dwg

                  通过上图可以看到转换后输出的文字和块参照其旋转角度存在问题,而我们在FME datainspecter中进行重定向查看并未发现此问题,如下图:

dwg在坐标转换的注意事项_第10张图片

重定向到FME datainspecter中角度正确

dwg在坐标转换的注意事项_第11张图片

原始的文字定位属性与旋转属性

dwg在坐标转换的注意事项_第12张图片

坐标转换后文字定位属性与旋转属性

dwg在坐标转换的注意事项_第13张图片

坐标转换后输出的dwg文字定位属性与旋转属性

         通过以上3张图片分析可以发现其实就是这个属性导致的,同时可以看到fme_rotation这个属性值转换后在FME里面看是对的,但是输出到dwg后就出现了问题,那么如何来解决这个问题,这里提供一种方法,使用vertexcreator+textadder的方式重新生成文字可以暂时解决这个问题,如下图,当然也可以通过python去修改几何定义属性,或者还有其他方法待大家去发掘。

 

二、圆弧与带弧多段线问题

         先来看下原始数据,主要是一个带弧的多段线与圆弧,如下图:

dwg在坐标转换的注意事项_第14张图片

dwg在坐标转换的注意事项_第15张图片

         在FME datainspecter中查看格式属性如下:

dwg在坐标转换的注意事项_第16张图片

         带弧多段线为IFMEPath,由直线与弧线构成,另一个图形是圆弧,其autocad_original_entity_type为autocad_arc。

dwg在坐标转换的注意事项_第17张图片

         我们使用Reprojector转换器进行坐标转换,再看下坐标转换之后输出到dwg的情况

         dwg在坐标转换的注意事项_第18张图片

dwg在坐标转换的注意事项_第19张图片

dwg在坐标转换的注意事项_第20张图片

dwg在坐标转换的注意事项_第21张图片

         问题来了,我们发现圆弧变成了椭圆,然后带弧多段线的弧没有了,变成了折线。

通过分析发现主要是圆弧几何属性导致的,如下图:

dwg在坐标转换的注意事项_第22张图片

原始的弧属性

dwg在坐标转换的注意事项_第23张图片

转换坐标后的弧属性

我们发现所有的圆弧这里多了PrimaryRadius与Secondary Radius属性,且值相同,这就导致了我们输出到dwg产生问题。

dwg在坐标转换的注意事项_第24张图片

带弧多段线也是同样的原因

为此我们的解决方法是利用pythoncaller重构属性,具体方法和模板如下图

dwg在坐标转换的注意事项_第25张图片

dwg在坐标转换的注意事项_第26张图片

         处理后我们就可以保持原有图形定义输出到dwg中了。

dwg在坐标转换的注意事项_第27张图片

你可能感兴趣的:(CAD专题)