用FME把GIS面转换为CAD的填充(更新颜色设置)

问题来源

日常工作中有需要把GIS的polygon转换为CAD的填充,便于作图,但是默认的GIS什么的转出来都是边线而不是填充,或者图很大GIS软件直接崩溃,研究了一下,发现用FME可以转换为填充,方法如下:

方法

0、准备图形文件

把ARCGIS的图层保存到图层文件lyr(前面读取不了后来发现还是许可安装的有问题),不需要转成shp文件,dbg即可,后面也不会出现shp的中文乱码问题。

1、reader

打开fme workbench,添加一个reader,读取lyr(只能用32位FME,并且需要安装arcobject),lyr会自动把关联的gdb要素数据读取进来

设置Format Attributes窗口勾选fme_fill_color(方法可以参考第4步)

2、Transformer

添加一个Transformer——DWGStyler,然后把reader连接到DWGStyler,DWGStyler的Color设置为fme_fill_color(要先连接才能设置为fme_fill_color)

3、writer

添加一个writer,写入格式为Autodesk AutoCAD dwg/dxf,其他设置可以不用管,等下设置。

4、writer的设置

首先点击writer上的小齿轮图标

然后Parameters窗口,Layer Name这一栏根据需要选择某个属性或者是常量(我这里是用的图形要素的TL字段)

然后Format Attributes窗口,勾选autocad_entity

设置autocad_entity为填充,右键点击autocad_entity,Edit Value,设置为autocad_hatch(图中已经做了下一步连接reader和writer,所以可以看到shp的字段,shp的中文字段都是乱码,用lyr读取就不会有乱码,这里懒得改图了)

5、连接reader和writer并运行

把DWGStyled后面的箭头拖到writer前面的箭头,然后点击绿色三角箭头run即可。

《用FME把GIS面转换为CAD的填充(更新颜色设置)》上有2条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax