一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

楼层图生成方法及装置、存储介质及电子设备与流程

2022-11-16 07:19:57 来源:中国专利 TAG:


1.本发明涉及图像处理技术领域,特别是涉及一种楼层图生成方法及装置、存储介质及电子设备。


背景技术:

2.在房地产及其相关领域中,通常会采用楼层图作为楼盘信息的组成部分。楼层图是描述某一幢楼某一楼层所有户型分布的图像,是提供房地产信息服务的重要资源之一。
3.目前,对于楼层图的绘制,通常是由设计人员参照户型的外轮廓,凭经验对户型位置进行设定,按照人为设定的户型位置生成楼层图。
4.而在实际的生产场景中,楼盘涉及的楼层众多,通常需要批量生成楼层图。基于现有的楼层图生成方式,需要人工干预每个楼层图的户型拼接位置,需要耗费大量的人力资源,耗时较长,生成楼层图的效率较低。


技术实现要素:

5.有鉴于此,本发明实施例提供了一种楼层图生成方法,以解决需人工干预楼层图的户型拼接位置,需耗费大量人力资源,且耗时长、效率低的问题。
6.本发明实施例还提供了一种楼层图生成装置,用以保证上述方法实际中的实现及应用。
7.为实现上述目的,本发明实施例提供如下技术方案:
8.一种楼层图生成方法,包括:
9.在需要生成目标楼层的楼层图的情况下,确定所述目标楼层对应的多个楼栋单元,并确定每个所述楼栋单元对应的多个户型图;
10.确定每个所述户型图对应的户型图数据;每个所述户型图对应的户型图数据包括该户型图中每个建筑构件元素的矢量数据;
11.依据每个所述户型图对应的户型图数据,确定每个所述户型图对应的户型拼接信息;每个所述户型拼接信息包括其对应户型图的外轮廓上的建筑构件元素的位置数据和该户型图的可拼接角度;
12.对于每个所述楼栋单元,依据该楼栋单元对应的每个户型图和该楼栋单元对应的每个户型图所对应的户型图数据,生成该楼栋单元对应的单元图;
13.确定每个所述单元图对应的单元拼接信息;每个所述单元拼接信息包括其对应单元图的外轮廓上的建筑构件元素的位置数据和该单元图的可拼接角度;
14.依据预设的单元拼接规则和各个所述单元拼接信息,对各个所述单元图进行拼接,得到拼接图;
15.依据预设的异常检测策略,对所述拼接图进行异常检测;
16.若所述拼接图通过异常检测,则生成所述拼接图对应的楼层图,将所述拼接图对应的楼层图作为所述目标楼层的楼层图。
17.上述的方法,可选的,所述确定每个所述户型图对应的户型图数据,包括:
18.提取每个所述户型图对应的初始图像数据;每个所述户型图对应的初始图像数据包括该户型图中每个建筑构件元素对应的初始矢量数据;
19.对于每个所述初始图像数据中的每个初始矢量数据,依据预设的数据预处理策略对该初始矢量数据进行数据预处理,将处理结果作为该初始矢量数据对应的建筑构件元素的矢量数据;
20.对于每个所述户型图,将该户型图中每个建筑构件元素的矢量数据组成该户型图对应的户型图数据。
21.上述的方法,可选的,所述依据该楼栋单元对应的每个户型图和该楼栋单元对应的每个户型图所对应的户型图数据,生成该楼栋单元对应的单元图,包括:
22.将该楼栋单元对应的每个户型图作为目标户型图;
23.依据预设的户型拼接规则和每个所述目标户型图对应的户型图数据,对各个所述目标户型图进行拼接,得到初始单元图;所述初始单元图中包含完成拼接的各个所述目标户型图;
24.检测所述初始单元图中是否存在拼接异常的目标户型图;
25.若所述初始单元图中不存在拼接异常的目标户型图,则将所述初始单元图作为该楼栋单元对应的单元图。
26.上述的方法,可选的,还包括:
27.若所述初始单元图中存在拼接异常的目标户型图,则基于所述初始单元图中拼接异常的目标户型图,确定户型拼接异常信息,并向用户反馈所述户型拼接异常信息。
28.上述的方法,可选的,所述依据预设的异常检测策略,对所述拼接图进行异常检测,包括:
29.检测所述拼接图是否符合预设的户型图无重叠条件;
30.若所述拼接图符合所述户型图无重叠条件,则检测所述拼接图是否符合预设的完整性条件;
31.若所述拼接图符合所述完整性条件,则检测所述拼接图是否符合预设的外轮廓合格条件;
32.若所述拼接图符合所述外轮廓合格条件,则确定所述拼接图通过异常检测。
33.上述的方法,可选的,所述生成所述拼接图对应的楼层图,包括:
34.依据预设的凸包算法,确定所述拼接图对应的外轮廓;
35.依据所述拼接图对应的外轮廓,对所述拼接图进行矢量数据合成处理,得到合成图,并将所述合成图作为该拼接图对应的楼层图。
36.上述的方法,可选的,还包括:
37.生成所述目标楼层的楼层图所对应的拼接日志,并向用户反馈所述拼接日志。
38.一种楼层图生成装置,包括:
39.第一确定单元,用于在需要生成目标楼层的楼层图的情况下,确定所述目标楼层对应的多个楼栋单元,并确定每个所述楼栋单元对应的多个户型图;
40.第二确定单元,用于确定每个所述户型图对应的户型图数据;每个所述户型图对应的户型图数据包括该户型图中每个建筑构件元素的矢量数据;
41.第三确定单元,用于依据每个所述户型图对应的户型图数据,确定每个所述户型图对应的户型拼接信息;每个所述户型拼接信息包括其对应户型图的外轮廓上的建筑构件元素的位置数据和该户型图的可拼接角度;
42.第一生成单元,用于对于每个所述楼栋单元,依据该楼栋单元对应的每个户型图和该楼栋单元对应的每个户型图所对应的户型图数据,生成该楼栋单元对应的单元图;
43.第四确定单元,用于确定每个所述单元图对应的单元拼接信息;每个所述单元拼接信息包括其对应单元图的外轮廓上的建筑构件元素的位置数据和该单元图的可拼接角度;
44.拼接单元,用于依据预设的单元拼接规则和各个所述单元拼接信息,对各个所述单元图进行拼接,得到拼接图;
45.检测单元,用于依据预设的异常检测策略,对所述拼接图进行异常检测;
46.第二生成单元,用于若所述拼接图通过异常检测,则生成所述拼接图对应的楼层图,将所述拼接图对应的楼层图作为所述目标楼层的楼层图。
47.一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如上述的楼层图生成方法。
48.一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如上述的楼层图生成方法。
49.基于上述本发明实施例提供的一种楼层图生成方法,包括:在需要生成目标楼层的楼层图的情况下,确定目标楼层对应的多个楼栋单元,并确定每个楼栋单元对应的多个户型图;确定每个户型图对应的户型图数据;每个户型图对应的户型图数据包括该户型图中每个建筑构件元素的矢量数据;依据每个户型图对应的户型图数据,确定每个户型图对应的户型拼接信息;每个户型拼接信息包括其对应户型图的外轮廓上的建筑构件元素的位置数据和该户型图的可拼接角度;对于每个楼栋单元,依据该楼栋单元对应的每个户型图和该楼栋单元对应的每个户型图所对应的户型图数据,生成该楼栋单元对应的单元图;确定每个单元图对应的单元拼接信息;每个单元拼接信息包括其对应单元图的外轮廓上的建筑构件元素的位置数据和该单元图的可拼接角度;依据预设的单元拼接规则和各个单元拼接信息,对各个单元图进行拼接,得到拼接图;依据预设的异常检测策略,对拼接图进行异常检测;若拼接图通过异常检测,则生成拼接图对应的楼层图,将拼接图对应的楼层图作为目标楼层的楼层图。应用本发明实施例提供的方法,可对待拼接的各个户型图的户型图数据进行处理,得到每个户型图的户型拼接信息,并可基于户型拼接信息实现自动化的户型图拼接,最终生成楼层图。可减少楼层图生成过程中的人工干预,可节省人力资源,缩短生成楼层图的耗时,提高工作效率。
附图说明
50.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
51.图1为本发明实施例提供的一种楼层图生成方法的方法流程图;
52.图2为本发明实施例提供的一种楼层图生成方法的又一方法流程图;
53.图3为本发明实施例提供的一种楼层图生成装置的结构示意图;
54.图4为本发明实施例提供的一种楼层图生成装置的又一结构示意图;
55.图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
56.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
57.在本技术中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
58.本发明实施例提供了一种楼层图生成方法,所述方法可应用于楼层图管理平台,其执行主体可以为平台的服务器,所述方法的方法流程图如图1所示,包括:
59.s101:在需要生成目标楼层的楼层图的情况下,确定所述目标楼层对应的多个楼栋单元,并确定每个所述楼栋单元对应的多个户型图;
60.本发明实施例提供的方法中,可在平台中预先配置需要生成楼层图的楼栋的相关信息,包括该楼栋的单元数目、每个楼栋单元的各个户型图以及户型图的相关数据等等。
61.本发明实施例提供的方法中,用户可以在前端指定当前需要生成楼层图的楼栋和楼层,通过点击控件向服务器发生楼层图的生成指令,以生成指定的目标楼层的楼层图。用户也可以统一指示生成某幢楼或是多幢楼的批量楼层图,可以在前端指定需要生成楼层图的楼栋,通过点击控件向服务器发送批量生成楼层图的指令,服务器接收到指令时,可将用户指定的楼栋对应的每个楼层均作为目标楼层,针对每个目标楼层进行处理即可。服务器在需要生成目标楼层的楼层图的情况下,可从预先配置的信息中,获取目标楼层对应的各个楼栋单元和每个楼栋单元对应的户型图。楼栋单元也就是该幢楼所具有的单元(即楼道),每个楼栋单元对应的各个户型图即为分布在该幢楼该单元该楼层的各个户型的户型图。
62.s102:确定每个所述户型图对应的户型图数据;每个所述户型图对应的户型图数据包括该户型图中每个建筑构件元素的矢量数据;
63.本发明实施例提供的方法中,对每个户型图进行矢量数据提取,获得每个户型图对应的户型图数据,户型图数据包括各个建筑构件元素的矢量数据,建筑构件元素主要指的是门、窗、墙等元素。整体数据的数据格式可参见以下示例:
64.{
65.楼栋:#10,
66.楼层:7,
67.单元:{
68.1单元:[户1data,户2data,...],
[0069]
2单元:[户1data,户2data,...],
[0070]
...
[0071]
}
[0072]
}。
[0073]
单个户型图数据的数据内容可如下所示:
[0074]
floorplan/corners:所有位置点的坐标信息;
[0075]
floorplan/walls:所有的墙,包括户型图外墙和内墙,墙通过两个位置点表示;
[0076]
items:门窗信息,主要有门窗类型,中心点坐标、长度,所在墙对应的位置点。
[0077]
本发明实施例提供的方法中,若是在提取矢量数据时出现异常,可以抛出异常的户型图的户型id,以便于用户进行异常处理。
[0078]
s103:依据每个所述户型图对应的户型图数据,确定每个所述户型图对应的户型拼接信息;每个所述户型拼接信息包括其对应户型图的外轮廓上的建筑构件元素的位置数据和该户型图的可拼接角度;
[0079]
本发明实施例提供的方法中,可以依据各个户型图对应的户型图数据和预设的处理策略,确定每个户型图对应的户型拼接信息,包括户型外轮廓上建筑构件元素的位置数据和可拼接角度。建筑构件元素的位置数据主要包括元素的坐标、朝向、方位等内容,可拼接角度指的是该户型图上可以拼接其他户型图的位置。
[0080]
具体的,可以根据基本的矢量数据,计算户型图外轮廓,分别对外轮廓上包含的“门、窗、墙”进行数据预处理,具体的处理方式可以如下所示:
[0081]
门、窗、墙:对应角度(0-360),朝上时设为0,朝右设为90,朝下设为180,朝左设为270,顺时针方向,角度指在0-360之间;
[0082]
门、窗:朝向,根据上面角度估算出门窗对应的朝向“上、下、左、右”;方位,根据门窗中心点相对在户型图上的位置估算出对应的方位“上、中、下”、“左、中、右”;
[0083]
计算户型图对应的可拼接角度:可拼接角度表示户型图在该角度可以拼接其他户型,一般为{0,90,180,270}的子集,有较长斜面外墙时,考虑其他特殊角度,计算时需要综合考虑该角度上对应的所有外墙及门窗,简单的说,就是该方向上能够拼接另一面墙。
[0084]
s104:对于每个所述楼栋单元,依据该楼栋单元对应的每个户型图和该楼栋单元对应的每个户型图所对应的户型图数据,生成该楼栋单元对应的单元图;
[0085]
本发明实施例提供的方法中,可按照预设的户型拼接规则和户型图数据,对每个楼栋单元对应的各个户型图进行拼接,生成每个楼栋单元对应的单元图。在拼接户型图的过程中,可根据拼接情况对户型图进行缩放、平移、旋转或镜像等操作。
[0086]
s105:确定每个所述单元图对应的单元拼接信息;每个所述单元拼接信息包括其对应单元图的外轮廓上的建筑构件元素的位置数据和该单元图的可拼接角度;
[0087]
本发明实施例提供的方法中,生成的每个单元图亦存在其对应的单元图数据,可根据每个单元图对应的单元图数据,确定每个单元图对应的单元拼接信息,其具体的数据内容与户型图对应的户型拼接信息相类似,主要是该单元图的外轮廓上的建筑构件元素的位置数据和该单元图的可拼接角度。
[0088]
s106:依据预设的单元拼接规则和各个所述单元拼接信息,对各个所述单元图进行拼接,得到拼接图;
[0089]
本发明实施例提供的方法中,可根据各个单元拼接信息中包含的建筑构件元素的坐标、朝向、方位等位置数据以及单元图的可拼接角度等信息,按照预设的单元拼接规则,选取拼接最优的两个单元图,确认拼接方向,然后进行拼接,其余单元依次进行最优化选取,进行追加拼接,最后得到各个单元拼接形成的拼接图。拼接过程中,包含针对单元图的缩放、平移、旋转或镜像等逻辑操作,并同步更新每个单元图对应的“可拼接角度”信息。在单元图拼接过程中,如存在无法合理匹配的单元,即找不到满足条件的拼接方向,则按默认逻辑横向顺序拼接,并记录对应的单元信息,以进行异常标记。
[0090]
s107:依据预设的异常检测策略,对所述拼接图进行异常检测;
[0091]
本发明实施例提供的方法中,可预先设置多个用于检测拼接异常的规则,作为异常检测策略。通过预设的异常检测策略中的每个规则对各个单元图拼接得到的拼接图进行异常检测,也就是判断该拼接图中是否存在拼接异常的情况,例如上一步骤中提及的按默认逻辑横向顺序拼接的情况,即为一种拼接异常的情况。如果拼接图中不存在拼接异常的情况,则判定该拼接图通过异常检测。若是拼接图中存在拼接异常的情况,则判定其未通过异常检测。
[0092]
s108:若所述拼接图通过异常检测,则生成所述拼接图对应的楼层图,将所述拼接图对应的楼层图作为所述目标楼层的楼层图。
[0093]
本发明实施例提供的方法中,若拼接图通过了异常检测,则根据该拼接图生成最终的楼层图,将其作为目标楼层的楼层图。如果拼接图未通过异常检测,则记录该拼接图的异常信息,反馈给用户,待用户进行人工审核,若是用户确认该拼接图无误,则生成最终的楼层图。用户亦可通过前端对拼接图进行编辑修改,若是用户进行了编辑修改,则基于用户修改后的拼接图生成最终的楼层图。
[0094]
需要说明的是,本发明实施例中提及的具体数据内容和数据格式,仅是为了更好地说明本发明实施例提供的方法所提供的具体实施例,在具体的实现过程中,具体的数据内容和数据格式可根据实际需求确定,不影响本发明实施例提供的方法实现功能。
[0095]
基于本发明实施例提供的方法,在需要生成目标楼层的楼层图的情况下,确定目标楼层对应的多个楼栋单元,并确定每个所述楼栋单元对应的多个户型图;确定每个户型图对应的户型图数据;每个户型图对应的户型图数据包括该户型图中每个建筑构件元素的矢量数据;依据每个户型图对应的户型图数据,确定每个户型图对应的户型拼接信息;每个户型拼接信息包括其对应户型图的外轮廓上的建筑构件元素的位置数据和该户型图的可拼接角度;对于每个楼栋单元,依据该楼栋单元对应的每个户型图和该楼栋单元对应的每个户型图所对应的户型图数据,生成该楼栋单元对应的单元图;确定每个单元图对应的单元拼接信息;每个单元拼接信息包括其对应单元图的外轮廓上的建筑构件元素的位置数据和该单元图的可拼接角度;依据预设的单元拼接规则和各个单元拼接信息,对各个单元图进行拼接,得到拼接图;依据预设的异常检测策略,对拼接图进行异常检测;若拼接图通过异常检测,则生成拼接图对应的楼层图,将拼接图对应的楼层图作为目标楼层的楼层图。应用本发明实施例提供的方法,可对待拼接的各个户型图进行矢量数据提取,得到各个户型图的户型图数据,进一步处理得到户型拼接信息,并可基于户型拼接信息实现自动化的户
型图拼接,最终生成楼层图。可减少楼层图生成过程中的人工干预,可节省人力资源,缩短生成楼层图的耗时,提高工作效率。
[0096]
在图1所示方法的基础上,本发明实施例提供的方法中,步骤s102中提及的确定每个所述户型图对应的户型图数据的过程,包括:
[0097]
提取每个所述户型图对应的初始图像数据;每个所述户型图对应的初始图像数据包括该户型图中每个建筑构件元素对应的初始矢量数据;
[0098]
本发明实施例提供的方法中,可对每个户型图进行矢量数据提取,得到每个户型图对应的初始图像数据,包括图像中每个建筑构件元素的初始矢量数据,主要是相关点的位置坐标。
[0099]
对于每个所述初始图像数据中的每个初始矢量数据,依据预设的数据预处理策略对该初始矢量数据进行数据预处理,将处理结果作为该初始矢量数据对应的建筑构件元素的矢量数据;
[0100]
本发明实施例提供的方法中,可预先设置数据预处理策略,该策略主要用于对矢量数据的坐标系和比例尺等属性进行统一。按照预设的数据预处理策略,对每个初始图像数据中的各个初始矢量数据进行数据预处理,以统一各个矢量数据的坐标系、比例尺等等,将经过数据预处理的初始矢量数据作为其对应建筑构件元素的矢量数据。
[0101]
对于每个所述户型图,将该户型图中每个建筑构件元素的矢量数据组成该户型图对应的户型图数据。
[0102]
本发明实施例提供的方法中,将每个户型图中每个建筑构件元素的矢量数据组成该户型图对应的户型图数据。
[0103]
在图1所示方法的基础上,本发明实施例提供了又一种楼层图生成方法,参考图2所示流程图,本发明实施例提供的方法中,步骤s104中提及的依据该楼栋单元对应的每个户型图和该楼栋单元对应的每个户型图所对应的户型图数据,生成该楼栋单元对应的单元图的过程,包括:
[0104]
s201:将该楼栋单元对应的每个户型图作为目标户型图;
[0105]
本发明实施例提供的方法中,针对当前的楼栋单元,将其对应的每个户型图视为目标户型图。
[0106]
s202:依据预设的户型拼接规则和每个所述目标户型图对应的户型图数据,对各个所述目标户型图进行拼接,得到初始单元图;所述初始单元图中包含完成拼接的各个所述目标户型图;
[0107]
本发明实施例提供的方法中,可以根据户型图的拼接需求,设置户型拼接规则,其基本原则可以为“门相近、窗互斥、墙体相拼接”,可以理解为相拼接的两个户型图外轮廓上的“门”相近为优选,而若是墙体上有窗或门,则该墙体与其他的墙体互斥,即不能进行接触式拼接,而两个纯墙体可以进行接触式拼接。可按照户型拼接规则,基于各个目标户型图的户型图数据,在各个目标户型图中计算出最优的两张户型图相拼接,其余户型图依照相同的原则进行选取、追加到已拼接得到的图中,拼接过程中,包含有针对户型图的缩放、平移、旋转或镜像等逻辑操作,并同步更新每个户型图的户型图数据对应的“可拼接角度”信息,同时生成或更新已拼接单元图对应的“方向、方位、可拼接角度”信息。将各个目标户型图进行拼接后,可得到初始单元图。
[0108]
s203:检测所述初始单元图中是否存在拼接异常的目标户型图;
[0109]
本发明实施例提供的方法中,若是在各个户型图的拼接过程中,存在户型图无法与其他户型图相拼接,则按默认逻辑,将其按照横向顺序进行拼接,并记录户型图的id,相当于将该户型图标记为存在拼接异常的户型图。
[0110]
当得到各个目标户型图对应的初始单元图后,可检测初始单元图中是否存在拼接异常的目标户型图,即是否存在无法与其他户型图相拼接的户型图。
[0111]
s204:若所述初始单元图中不存在拼接异常的目标户型图,则将所述初始单元图作为该楼栋单元对应的单元图。
[0112]
本发明实施例提供的方法中,如果初始单元图中不存在拼接异常的目标户型图,则将该初始单元图作为当前楼栋单元对应的单元图。
[0113]
在上述实施例提供的方法的基础上,本发明实施例提供的方法中,还包括:
[0114]
若所述初始单元图中存在拼接异常的目标户型图,则基于所述初始单元图中拼接异常的目标户型图,确定户型拼接异常信息,并向用户反馈所述户型拼接异常信息。
[0115]
本发明实施例提供的方法中,若经步骤s203的判断,初始单元图中存在拼接异常的目标户型图,则将初始单元图中拼接异常的目标户型图的户型id作为异常的户型id,以此确定户型拼接异常信息,户型拼接异常信息可以包括异常的户型id及其对应的拼接数据。通过前端将户型拼接异常信息反馈给用户,以便于用户对初始单元图中拼接异常的目标户型图进行人工审核,若是用户确认无误,则仍将初始单元图作为楼栋单元对应的单元图。而用户亦可通过前端对初始单元图进行修改编辑,若用户对初始单元图进行修改编辑,则将用户修改后的初始单元图作为对应楼栋单元的单元图。
[0116]
进一步的,在图1所示方法的基础上,本发明实施例提供的方法中,步骤s107中提及的依据预设的异常检测策略,对所述拼接图进行异常检测的过程,包括:
[0117]
检测所述拼接图是否符合预设的户型图无重叠条件;
[0118]
本发明实施例提供的方法中,楼层图需符合户型图无重叠条件,即楼层图中的各个单元图或是户型图之间没有重叠。对各个单元图进行拼接得到拼接图后,可对拼接图进行图像检测,检测拼接图中的各个单元图/户型图之间是否有相互覆盖的情况,若是没有相互覆盖的情况,则判定拼接图符合户型图无重叠条件。若存在相互覆盖的情况,则拼接图不符合户型图无重叠条件。若拼接图不符合户型图无重叠条件,则确定拼接图未通过异常检测。
[0119]
若所述拼接图符合所述户型图无重叠条件,则检测所述拼接图是否符合预设的完整性条件;
[0120]
本发明实施例提供的方法中,楼层图需符合完整性条件,也就是楼层图应拼接完整,其中各个户型图或单元图相互连接,数据连贯。当拼接图符合户型图无重叠条件时,可检测拼接图是否拼接不完整,即拼接图被分成多块,彼此不连接,有明显的数据分离情况。如果拼接图中的拼接完整,则判定拼接图符合完整性条件。若拼接图中存在拼接不完整的情况,则判定其不符合完整性条件。若拼接图不符合完整性条件,则确定拼接图未通过异常检测。
[0121]
若所述拼接图符合所述完整性条件,则检测所述拼接图是否符合预设的外轮廓合格条件;
[0122]
本发明实施例提供的方法中,楼层图需符合外轮廓合格条件,也就是楼层图的外轮廓应与实际的楼房建筑外轮廓相匹配。目标楼层对应的楼房建筑可以是塔楼或是其他异形楼,可预先基于地图获取楼栋的大致外轮廓,实际的建筑外轮廓可预先配置在平台中。当拼接图符合完整性条件时,可获取对应的建筑外轮廓,并确定拼接图中的楼层外轮廓,可以是其中各个户型图的外接四边形组成的外轮廓。可将建筑外轮廓与拼接图中的楼层外轮廓进行比对,若是两者相匹配,则认为拼接图符合外轮廓合格条件,若两者不匹配,则认为拼接图不符合外轮廓合格条件。若是外轮廓过于复杂,可将楼栋拆分成多个部分,分别进行处理。
[0123]
若所述拼接图符合所述外轮廓合格条件,则确定所述拼接图通过异常检测。
[0124]
若所述拼接图不符合所述外轮廓合格条件,则确定所述拼接图未通过异常检测。
[0125]
需要说明的是,本发明实施例提供的方法中提及的具体的异常检测的内容,仅是为了更好地说明本发明提供的方法所提供的一个具体实施例,在具体的实现过程中,可根据需求确定异常检测所采用的具体方式,不影响本发明实施例提供的方法实现功能。
[0126]
另一方面需要说明的是,本发明实施例提供的方法中,异常检测过程中的各个预设条件的判断具有先后顺序,在具体的实现过程中,各个条件的判断可以并行处理,当拼接图同时满足所有条件时,视为通过异常检测,拼接图不满足其中一个或多个条件时,均认为拼接图未通过异常检测。
[0127]
在图1所示方法的基础上,本发明实施例提供的方法中,所述生成所述拼接图对应的楼层图,包括:
[0128]
依据预设的凸包算法,确定所述拼接图对应的外轮廓;
[0129]
依据所述拼接图对应的外轮廓,对所述拼接图进行矢量数据合成处理,得到合成图,并将所述合成图作为该拼接图对应的楼层图。
[0130]
本发明实施例提供的方法中,可预先设置用于计算外轮廓的凸包算法,具体的算法原理可采用现有的凸包算法。当拼接图通过异常检测后,可采用凸包算法,计算拼接图的整体外轮廓,继而基于拼接图中各个户型图或单元图的矢量数据,进行矢量数据合成,最终得到合成图,以此作为拼接图对应的楼层图。进一步的,本发明实施例提供的方法中,可预先计算矢量数据的整体偏移量,用于调整坐标与原点间的距离。在生成楼层图的过程中,可通过整体偏移量对矢量数据中各点的坐标进行调整。具体的,整体偏移量可以参照以下方式进行计算:
[0131]
分别计算户型图矢量数据中x、y轴对应的最小值,即(min_x,min_y);
[0132]
所有户型图矢量数据对应的(min_x,min_y)计算平均数,即(avg_min_x,avg_min_y);
[0133]
整体偏移量取上一步中计算得到的平均数和0之间的较大值,即(max(avg_min_x,0),max(avg_min_y,0))。
[0134]
进一步的,在图1所示方法的基础上,本发明实施例提供的方法中,还包括:
[0135]
生成所述目标楼层的楼层图所对应的拼接日志,并向用户反馈所述拼接日志。
[0136]
本发明实施例提供的方法中,可在目标楼层的楼层图生成过程中,记录拼接日志,并实时向用户反馈拼接日志。拼接日志的内容可以包括处理的时间点,拼接过程的概要数据等等。
[0137]
为了更好地说明本发明实施例提供的方法,结合实际的应用场景,在图1所示方法的基础上,本发明实施例提供了又一种楼层图生成方法。
[0138]
本发明实施例提供的方法的应用场景中,通常需满足以下需求:
[0139]
提供户型图,户型图为同一楼栋同一层数的户型实际数据或相似数据,分单元提供;
[0140]
户型图数据可矢量化,拼接算法基于矢量数据进行操作;
[0141]
针对塔楼或异形楼栋拼接时,方法不同于板楼,需要提供楼栋外轮廓。
[0142]
本发明实施例提供的楼层图生成过程,主要包括:
[0143]
数据整理:获取待拼接的户型图数据,分单元获取对应的户型图矢量数据;
[0144]
数据预处理:统一矢量数据的坐标系、比例尺等,并计算数据的整体偏移量,用于在生成最终的楼层图时,调整矢量数据对应的坐标位置;
[0145]
单元图拼接:对单元内多个户型数据进行预处理,计算门、窗、墙等元素对应的“坐标、朝向、方位、可关联角度(即前文实施例中的可拼接角度)”等信息数据,依照“门相近、窗互斥、墙体相拼接”等基本原则计算出最优的两张户型图相拼接,其余户型图依照相同的原则进行选取、追加,拼接过程中,包含有针对户型图的缩放、平移、旋转或镜像等逻辑操作,并同步更新每张户型图数据对应的“可关联角度”信息,同时生成或更新已拼接单元图对应的“方向、方位、可关联角度”信息;单元内拼接过程中植入矢量数据异常检测,定位异常信息的关键点,数据异常或拼接异常时,实时反馈,辅助人工进行问题确认;
[0146]
楼层图拼接:多组单元数据遍历拼接完成后生成新的单元图数据,根据单元图数据中对应的“坐标、朝向、方位、可关联角度”等信息,选取拼接最优的两个单元,确认拼接方向,然后进行拼接,其余单元依次进行最优化选取,进行追加拼接,拼接过程中,包含有针对单元图的缩放、平移、旋转或镜像等逻辑操作,并同步更新每个单元对应的“可关联角度”信息;单元间拼接时植入异常检测,楼层图拼接异形时,方便人工检测、定位问题;
[0147]
楼层图矢量数据合成:楼层图拼接完成后,进行异形检测,记录拼接日志并实时反馈;最后采用凸包算法,计算楼层图的整体外轮廓,合成楼层图矢量数据,得到最终的楼层图。
[0148]
基于本发明实施例提供的方法,可实现:
[0149]
楼层图拼接模块化,以楼栋单元为模块分组进行拼接;
[0150]
户型图矢量数据统一坐标系、比例尺,重定义矢量数据坐标;
[0151]
提取特征向量,简化计算和匹配逻辑,主要是针对门、窗、墙等元素,引入坐标、朝向、方位及可关联角度等概念信息;
[0152]
数据修正的一致性,主要是模块(单元)内或模块间拼接时,针对户型或模块的顺序调整、比例缩放、位置平移、角度旋转或镜像翻转等功能逻辑的一致性操作;
[0153]
异常数据反馈,定位至问题的关键点,用于辅助人工检测;
[0154]
采用凸包算法,生成楼层图的闭合外轮廓,自动化生成楼层图。
[0155]
与图1所示的一种楼层图生成方法相对应的,本发明实施例还提供了一种楼层图生成装置,用于对图1中所示方法的具体实现,其结构示意图如图3所示,包括:
[0156]
第一确定单元301,用于在需要生成目标楼层的楼层图的情况下,确定所述目标楼层对应的多个楼栋单元,并确定每个所述楼栋单元对应的多个户型图;
[0157]
第二确定单元302,用于确定每个所述户型图对应的户型图数据;每个所述户型图对应的户型图数据包括该户型图中每个建筑构件元素的矢量数据;
[0158]
第三确定单元303,用于依据每个所述户型图对应的户型图数据,确定每个所述户型图对应的户型拼接信息;每个所述户型拼接信息包括其对应户型图的外轮廓上的建筑构件元素的位置数据和该户型图的可拼接角度;
[0159]
第一生成单元304,用于对于每个所述楼栋单元,依据该楼栋单元对应的每个户型图和该楼栋单元对应的每个户型图所对应的户型图数据,生成该楼栋单元对应的单元图;
[0160]
第四确定单元305,用于确定每个所述单元图对应的单元拼接信息;每个所述单元拼接信息包括其对应单元图的外轮廓上的建筑构件元素的位置数据和该单元图的可拼接角度;
[0161]
拼接单元306,用于依据预设的单元拼接规则和各个所述单元拼接信息,对各个所述单元图进行拼接,得到拼接图;
[0162]
检测单元307,用于依据预设的异常检测策略,对所述拼接图进行异常检测;
[0163]
第二生成单元308,用于若所述拼接图通过异常检测,则生成所述拼接图对应的楼层图,将所述拼接图对应的楼层图作为所述目标楼层的楼层图。
[0164]
应用本发明实施例提供的装置,可对待拼接的各个户型图的户型图数据进行处理,得到每个户型图的户型拼接信息,并可基于户型拼接信息实现自动化的户型图拼接,最终生成楼层图。可减少楼层图生成过程中的人工干预,可节省人力资源,缩短生成楼层图的耗时,提高工作效率。
[0165]
在上述实施例提供的装置的基础上,本发明实施例提供的装置中,所述第二确定单元302,包括:
[0166]
提取子单元,用于提取每个所述户型图对应的初始图像数据;每个所述户型图对应的初始图像数据包括该户型图中每个建筑构件元素对应的初始矢量数据;
[0167]
预处理子单元,用于对于每个所述初始图像数据中的每个初始矢量数据,依据预设的数据预处理策略对该初始矢量数据进行数据预处理,将处理结果作为该初始矢量数据对应的建筑构件元素的矢量数据;
[0168]
组合子单元,用于对于每个所述户型图,将该户型图中每个建筑构件元素的矢量数据组成该户型图对应的户型图数据。
[0169]
本发明实施例提供了又一种楼层图生成装置,其结构示意图如图4所示,在图3所示装置的基础上,本发明实施例提供的装置中,所述第一生成单元304,包括:
[0170]
拼接子单元309,用于将该楼栋单元对应的每个户型图作为目标户型图;依据预设的户型拼接规则和每个所述目标户型图对应的户型图数据,对各个所述目标户型图进行拼接,得到初始单元图;所述初始单元图中包含完成拼接的各个所述目标户型图;
[0171]
第一检测子单元310,用于检测所述初始单元图中是否存在拼接异常的目标户型图;
[0172]
第一确定子单元311,用于若所述初始单元图中不存在拼接异常的目标户型图,则将所述初始单元图作为该楼栋单元对应的单元图。
[0173]
在上述实施例提供的装置的基础上,本发明实施例提供的装置中,还包括:
[0174]
第二确定子单元,用于若所述初始单元图中存在拼接异常的目标户型图,则基于
所述初始单元图中拼接异常的目标户型图,确定户型拼接异常信息,并向用户反馈所述户型拼接异常信息。
[0175]
在上述实施例提供的装置的基础上,本发明实施例提供的装置中,所述检测单元307,包括:
[0176]
第二检测子单元,用于检测所述拼接图是否符合预设的户型图无重叠条件;
[0177]
第三检测子单元,用于若所述拼接图符合所述户型图无重叠条件,则检测所述拼接图是否符合预设的完整性条件;
[0178]
第四检测子单元,用于若所述拼接图符合所述完整性条件,则检测所述拼接图是否符合预设的外轮廓合格条件;
[0179]
第三确定子单元,用于若所述拼接图符合所述外轮廓合格条件,则确定所述拼接图通过异常检测。
[0180]
在上述实施例提供的装置的基础上,本发明实施例提供的装置中,所述第二生成单元308,包括:
[0181]
第四确定子单元,用于依据预设的凸包算法,确定所述拼接图对应的外轮廓;
[0182]
合成子单元,用于依据所述拼接图对应的外轮廓,对所述拼接图进行矢量数据合成处理,得到合成图,并将所述合成图作为该拼接图对应的楼层图。
[0183]
在上述实施例提供的装置的基础上,本发明实施例提供的装置中,还包括:
[0184]
日志记录单元,用于生成所述目标楼层的楼层图所对应的拼接日志,并向用户反馈所述拼接日志。
[0185]
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如上述的楼层图生成方法。
[0186]
本发明实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器401,以及一个或者一个以上的指令402,其中一个或者一个以上指令402存储于存储器401中,且经配置以由一个或者一个以上处理器403执行所述一个或者一个以上指令402进行以下操作:
[0187]
在需要生成目标楼层的楼层图的情况下,确定所述目标楼层对应的多个楼栋单元,并确定每个所述楼栋单元对应的多个户型图;
[0188]
确定每个所述户型图对应的户型图数据;每个所述户型图对应的户型图数据包括该户型图中每个建筑构件元素的矢量数据;
[0189]
依据每个所述户型图对应的户型图数据,确定每个所述户型图对应的户型拼接信息;每个所述户型拼接信息包括其对应户型图的外轮廓上的建筑构件元素的位置数据和该户型图的可拼接角度;
[0190]
对于每个所述楼栋单元,依据该楼栋单元对应的每个户型图和该楼栋单元对应的每个户型图所对应的户型图数据,生成该楼栋单元对应的单元图;
[0191]
确定每个所述单元图对应的单元拼接信息;每个所述单元拼接信息包括其对应单元图的外轮廓上的建筑构件元素的位置数据和该单元图的可拼接角度;
[0192]
依据预设的单元拼接规则和各个所述单元拼接信息,对各个所述单元图进行拼接,得到拼接图;
[0193]
依据预设的异常检测策略,对所述拼接图进行异常检测;
[0194]
若所述拼接图通过异常检测,则生成所述拼接图对应的楼层图,将所述拼接图对应的楼层图作为所述目标楼层的楼层图。
[0195]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0196]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0197]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献