• CAD扩展属性的提取--FME方式


     

    一、CAD的扩展属性

    了解一下CAD的扩展属性方式,CAD的扩展属性包括二类:

    基于CAD二次开发的软件产品(例如南方cass),其扩展属性是附属在图形(点、多段线、注记、面)上面的,它是以XRecord数据容器的形式,以实体级字典的形式存放,此类扩展方式比较常见;

    还有一类比较特殊的,就是此扩展属性是基于块参照的形式展示的(即属性块),它的表现形式比较特殊,它的实体是一个快参照,显示内容根据不同的属性值而不同。示例如下(此对象的显示内容受【地块编号】和【用地代码】的属性字段值控制,修改此值后,块参照显示会自动更新)。

     

    针对这两种类型的扩展属性的读写,FME都是支持的。

    前一种方式,FME的分析提取属性可以在网上搜索的相关的文章,接下来的章节会着重介绍。

    针对后一种类型的拓展属性,可使用ArcGIS也可以直接将其提取到图层的表字段中。但是FME提取的时候会有所不同,首先,在提取数据的时候需要注意提取参数的设置。

    此时,FME提取的是此块参照的中心点,并且附带块参照的名称和编号,这样设置可以更精确的提取块信息。块参照的属性将以list的形式展示(如下,第一个属性的信息可以通过fme_attrid_info{0}.field_name和fme_attrid_info{0}.field_value):




    通过暴露以上的属性,然后通过Attributerename转换器将fme_attrid_info{N}.field_value重命名,就可以依次获得相应的属性字段信息。
    以上就是关于CAD数据的扩展属性的分析。

     

    二、CAD二次开发 XRecord实体级数据的提取

    这里主要用到FME的数据转换功能,即把CASS的扩展属性不丢失转换到ARCGIS的字段中。

    2.1 CASS的扩展属性的存储形式

    先看下下面这组代码

    ("south" (1000 . "310000")) 对应图斑属性编码“310000”;

    ("TBBH" (1000 . "7"))对应图斑号“7”;

    ("DLDM" (1000 . "111")) 对应地类号;

    ("QSXZ" (1000 . "集体"))("ZYFS" (1000 . "")) 、("SHI" (1000 . "惠州")) ("XIAN" (1000 . "惠阳")) ("XIANG" (1000 . "大亚湾")) ("CUN" (1000 . "")) ("ZU" (1000 . "")),

    分别是权属性质,占用方式,市,县,乡镇,村,组等CASS的字段名缩写。

    2.2 FME Universal Viewer打开CAD

    FME2011最新的版本可以支持CAD几类不同的版本:从早期的Release9一直到现在Release2010,默认的创建新目标数据的版本为CAD2007的版本。

    若在写目标数据集时,不确认原始数据CAD的版本信息,但又新目标数据文件的版本和源数据版本一致时,可以在加载写入数据文件时设置参数(file Contents的2项内容,选择模版文件为源数据,然后设置CAD版本为最后一项:same_as_template)。

    用FME Universal Viewer打开CAD格式的图斑文件查看属性的存放方式。

    可以在右边的属性栏看到如下信息:

    extended_data_list{0} application_name:south
    extended_data_list{1} string:310000
    extended_data_list{10} application_name:PDJB
    extended_data_list{11} string:

    在这里:

    extended_data_list{0} application_name:south, south表示转换后的字段名;

    string:310000是对应的字段内容。偶数为字段名,奇数为字段内容,一会在转换连接时用到。清楚了CAD的数据属性后,再用FME来转换就容易了。

    2.3 FME转换的过程思路

    用FME加载DWG格式的图斑数据,记得转换后的格式为SHP。

    FME Universal Viewer可以看到extended_data_list共有“0-33”一起34个,在下图中找到extended_data_list{} 设置如下,数量是34。

     

    因为只转换面,因此只保留DLJ_polygon,其他删除不用。

    看下图,点开DLJ_polygon右上角,再点开中间菜单“user attributes”,建字段。设置字段名,类型,宽度。我这里全用的是字符型。

     

     

    点确定后,进行连接。再看回第二步,看如下信息:

    extended_data_list{0} application_name:south

    extended_data_list{1} string:310000

    extended_data_list{10} application_name:PDJB

    extended_data_list{11} string:

    字段名已建好,因此只把字段内容连接到对应的字段名上,就OK了。

    偶数对应字段名,奇数对应字段内容

    看图解说如下:

    连接完成后,点击运行,选择保存路径。

     

    4.打开ARCGIS,加载转换后的数据,可以看到内容还不标准,修改一下就完美了。

    打开编辑,替换“string:”和“real:”“16Bit_integer:”为空后,完全符合要求了。

    看图示:

    保存编辑,完成操作。

     

     

     

    参考文章

    怕冷的企鹅FME对CAD扩展属性的读写, 2011-04

    醉意人间南方CASS土地调查图斑属性完美转SHP--适用于其他CAD扩展属性转SHP,2010-8

  • 相关阅读:
    BZOJ 1014 火星人prefix
    BZOJ 1013 球形空间产生器
    BZOJ 1012 最大数
    BZOJ 1011 遥远的行星
    BZOJ 1010 玩具装箱
    BZOJ 1009 GT考试
    BZOJ 1008 越狱
    BZOJ 1007 水平可见直线
    BZOJ 1006 神奇的国度
    Luogu 1450 [HAOI2008]硬币购物
  • 原文地址:https://www.cnblogs.com/arxive/p/10519264.html
Copyright © 2020-2023  润新知