张 宁,闾海洋,卞盼盼
(江苏省地质测绘院,江苏 南京 211102)
财政部、住建部为支持住房租赁市场发展,在全国选择了16座城市(北京、长春、上海、南京、杭州、合肥、福州、厦门、济南、郑州、武汉、长沙、广州、深圳、重庆、 成都)作为全国住房租赁市场发展试点城市,落实国家中央经济工作会议中“要坚持房子是用来住的、不是用来炒的定位”要求。通过财政支持等方式,引导各城市结合城市情况,推动住房租赁市场的发展,包括租赁平台的建立和完善、租赁用地的供给、租客相关租赁权益的保障。 财政支持包括财政补贴、税费减免等[1]。南京市作为中央财政支持住房租赁市场发展试点城市,2020年开始部署相关工作,2021年开始具体实施,过程中创新思路,突破瓶颈,为落实相关的住房租赁管理要求中建立存量房源数据库的要求,突破性地提出针对全市住宅类房屋实现按间管理,对存量房源基础分间数据进行采集建库。针对租赁房源按间出租的实际需求,进行精细化的“分户分间图”信息采集,为租赁管理工作提供存量租赁房源数据支撑[2]。
本文基于FME介绍了一种对房屋户信息、间信息自动提取的方法,通过不同转换器的组合,对房屋的分户分间信息进行了快速地提取。
FME(Feature Manipulate Engine,简称FME)是加拿大Safe Software公司开发的空间数据转换处理系统,它是完整的空间ETL解决方案。这款空间数据转换处理系统,采用先进的数据转换技术,内置几十个转换器,能够满足绝大部分用户的空间数据格式转换功能。 除此之外,该软件基于OpenGIS组织提出的新的数据转换理念“语义转换”,通过提供在转换过程中重构数据的功能,实现了超过250种不同空间数据格式(模型)之间的转换[3]。
由于南京存量房源项目基本都位于市区,房源主要有商品房、公寓、安置房等,需要识别出套内空间、公摊空间、提取套内面积、公摊面积以及室产权面积,其中阳台按一半面积计算。如图1所示,图中有4户房产,面积形状不尽相同,一户的房间一般包括起居室、餐厅、厨房、卧室、卫生间、阳台,这些都属于套内空间;楼梯间属于公摊空间。以图1为例,本项目要提取出4户的户图(套内空间)和分间图(室产权空间),以及各户、各房间的面积。
图1 房产示意图Fig.1 Schematic diagram of houses
江苏省地质测绘院承担项目的标段约有57.7万户房产图,收集到的资料分别为原始的CAD图纸和原始电子CAD图,因此先要经过一系列人工预处理得到如图1所示房产示意图,其中CAD图纸还要经过矢量化形成电子图才能对其进行处理。经过处理的CAD图会有不同的图层,如墙层,门层,窗层、阳台层、虚拟边界层、注记层和功能区,其中阳台层属于线层,注记层属于CAD注记,其他层属于面层。
基于FME的房产分户分间信息提取流程如图2所示。提取时需要注意以下几个关键点:
图2 基于FME的房产分户分间信息提取技术流程Fig.2 Technique flow of information extraction of real estate households and rooms based on FME
1)前期的数据预处理,需要必需的图层以及正确的图层名;
2)在进行墙中线提取时要注意阳台层是线层,不可直接提取中线,需要先利用缓冲出面再进行提取;
3)在进行提取之前需要把全部的面元素融合,然后再提取中心线;
4)提取后的中心线是一个块对象,需要先全部打断成线段,再构面即可完成墙中线的提取;
5)完成墙中线提取后,会在每户房产进入大门的第一个房间标记“入户空间”,在进大门前的一个空间标记“预入户空间”,这样就可以根据门,空间标记,房间中线的拓扑关系,通过标记参数的传递与门的位置提取出每户的空间范围;
6)得到范围后,即可注记出套内空间、公摊空间、每个房间面积。
FME通过定制综合转换器,实现一种格式到另一种格式的转换,在转换过程实现对数据的重构。实现的具体过程如下:
在进行数据处理之前分析所需要的数据,通过分析可知,需要几个层的数据,墙层、门层、窗层、柱子层、阳台层、虚拟边界层,其中阳台层、虚拟边界层为线层。
具体思路是先将墙层、门窗层、柱子层融合(Dissolver)成一个面,再用CenterLineReplacer来提取中心线。在进行融合之前要把虚拟边界层用Bufferer缓冲成面与其他面层融合即可利用CenterLineReplacer提取中心线,过程如图3所示。
图3 提取墙中线Fig.3 Extracting of wall centerline
在进行完墙中线提取后,发现提取的墙中线实际上是CAD的块对象,需要利用Intersector对所有的输入要素计算空间相交,并在线、多边形的相交处打断,这样就形成了许多条线段,再利用AreaBuilde转换器,对这些对象进行构面,得到需要的多段线形式的中心线。
由于阳台层是线层,所以此线层只需要构面即可。可利用LineCombiner[4]转换器,先把短线段连接成长线段,确保不会出现短线段,然后通过LineCloser转换器使线闭合,得到所需要的闭合线,并将其输入到室产权空间层,过程如图4所示。
图4 阳台层的处理Fig.4 Treatment of balcony floor
提取完墙中线后,个别多段线之间可能存在微小的缝隙,可以运用AreaGapAndOverlapCleaner处理空隙,它是通过解决相邻区域之间的空白和重叠来修复区域拓扑的转换器。然后对生成的中心线通过DWGStyler进行着色,这样就生成了需要的中心线,此数据也作为过程数据提交。提取结果如图5所示。
图5 自动提取的墙中线Fig.5 Automatic extraction centerline of wall
在进行分户分间信息提取前,先在每一户进大门的第一个房间加上“入户空间”标记,在进大门前的一个空间标记上“预入户空间”标记,通过Counter[5]转换器给每个入户空间赋值,然后分析各个房间提取的中线,门以及注记层的拓扑关系,可以分析出每个入户空间的房间边界,如果有门则可认为旁边的房间也属于此户,即根据起居室与门的关系可以得到此户的空间,那么这些空间(已过滤掉预入户空间)就可赋值与入户空间相同的值,然后合并这些有相同值的空间即可得到起居室相邻的空间,对于卧室里的阳台可以把合并后的空间再次根据与门的拓扑关系再次选择赋值,然后合并相同值的空间即可,具体流程如图6所示。
图6 套内空间提取过程Fig.6 Extracting process of house architectural area
公摊空间的识别比较简单,套内空间识别后过滤出剩下的空间即为公摊空间。
公摊空间提取过程如图7所示。
图7 公摊空间提取过程Fig.7 Extracting process of shared space
套内空间和公摊空间的示意图如图8所示。其中,绿线表示套内空间,紫线表示公摊空间,一共4户。
图8 套内空间与公摊空间示意图Fig.8 Schematic diagram of house architectural area and shared space
先利用AreaCalculator[6]转换器计算出各空间的面积,使用StringFormatter[7]保留2位小数,再通过LabelPointReplacer注记出此空间的面积,需要注意的是套内空间的注记需要把参数相同的空间面积相加,阳台的计算面积则需要在AreaCalculator计算时除以2,取其一半面积计算。套内面积计算具体流程如图9所示,其他空间面积计算同理。
图9 提取套内空间面积过程Fig.9 Extracting process of house architectural area
提取的成果如图10所示。其中,绿色较大字体的注记表示套内面积,紫色的注记表示公摊面积,白色的注记表示室产权空间面积。
图10 分户分间图以及面积提取结果Fig.10 Extraction results of household and room diagram,and area
提取过程中使用到的FME转换器如表1所示。
表1 模板使用的转换器Tab.1 Converter used by template
从提取的结果可以看出,这4户的套内面积分别为68.52 m2,68.39 m2、103.43 m2、106.46 m2。两个公摊空间面积都是12.24 m2。通过与在CAD图上量取的面积进行对比,得出FME提取的结果与CAD手工量取的面积完全一致。在对其他户型的提取中,出现了上空、露天阳台等注记,只需要通过Tester过滤,就可以根据注记内容以及规定提取面积。在项目实践中,此模板能较好地提取出所需要的信息。
本项目利用FME强大的数据处理功能,通过分析数据的结构特点,较好地运用到了具体实践中。通过FME设计模板,为房产数据的处理提供了一种新方法,并且可预先经过人工预处理,再通过此方法大批量地提取所需要的信息。