FME提取dwg扩展属性的通用方法,以提取CASS码为例,手把手详细版,dwg提取扩展属性,CAD提取地理编码,dwg提取地理编码,CAD提取扩展属性

目录

一、dwg扩展属性的存储

二、dwg扩展属性列表规律及提取思路

三、FME工具实现

1.读取dwg

2.暴露扩展属性列表

3.搜索CASS码标识索引

4.计算CASS码索引

5.获取CASS码初步值

6.获取CASS码最终值

四、FME工具完整截图


在使用CAD相关软件作图中,通常会将CASS码、层数、宗地代码,宗地名称等属性写入dwg的扩展属性中,那么在后期需要将dwg数据转换成shapefile、gdb、mdb等数据格式时,经常需要提取扩展属性信息。关注薇信工众号:“GIS工具乐园”,回复“dwg属性提取”,可免费查看全文。

FME工具下载链接:https://download.csdn.net/download/tylkhx/85207337

本工具基于FME2020.2开发,使用前请自行安装FME2020.2及以上版本的FME软件。


☛ FME系列视频教程推荐 ☚


  • 1.FME入门视频教程

  • 2.FME进阶视频教程

  • 3.FME案例实战教程


下面将详细介绍如何使用FME软件提取dwg扩展属性,本文以提取CASS码为例,提取其他扩展属性的方法相同,可以此为参照。先来看看工具的CASS码最终提取成果。关注微行公众号:“GIS工具乐园”,持续更新开发技巧分享哦。

FME提取dwg扩展属性的通用方法,以提取CASS码为例,手把手详细版,dwg提取扩展属性,CAD提取地理编码,dwg提取地理编码,CAD提取扩展属性_第1张图片CASS码提取成果 

一、dwg扩展属性的存储

要从dwg中提取扩展属性,必须要先了解扩展属性dwg中是如何存储的。这里准备一份测试数据,并使用FME读取,从下图中可以看到,dwg扩展属性存储在名为“autocad_extended_data_list{}”的列表中,并且列表中的第二项即为CASS码。但是因为在实际的作业过程中,可能使用过多个软件处理过dwg,CASS码所在扩展属性列表中的索引位置并不相同。要想做一个通用的CASS码提取工具,而不是每次都得先观察确定CASS码的索引,那么关键在于动态获取CASS码准确的列表索引。

FME提取dwg扩展属性的通用方法,以提取CASS码为例,手把手详细版,dwg提取扩展属性,CAD提取地理编码,dwg提取地理编码,CAD提取扩展属性_第2张图片

 dwg扩展属性的存储情况

二、dwg扩展属性列表规律及提取思路

经过本人对大量dwg的扩展属性研究发现,各个生成处理dwg数据软件的厂商,在将自身特定的属性写dwg扩展属性列表时,一般都会先写入本软件固定的标识,然后再接着写入目标属性。根据这一特点,就有办法做一个通用的提取CASS码的FME工具了。即首先搜索CASS码的标识,获取标识的索引,然后通过CASS码索引与标识索引的关系,计算出CASS码索引,最后根据CASS码索引提取到CASS码。

三、FME工具实现

1.读取dwg

使用FME的读模块,读取dwg

2.暴露扩展属性列表

暴露dwg的扩展属性列表autocad_extended_data_list{},如下图所示。

FME提取dwg扩展属性的通用方法,以提取CASS码为例,手把手详细版,dwg提取扩展属性,CAD提取地理编码,dwg提取地理编码,CAD提取扩展属性_第3张图片

暴露扩展属性

3.搜索CASS码标识索引

使用ListSearcher转换器搜索标识“application_name:SOUTH”的索引。如下图所示。

FME提取dwg扩展属性的通用方法,以提取CASS码为例,手把手详细版,dwg提取扩展属性,CAD提取地理编码,dwg提取地理编码,CAD提取扩展属性_第4张图片

提取标识索引

4.计算CASS码索引

通过观察可知,CASS码索引为标识索引加一。通过AttributeManager转换器进行计算。

FME提取dwg扩展属性的通用方法,以提取CASS码为例,手把手详细版,dwg提取扩展属性,CAD提取地理编码,dwg提取地理编码,CAD提取扩展属性_第5张图片

计算CASS码索引

5.获取CASS码初步值

通过AttributeManager转换器,新建“CASS码”字段,并从autocad_extended_data_list{}列表中通过索引获取CASS码初步值。

FME提取dwg扩展属性的通用方法,以提取CASS码为例,手把手详细版,dwg提取扩展属性,CAD提取地理编码,dwg提取地理编码,CAD提取扩展属性_第6张图片

获取CASS码

下面看一下提取到的CASS码初步值,可以看到,此时的CASS码的前面多了一段“string:”字符串,那么我们需要将这一段字符串去掉。 FME提取dwg扩展属性的通用方法,以提取CASS码为例,手把手详细版,dwg提取扩展属性,CAD提取地理编码,dwg提取地理编码,CAD提取扩展属性_第7张图片

CASS码初步值

6.获取CASS码最终值

通过观察,可使用AttributeSplitter转换器通过“:”字符对CASS码初步值进行分割成列表,然后获取列表的第二个值即可。下面是获取过程

 FME提取dwg扩展属性的通用方法,以提取CASS码为例,手把手详细版,dwg提取扩展属性,CAD提取地理编码,dwg提取地理编码,CAD提取扩展属性_第8张图片

分割CASS码

FME提取dwg扩展属性的通用方法,以提取CASS码为例,手把手详细版,dwg提取扩展属性,CAD提取地理编码,dwg提取地理编码,CAD提取扩展属性_第9张图片

获取CASS码最终值

四、FME工具完整截图

FME提取dwg扩展属性的通用方法,以提取CASS码为例,手把手详细版,dwg提取扩展属性,CAD提取地理编码,dwg提取地理编码,CAD提取扩展属性_第10张图片

你可能感兴趣的:(GIS,FME,CAD,FME,教程,CAD,地物编码,提取)