目录
在实际工作中可能会遇到需要从勘界图dwg中提红线的工作,当面对成百上千的勘界图时,人工逐一提取将非常繁琐耗时。下面介绍一个利用FME从勘界图批量提取宗地红线的方法。关注薇信工众号:“GIS工具乐园”,回复“FME”,获取模板及示例数据下载链接。
本工具基于FME2020.2开发,使用前请自行安装FME2020.2及以上版本的FME软件
☛ FME系列视频教程推荐 ☚
一、提取效果
因为勘界图可能涉密,此处小编自行绘制了几个红线,加上一些地物,作为示例数据。下面请看原始dwg图和提取后的shp数据情况。可以看到实现了将宗地红线提取到了shp数据中,而其他地物图形则没有提取,达到了只要红线的需求。关注微行公众号:“GIS工具乐园”,持续更新开发技巧分享哦。
提取效果
二、实现过程
1.总体思路
制作勘界图的过程中,如果使用CASS规范制图,绘制出来的图形都会带有CASS码,那么根据CASS码就可以准确提取出所需的图形要素,勘界图的红线一般使用宗地线绘制,对应的CASS码为“300000”,但是如果作业人员在制图过程中,操作不规范,或者其他原因导致图上红线没有CASS码,这时可以通过图形颜色进行提取,而红线的颜色一般为红色,在dwg中,图形颜色存储的是CAD颜色索引,而红色索引为“1”,即提取颜色索引为1的图形。
2.判断有无带号
勘界图通常使用投影坐标系,而投影坐标系的坐标存在有无带号之分,为使提取后的数据便于区分使用,判断出数据坐标是否有坐标系带号,并将结果存储在“带号情况”字段中,便于后续分别输出shp。
判断有无带号
3.提取CASS码
因为提取CASS码是常用操作,这里做成了自定义转换器,关于CASS码的提取操作详见之前的文章:FME提取dwg扩展属性的通用方法,以提取CASS码为例,手把手详细版,这里不再赘述。
提取CASS码
4.CASS码提取红线
提取出指定CASS码的图形并标记。如下图所示。
CASS码提取红线
5.颜色提取红线
针对CASS码提取后剩余的数据,暴露颜色属性,然后提取出指定颜色索引的图形并标记,注意因为根据颜色提取的红线,准确性不如CASS码提取精准,故需要对提取后的数据进行人工筛选核对。如下图所示。
颜色提取红线
6.几何分类
因为前面提取出来图形,特别是根据图形颜色提取到的,可能存在多种几何类型的数据,而我们需要的红线,通常为线或面图形,几何分类之后,分别对线图形和面图形进行标记,便于后续分类输出shp。
几何分类
7.提取红线输出属性
因为拿到的勘界图,在dwg文件名称或者上级目录中可能有一些我们需要的信息,例如批复用地的勘界图,上级目录中可能有批复文号、批次等信息。故提取dwg文件名和文件路径输出到shp,便于后续使用时处理区分。
提取红线输出属性
8.输出数据
使用写模块,根据有无带号情况、提取方式、几何类型等信息,分类输出shp。
数据分类输出
9.参数封装
将作为提取特征的CASS码和图形颜色使用参数进行传递,由用户使用时输入,以适应不同的提取需求。运行界面及输出成果如下图所示。
运行界面
输出的成果数据目录
提取成果数据
三、总结
要从纷乱繁杂的大量数据中提取某一类数据,关键在于分析找到其中与众不同的关键特征,例如CASS码、颜色等,依据关键特征的精准度高低,依次提取,以达到最优效果,最大限度减少人工操作工作量。