基于建筑矢量图的房间数据生成方法、装置、设备及介质与流程



1.本发明涉及建筑矢量图技术领域,尤其涉及一种基于建筑矢量图的房间数据生成方法、装置、设备及介质。


背景技术:



2.目前,传统的3d地图房间一般由人工绘制多边形房间,转换成3d立体数据,这样会浪费大量的人力成本,绘制地图时间较长,因为是人工绘制,容易存在误差。而在一种墙体识别房间的方法,提供了通过墙体数据还原房间的思路,不过该方法需要解析精准的门、柱、窗信息从而填补墙间隔,得到闭合的房间多边形数据。一般情况下,门是弧形数据,需要被解析成符合周围环境的墙填补墙体数据间隔,部分没有门的区域会被合并到其它房间或者过道。然而,在房间生成过程中易受到到柱子等拐角影响,难以得到无缝隙的结构数据,不符合实际需求。


技术实现要素:



3.本发明提供了一种基于建筑矢量图的房间数据生成方法、装置、设备及介质,以实现通过墙体线状数据生成房间数据,无需解析精准的门信息填补墙间隔。
4.第一方面,为了解决上述技术问题,本发明提供了一种基于建筑矢量图的房间数据生成方法,包括:
5.获取建筑矢量图数据,并根据所述建筑矢量图数据得到墙体线状数据;
6.根据所述墙体线状数据、预设的墙体厚度参数和门最大长度,生成门数据,并根据所述门数据和所述墙体线状数据,构建线数据集合;
7.将所述线数据集合分解为离散线段,对所述离散线段进行点采样,得到离散点集合;
8.根据预设的圆直径和所述离散点集合,基于滚球法得到多个闭合轮廓线;
9.根据所述闭合轮廓线中的有效边确定所述闭合轮廓线的顶点;其中,所述有效边为每一所述闭合轮廓线中边长大于所述圆直径的边;
10.根据所有所述顶点进行还原,得到房间多边形。
11.优选地,所述根据所述墙体线状数据、预设的墙体厚度参数和门最大长度,生成门数据,并根据所述门数据和所述墙体线状数据,构建线数据集合,包括:
12.遍历所述墙体线状数据的所有边,将所述墙体线状数据的每个边转换为离散的两点线段,并存入线段组;
13.遍历所述线段组,从所述线段组中选取一个预设厚度范围内的输入线段并以所述输入线段为中心进行搜索,得到与所述输入线段的距离在预设门宽度内的所有输出线段;
14.从所有所述输出线段中选取与所述输入线段满足平行重叠投影条件且距离小于所述门最大长度的目标线段,根据所述输入线段和所述目标线段生成门数据,并根据所述门数据和所述墙体线状数据,构建线数据集合。
15.优选地,所述将所述线数据集合分解为离散线段,对所述离散线段进行点采样,得到离散点集合,包括:
16.将所述线数据集合拆分为由离散的两点组成的线段集;
17.根据预设的采样密度在所述线段集中的每一线段上均匀采样,得到点数据;
18.根据所有所述点数据和每一线段的首尾两个点,构建离散点集合。
19.优选地,所述根据所述闭合轮廓线中的有效边确定所述闭合轮廓线的顶点,包括:
20.当任一所述闭合轮廓线中有效边的个数大于3时,将所述闭合轮廓线确定为有效多边形;
21.对所述有效多边形中每两条相邻的有效边进行延长操作,得到有效边延长线;
22.将相邻两条所述有效边延长线的交点确定为所述闭合轮廓线的顶点。
23.优选地,所述方法还包括:
24.当任意两个所述房间多边形重叠时,删除两个所述房间多边形中与墙体或者门数据存在重合部分的多边形。
25.第二方面,本发明提供了一种基于建筑矢量图的房间数据生成装置,包括:
26.数据获取模块,用于获取建筑矢量图数据,并根据所述建筑矢量图数据得到墙体线状数据;
27.线集合生成模块,用于根据所述墙体线状数据、预设的墙体厚度参数和门最大长度,生成门数据,并根据所述门数据和所述墙体线状数据,构建线数据集合;
28.顶点采样模块,用于将所述线数据集合分解为离散线段,对所述离散线段进行点采样,得到离散点集合;
29.轮廓生成模块,用于根据预设的圆直径和所述离散点集合,基于滚球法得到多个闭合轮廓线;
30.顶点确定模块,用于根据所述闭合轮廓线中的有效边确定所述闭合轮廓线的顶点;其中,所述有效边为每一所述闭合轮廓线中边长大于所述圆直径的边;
31.房间生成模块,用于根据所有所述顶点进行还原,得到房间多边形。
32.优选地,所述线集合生成模块包括:
33.线段生成单元,用于遍历所述墙体线状数据的所有边,将所述墙体线状数据的每个边转换为离散的两点线段,并存入线段组;
34.遍历搜索单元,用于遍历所述线段组,从所述线段组中选取一个预设厚度范围内的输入线段并以所述输入线段为中心进行搜索,得到与所述输入线段的距离在预设门宽度内的所有输出线段;
35.线集合生成单元,用于从所有所述输出线段中选取与所述输入线段满足平行重叠投影条件且距离小于所述门最大长度的目标线段,根据所述输入线段和所述目标线段生成门数据,并根据所述门数据和所述墙体线状数据,构建线数据集合。
36.优选地,所述顶点采样模块包括:
37.数组拆分单元,用于将所述线数据集合拆分为由离散的两点组成的线段集;
38.点采样单元,用于根据预设的采样密度在所述线段集中的每一线段上均匀采样,得到点数据;
39.集合构建单元,根据所有所述点数据和每一线段的首尾两个点,构建离散点集合。
40.第三方面,本发明还提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述中任意一项所述的基于建筑矢量图的房间数据生成方法。
41.第四方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述中任意一项所述的基于建筑矢量图的房间数据生成方法。
42.相比于现有技术,本发明具有如下有益效果:
43.本发明提供一种基于建筑矢量图的房间数据生成方法,通过获取建筑矢量图数据,并根据所述建筑矢量图数据得到墙体线状数据;根据所述墙体线状数据、预设的墙体厚度参数和门最大长度,可以利用短边结合空间数据索引rtree进行效率优化,生成门数据的多边形数组,结合原有墙体线状数据,构建包含门数据的线数据集合;将所述线数据集合分解为离散线段,对所述离散线段进行点采样,得到离散点集合;根据预设的圆直径和所述离散点集合,基于滚球法得到多个闭合轮廓线;根据所述闭合轮廓线中的有效边确定所述闭合轮廓线的顶点;其中,所述有效边为每一所述闭合轮廓线中边长大于所述圆直径的边;根据所有所述顶点进行还原,得到房间多边形。本发明利用alphashape(滚球法)构建房间的闭合轮廓线,通过轮廓散点还原房间多边形,整个过程无需解析精准的门信息填补墙间隔,受到柱子、拐角的影响较小,更加符合实际需求。
附图说明
44.图1是本发明第一实施例提供的基于建筑矢量图的房间数据生成方法流程示意图;
45.图2是平行重叠投影示意图;
46.图3是墙体线状数据的示意图;
47.图4是生成门数据后的线数据集合示意图;
48.图5是离散点集合的示意图;
49.图6是生成的闭合轮廓线及其边缘点数据的示意图;
50.图7是房间多边形的整体示意图;
51.图8是本发明第二实施例提供的基于建筑矢量图的房间数据生成装置结构示意图。
具体实施方式
52.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
53.参照图1,本发明第一实施例提供了一种基于建筑矢量图的房间数据生成方法,包括以下步骤:
54.s11,获取建筑矢量图数据,并根据所述建筑矢量图数据得到墙体线状数据;
55.s12,根据所述墙体线状数据、预设的墙体厚度参数和门最大长度,生成门数据,并
根据所述门数据和所述墙体线状数据,构建线数据集合;
56.s13,将所述线数据集合分解为离散线段,对所述离散线段进行点采样,得到离散点集合;
57.s14,根据预设的圆直径和所述离散点集合,基于滚球法得到多个闭合轮廓线;
58.s15,根据所述闭合轮廓线中的有效边确定所述闭合轮廓线的顶点;其中,所述有效边为每一所述闭合轮廓线中边长大于所述圆直径的边;
59.s16,根据所有所述顶点进行还原,得到房间多边形。
60.在步骤s11中,获取建筑矢量图数据,并根据所述建筑矢量图数据得到墙体线状数据。所述墙体线状数据包括墙体多边形或墙体多边形边线。
61.需要说明的是,本发明通过墙体生成房间数据,在获取建筑矢量图数据(如cad数据)之后,墙数据图层一般可以直接得到墙线数据,有些cad也存在绘制完成的墙体多边形,此时需要解析这些多边形的边线数据。极少情况下,建筑矢量图缺失墙体数据,需要人工绘制墙体边线数据。
62.在步骤s12中,根据所述墙体线状数据、预设的墙体厚度参数和门最大长度,生成门数据,并根据所述门数据和所述墙体线状数据,构建线数据集合,包括:
63.遍历所述墙体线状数据的所有边,将所述墙体线状数据的每个边转换为离散的两点线段,并存入线段组;
64.遍历所述线段组,从所述线段组中选取一个预设厚度范围内的输入线段并以所述输入线段为中心进行搜索,得到与所述输入线段的距离在预设门宽度内的所有输出线段;
65.从所有所述输出线段中选取与所述输入线段满足平行重叠投影条件且距离小于所述门最大长度的目标线段,根据所述输入线段和所述目标线段生成门数据,并根据所述门数据和所述墙体线状数据,构建线数据集合。
66.在实际应用中,门最大长度参数为0.5到5米可以满足大部分cad图的室内情况。根据不同场景,门最大长度参数为0米至20米。
67.其中,所述平行重叠投影条件的判断过程包括:
68.当线段a平行于线段b且线段a与线段b的间距在预设的墙体厚度参数以内,且线段a投影到线段b所在直线后得到的线段a’与线段b相交重叠时,判定线段a与线段b满足平行重叠投影条件。
69.假设有两条线ab,如果它们符合下面条件则定义它们为平行重叠投影:
70.1)a平行于b;
71.2)a投影到b所在直线(两个顶点分别垂直投影)得到的a’与b相交重叠;
72.3)ab的间距在墙体厚度参数以内;
73.如图2所示,假设ac平行dg平行hj,先不讨论厚度参数。ac与dg平行重叠投影因为ac在dg上的投影为df与dg相交。ac与eg平行重叠投影,因为ac在的在eg的所在直线dg上投影为df与eg相交。同理,ac与hj平行重叠投影。ab与fg不平行重叠投影,因为ab在eg的所在直线dg上投影为de与fg不相交。同理,ab与ij不平行重叠投影,ac与fg不平行重叠投影,因为ac在eg的所在直线dg上投影为df与fg相交但没有重叠部分。同理,ac与ij不平行重叠投影。
74.然后需要考虑到厚度参数,假设ac,dg间距离be为ε,hj,dg间距离eh为ε,假设预设
的墙体厚度参数为1/2ε到3/2ε,则认为ac到hj距离2ε不符合厚度参数,则上述ac与hj不平行重叠投影。
75.在具体应用中,厚度范围参数为0.05到0.4米可以满足大部分cad图的室内情况。根据不同场景,定义墙体厚度参数为0.01米至10米。
76.参照图3、图4,在步骤s12中生成了门数据,首先遍历所有墙体线状数据的边,到所有小于墙体厚度的边,通过检索r-tree查看是否这条边能与一条附近平行重叠投影且距离小于门宽度的边生成墙。这里如果生成部分已经在墙体内部也没有影响,因为这一步主要作用就是封闭区间。在该过程中可以使用rtree减少搜索量,降低时间成本。
77.在步骤s13中,将所述线数据集合分解为离散线段,对所述离散线段进行点采样,得到离散点集合,包括:
78.将所述线数据集合拆分为由离散的两点组成的线段集;
79.根据预设的采样密度在所述线段集中的每一线段上均匀采样,得到点数据;
80.根据所有所述点数据和每一线段的首尾两个点,构建离散点集合。
81.其中,采样密度可以直接采用墙厚度。在具体实施中,先把多边形分解成离散的线,再将每条线用点采样,每个点之间固定宽度加上每个线段首尾两个点将所有点放在一个集合中,即可得到离散点集合,如图5所示。
82.在步骤s14中,根据预设的圆直径和所述离散点集合,基于滚球法得到多个闭合轮廓线。
83.需要说明的是,这一步目的是确定确定每个房间的大致形状,可以采用alphashape(滚球法)来还原轮廓。具体地,输入离散点集合,控制alpha参数的圆直径大于离散点之间的距离,可以直接采用半径为采样距离的alpha值,得到多个闭合曲线,然后通过该闭合曲线形成房间的多个闭合轮廓线。如图6所示,调用alphashape生成的多边形及其边缘点数据。由于alphashape无法还原具体角度的信息,所以该多边形四周的直角需要进一步还原。
84.在步骤s15中,根据所述闭合轮廓线中的有效边确定所述闭合轮廓线的顶点,包括:
85.当任一所述闭合轮廓线中有效边的个数大于3时,将所述闭合轮廓线确定为有效多边形;
86.对所述有效多边形中每两条相邻的有效边进行延长操作,得到有效边延长线;
87.将相邻两条所述有效边延长线的交点确定为所述闭合轮廓线的顶点。
88.其中,所述有效边为每一所述闭合轮廓线中边长大于所述圆直径的边。
89.需要说明的是,在得到房间大致形状后,由于alphashape是由散点构成的,在同一条直线边上会出现大量散点而且会忽略拐角信息,需要先将大于alpha圆直径的边还原,将他们称为有效边。在有效边数大于3时,认为这是一个有效多边形。在每两条相邻有效边之间,需要到一个他们延长线的点,这个延长线的交点就是多边形的顶点。求出所有顶点后,就可以还原这个房间多边形。
90.进一步地,可以控制房间大小与边数控制房间的合法性。当发生特殊情况,例如两条相邻有效边平行或者交点非常远时,这时认为只两条边其实并不是实际房间的相邻边,做垂线来还原他们之间的另一条有效边。
91.在步骤s16中,根据所有所述顶点进行还原,得到房间多边形。这一步骤可以实现多边形还原简化,最终生成的房间多边形如图7所示。
92.进一步地,当任意两个所述房间多边形重叠时,删除两个所述房间多边形中与墙体或者门数据存在重合部分的多边形。需要说明的是,因为希望得到的房间相互独立,不存在重叠情况,而alphashape可能得到重叠的数据结构,如地图的外轮廓一般也会生成房间区域。因此当房间多边形重叠时,需要对得到的房间数据做重叠检测,一般保留较小的多边形房间区域,将较大的房间作为局部或者整体的外轮廓。
93.本发明提供一种基于建筑矢量图的房间数据生成方法,通过获取建筑矢量图数据,并根据所述建筑矢量图数据得到墙体线状数据;根据所述墙体线状数据、预设的墙体厚度参数和门最大长度,生成包含门数据的线数据集合,可以利用短边结合空间数据索引rtree进行效率优化,构建包含门数据的线数据集合;将所述线数据集合分解为离散线段,对所述离散线段进行点采样,得到离散点集合;根据预设的圆直径和所述离散点集合,基于滚球法得到多个闭合轮廓线;根据所述闭合轮廓线中的有效边确定所述闭合轮廓线的顶点;其中,所述有效边为每一所述闭合轮廓线中边长大于所述圆直径的边;根据所有所述顶点进行还原,得到房间多边形。本发明利用alpha shape(滚球法)构建房间的闭合轮廓线,构建包含门数据的线数据集合,并通过轮廓散点还原房间多边形,整个过程无需解析精准的门信息填补墙间隔,受到柱子、拐角的影响较小,更加符合实际需求。
94.参照图8,本发明第二实施例提供了一种一种基于建筑矢量图的房间数据生成装置,包括:
95.数据获取模块,用于获取建筑矢量图数据,并根据所述建筑矢量图数据得到墙体线状数据;
96.线集合生成模块,用于根据所述墙体线状数据、预设的墙体厚度参数和门最大长度,生成门数据,并根据所述门数据和所述墙体线状数据,构建线数据集合;
97.顶点采样模块,用于将所述线数据集合分解为离散线段,对所述离散线段进行点采样,得到离散点集合;
98.轮廓生成模块,用于根据预设的圆直径和所述离散点集合,基于滚球法得到多个闭合轮廓线;
99.顶点确定模块,用于根据所述闭合轮廓线中的有效边确定所述闭合轮廓线的顶点;其中,所述有效边为每一所述闭合轮廓线中边长大于所述圆直径的边;
100.房间生成模块,用于根据所有所述顶点进行还原,得到房间多边形。
101.优选地,所述线集合生成模块包括:
102.线段生成单元,用于遍历所述墙体线状数据的所有边,将所述墙体线状数据的每个边转换为离散的两点线段,并存入线段组;
103.遍历搜索单元,用于遍历所述线段组,从所述线段组中选取一个预设厚度范围内的输入线段并以所述输入线段为中心进行搜索,得到与所述输入线段的距离在预设门宽度内的所有输出线段;
104.线集合生成单元,用于从所有所述输出线段中选取与所述输入线段满足平行重叠投影条件且距离小于所述门最大长度的目标线段,根据所述输入线段和所述目标线段生成门数据,并根据所述门数据和所述墙体线状数据,构建线数据集合。
105.优选地,所述顶点采样模块包括:
106.数组拆分单元,用于将所述线数据集合拆分为由离散的两点组成的线段集;
107.点采样单元,用于根据预设的采样密度在所述线段集中的每一线段上均匀采样,得到点数据;
108.集合构建单元,根据所有所述点数据和每一线段的首尾两个点,构建离散点集合。
109.优选地,所述顶点确定模块包括:
110.多边形确定单元,用于当任一所述闭合轮廓线中有效边的个数大于3时,将所述闭合轮廓线确定为有效多边形;
111.延长单元,用于对所述有效多边形中每两条相邻的有效边进行延长操作,得到有效边延长线;
112.顶点确定单元,用于将相邻两条所述有效边延长线的交点确定为所述闭合轮廓线的顶点。
113.优选地,所述装置还包括:
114.重叠删除模块,用于当任意两个所述房间多边形重叠时,删除两个所述房间多边形中与墙体或者门数据存在重合部分的多边形。
115.需要说明的是,本发明实施例提供的一种基于建筑矢量图的房间数据生成装置用于执行上述实施例的一种基于建筑矢量图的房间数据生成方法的所有流程步骤,两者的工作原理和有益效果一一对应,因而不再赘述。
116.本发明实施例还提供了一种终端设备。该终端设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如基于建筑矢量图的房间数据生成程序。所述处理器执行所述计算机程序时实现上述各个基于建筑矢量图的房间数据生成方法实施例中的步骤,例如图1所示的步骤s11。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如轮廓生成模块。
117.示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端设备中的执行过程。
118.所述终端设备可以是桌上型计算机、笔记本、掌上电脑及智能平板等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,上述部件仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
119.所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
120.所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
121.其中,所述终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
122.需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
123.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:


1.一种基于建筑矢量图的房间数据生成方法,其特征在于,包括:获取建筑矢量图数据,并根据所述建筑矢量图数据得到墙体线状数据;根据所述墙体线状数据、预设的墙体厚度参数和门最大长度生成门数据,并根据所述门数据和所述墙体线状数据,构建线数据集合;将所述线数据集合分解为离散线段,对所述离散线段进行点采样,得到离散点集合;根据预设的圆直径和所述离散点集合,基于滚球法得到多个闭合轮廓线;根据所述闭合轮廓线中的有效边确定所述闭合轮廓线的顶点;其中,所述有效边为每一所述闭合轮廓线中边长大于所述圆直径的边;根据所有所述顶点进行还原,得到房间多边形。2.根据权利要求1所述的基于建筑矢量图的房间数据生成方法,其特征在于,所述根据所述墙体线状数据、预设的墙体厚度参数和门最大长度生成门数据,并根据所述门数据和所述墙体线状数据,构建线数据集合,包括:遍历所述墙体线状数据的所有边,将所述墙体线状数据的每个边转换为离散的两点线段,并存入线段组;遍历所述线段组,从所述线段组中选取一个预设厚度范围内的输入线段并以所述输入线段为中心进行搜索,得到与所述输入线段的距离在预设门宽度内的所有输出线段;从所有所述输出线段中选取与所述输入线段满足平行重叠投影条件且距离小于所述门最大长度的目标线段,根据所述输入线段和所述目标线段生成门数据,并根据所述门数据和所述墙体线状数据,构建线数据集合。3.根据权利要求1所述的基于建筑矢量图的房间数据生成方法,其特征在于,所述将所述线数据集合分解为离散线段,对所述离散线段进行点采样,得到离散点集合,包括:将所述线数据集合拆分为由离散的两点组成的线段集;根据预设的采样密度在所述线段集中的每一线段上均匀采样,得到点数据;根据所有所述点数据和每一线段的首尾两个点,构建离散点集合。4.根据权利要求1所述的基于建筑矢量图的房间数据生成方法,其特征在于,所述根据所述闭合轮廓线中的有效边确定所述闭合轮廓线的顶点,包括:当任一所述闭合轮廓线中有效边的个数大于3时,将所述闭合轮廓线确定为有效多边形;对所述有效多边形中每两条相邻的有效边进行延长操作,得到有效边延长线;将相邻两条所述有效边延长线的交点确定为所述闭合轮廓线的顶点。5.根据权利要求1所述的基于建筑矢量图的房间数据生成方法,其特征在于,所述方法还包括:当任意两个所述房间多边形重叠时,删除两个所述房间多边形中与墙体或者门数据存在重合部分的多边形。6.一种基于建筑矢量图的房间数据生成装置,其特征在于,包括:数据获取模块,用于获取建筑矢量图数据,并根据所述建筑矢量图数据得到墙体线状数据;线集合生成模块,用于根据所述墙体线状数据、预设的墙体厚度参数和门最大长度生成门数据,并根据所述门数据和所述墙体线状数据,构建线数据集合;
顶点采样模块,用于将所述线数据集合分解为离散线段,对所述离散线段进行点采样,得到离散点集合;轮廓生成模块,用于根据预设的圆直径和所述离散点集合,基于滚球法得到多个闭合轮廓线;顶点确定模块,用于根据所述闭合轮廓线中的有效边确定所述闭合轮廓线的顶点;其中,所述有效边为每一所述闭合轮廓线中边长大于所述圆直径的边;房间生成模块,用于根据所有所述顶点进行还原,得到房间多边形。7.根据权利要求6所述的基于建筑矢量图的房间数据生成装置,其特征在于,所述线集合生成模块包括:线段生成单元,用于遍历所述墙体线状数据的所有边,将所述墙体线状数据的每个边转换为离散的两点线段,并存入线段组;遍历搜索单元,用于遍历所述线段组,从所述线段组中选取一个预设厚度范围内的输入线段并以所述输入线段为中心进行搜索,得到与所述输入线段的距离在预设门宽度内的所有输出线段;线集合生成单元,用于从所有所述输出线段中选取与所述输入线段满足平行重叠投影条件且距离小于所述门最大长度的目标线段,根据所述输入线段和所述目标线段生成门数据,并根据所述门数据和所述墙体线状数据,构建线数据集合。8.根据权利要求6所述的基于建筑矢量图的房间数据生成装置,其特征在于,所述顶点采样模块包括:数组拆分单元,用于将所述线数据集合拆分为由离散的两点组成的线段集;点采样单元,用于根据预设的采样密度在所述线段集中的每一线段上均匀采样,得到点数据;集合构建单元,根据所有所述点数据和每一线段的首尾两个点,构建离散点集合。9.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5中任意一项所述的基于建筑矢量图的房间数据生成方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至5中任意一项所述的基于建筑矢量图的房间数据生成方法。

技术总结


本发明公开了一种基于建筑矢量图的房间数据生成方法、装置、设备及介质,方法包括获取建筑矢量图数据,并根据建筑矢量图数据得到墙体线状数据;根据墙体线状数据、预设的墙体厚度参数和门最大长度,生成门数据,并根据门数据和墙体线状数据,构建线数据集合;将线数据集合分解为离散线段,对离散线段进行点采样,得到离散点集合;根据预设的圆直径和离散点集合,基于滚球法得到多个闭合轮廓线;根据闭合轮廓线中的有效边确定闭合轮廓线的顶点;其中,有效边为每一闭合轮廓线中边长大于圆直径的边;根据所有顶点进行还原,得到房间多边形。本方法能实现通过墙体线状数据生成房间数据,无需解析精准的门信息填补墙间隔。无需解析精准的门信息填补墙间隔。无需解析精准的门信息填补墙间隔。


技术研发人员:

吕道祯 罗梨 卢志豪 高民 王周红

受保护的技术使用者:

广州码石信息科技有限公司

技术研发日:

2022.09.27

技术公布日:

2022/12/16

本文发布于:2024-09-22 04:34:48,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/42082.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   线段   数据   墙体
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议