FME实现dwg数据自动批量计算宗地红线内的建筑面积、附属建筑面积工具

目录

一、实现效果

二、实现过程

1.提取CASS码

2.提取宗地红线

3.提取建筑、附属建筑数据

4.提取房屋层数

5.计算建筑面积

6.统计宗地红线内的建筑面积和附属建筑面积

7.工具参数封装

三、总结


面对大批量的宗地,每个宗地红线内有多个房屋,且各个房屋的层数不尽相同,此时要计算每个宗地内的建筑面积和附属建筑面积,人工逐个统计计算,工作量巨大。下面带来一个基于FME实现的从dwg数据中批量自动识别建筑、附属建筑,自动提取层数并计算宗地红线内的建筑及附属建筑面积的工具。

关注薇信工众号:“GIS工具乐园”,回复“宗地”,可免费查看全文及获取下载方式。

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


☛ FME系列视频教程推荐 ☚


  • 1.FME入门视频教程

  • 2.FME进阶视频教程

  • 3.FME案例实战教程


一、实现效果

下面是工具运行后,提取计算得到的数据成果,总共输出了宗地红线、建筑、附属建筑、未闭合建筑等四个shp数据,各个shp数据的图形及属性表如下。关注微行公众号:“GIS工具乐园”,持续更新开发技巧分享哦。

FME实现dwg数据自动批量计算宗地红线内的建筑面积、附属建筑面积工具_第1张图片

成果数据情况

FME实现dwg数据自动批量计算宗地红线内的建筑面积、附属建筑面积工具_第2张图片

原始dwg数据

二、实现过程

实现总思路:更加CASS码识别出宗地红线、建筑以及附属建筑,然后提取建筑及附属建筑的层数并计算建筑面积,最后查找宗地红线内的建筑及附属建筑并统计面积。

为了便于使用,让用户能自主定义建筑、附属建筑,采用“CASS码配置表”的形式,由用户自行指定建筑、附属建筑的CASS码,“CASS码配置表”样式见下图。

FME实现dwg数据自动批量计算宗地红线内的建筑面积、附属建筑面积工具_第3张图片

CASS码配置表

1.提取CASS码

因为在处理dwg时,经常需要提取CASS码,因此将提取CASS码功能编写成一个自定义转换器,下面是提取效果。不知道如何提取CASS码的朋友,可以看我之前发的专题文章:FME提取dwg扩展属性的通用方法,以提取CASS码为例,手把手详细版

FME实现dwg数据自动批量计算宗地红线内的建筑面积、附属建筑面积工具_第4张图片

提取CASS码

2.提取宗地红线

这里使用CASS码,通过TestFilter转换器从dwg数据中提取宗地红线,如果已经提取有其他格式的例如shp、mdb或者gdb数据的宗地红线,则可跳过本步骤,直接使用相应的读模块读取使用即可。

FME实现dwg数据自动批量计算宗地红线内的建筑面积、附属建筑面积工具_第5张图片

提取宗地红线

3.提取建筑、附属建筑数据

这里读取“CASS码配置表”,使用其中配置的CASS来分离出建筑、附属建筑数据。

FME实现dwg数据自动批量计算宗地红线内的建筑面积、附属建筑面积工具_第6张图片

提取建筑、附属建筑数据

4.提取房屋层数

从dwg图形的扩展属性列表中提取房屋层数,房屋层数包含地上层数和地下层数,因为有时候可能会需要忽略地下层数不计,因此这里通过参数可以由用户自行选择是否忽略地下层数(详见后面的工具运行界面选项)。

房屋层数提取规则:1.单独针对附属建筑:“CASS码配置表”中的“强制层数”栏不为空时,对应的附属建筑层数会以填写的“强制层数”值为准,例如,棚房的强制层数填写为2,则所有棚房按2层计算附属建筑面积。2.能从图形的扩展属性列表中提取到层数时,使用提取到的层数。3.图形的扩展属性列表中没有层数时,默认层数为1。

因为是从图形的扩展属性列表中提取房屋层数,要求数据在生产过程中规范作图,房屋图形需存储正确的层数。

当然有朋友会觉得房屋都要层数注记的,为啥不使用注记的层数呢,小编的答案是可以使用注记层数,但是不推荐,因为使用注记层数需要通过点面压盖将层数传递到房屋面中,这过程中有两个因素会导致数据可能不准确,一是要求注记必须在房屋面内,当房屋面比较小时,注记的点位跑到面外,就挂接不上导致数据丢失;二是dwg图上除了层数注记还可能有其他各种注记,如果不巧有其他的数字型注记也在房屋面内,则会导致挂错数据。因此,为保证计算结果的准确可靠,小编强烈推荐从图形的扩展属性中提取,避免注记点面挂接,因数据问题出错。

FME实现dwg数据自动批量计算宗地红线内的建筑面积、附属建筑面积工具_第7张图片

提取层数

5.计算建筑面积

提取到房屋层数后,计算建筑面积就简单了,使用AreaCalculator转换器计算平面面积,然后乘以总层数即可。

FME实现dwg数据自动批量计算宗地红线内的建筑面积、附属建筑面积工具_第8张图片

计算建筑面积

6.统计宗地红线内的建筑面积和附属建筑面积

计算出单个房屋的建筑面积后,通过几何关系查找出宗地红线内的建筑和附属建筑,然后分别统计其面积和,计算结果如下图。

FME实现dwg数据自动批量计算宗地红线内的建筑面积、附属建筑面积工具_第9张图片

统计宗地红线内的建筑面积和附属建筑面积

7.工具参数封装

为便于使用,需要将一些控制参数进行封装,运行界面选项如下。输入、选择相应的参数选项,点击“运行”按钮,然后休息片刻,数据便计算好了,然后去输出目录拿数据即可,小伙伴们是不是很安逸。

FME实现dwg数据自动批量计算宗地红线内的建筑面积、附属建筑面积工具_第10张图片

运行参数选项

FME实现dwg数据自动批量计算宗地红线内的建筑面积、附属建筑面积工具_第11张图片

数据输出成果

三、总结

在日常的数据生产过程中,规范作业很重要,在此案例中,要求dwg数据的图形必须有准确的CASS码和房屋层数。

数据生产规范了,后期处理才能省心,比如有些dwg数据只有其形,图面上看着很ok,实际上各种属性信息都没有,比如CASS码,这样的数据要想准确提取出某一个地物,只有重新处理一遍附上CASS码,否则神仙来了也搞不定哦。

FME实现dwg数据自动批量计算宗地红线内的建筑面积、附属建筑面积工具_第12张图片

工具总体流程

往期推荐


1.基于FME实现的地理数据库批量建库的解决方案,支持gdb、mdb、shapefile等数据格式

2.GIS数据转换成CAD数据,还原显示CASS码、符号样式及高程值等图形属性的解决方案

3.利用FME实现DLG数据无损转CAD地形图,实现CAD地物符号完美还原的解决方案

4.基于FME实现dwg等高线、高程点、计曲线注记的高程值批量修改研究

5.基于FME实现等高线的计曲线连接工具,快速连接计曲线在计曲线注记点断开处的缺口

6.基于FME实现CAD图的三维多段线批量转多段线工具

7.CAD地形图等高线标高批量取整工具,解决等高线标高出现小数的问题

8.根据高程值批量修改等高线为计曲线工具,FME实现等高线批量修改成计曲线,根据高程值自动识别计曲线,解决地形图计曲线丢失问题

9.GIS数据与CAD数据间带属性字段互相转换还原工具

10.从勘界图批量提取宗地红线到shapefile工具,从CAD图中批量提取指定类型图形到shp数据实现方法

你可能感兴趣的:(GIS,FME,CAD,FME,计算,GIS,cad,统计)