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

基于BIM自定义格式的数据压缩方法、装置、设备及介质与流程

2021-11-05 19:44:00 来源:中国专利 TAG:

基于bim自定义格式的数据压缩方法、装置、设备及介质
技术领域
1.本技术涉及bim数据压缩的技术领域,尤其是涉及一种基于bim自定义格式的数据压缩方法、装置、设备及介质。


背景技术:

2.目前,bim技术在提高生产效率、节约成本和缩短工期方面发挥重要作用,ifc作为bim数据常用的开放和中性文件格式,用于促进aec行业各种软件平台之间的互操作性。从不同系统生成的ifc文件大多包含巨大的冗余信息,这大大限制了基于ifc文件的数据存储、转换、管理传输及其他应用程序的访问。
3.相关技术中,通常采用纯文本压缩(例如:zip)或从原始完整的ifc模型中提取关于特定应用的部分模型或所需信息对ifc文件的大小进行限制。
4.对于纯文本压缩的ifc文件,解压的是内存中的原始ifc文件,因此不能改变加载(ifc导入)时间和内存消耗,并且只有ifc

zip支持的软件才能解析这种文件格式。而从原始完整的ifc模型中提取关于特定应用的部分模型或所需信息的方法其高度依赖于特定的应用需求或目的,只能在某些特定环境下减少应用的ifc模型的大小和复杂性;模型表示通常需要用户理解ifc规范中的整个复杂继承和聚合结构,且提取的部分ifc模型是不完整的模型,因此限制了许多需要在项目生命周期中访问存储在原始模型中的完整信息的应用程序的访问。例如,在bim与gis融合时,ifc文件中定义的某些元素可能在gis软件中没有定义,会造成这些元素丢失,并且加载ifc文件的时间较长。


技术实现要素:

5.为了改善bim与其他应用程序融合时产生的元素丢失以及ifc文件导入慢的问题,本技术提供一种基于bim自定义格式的数据压缩方法、装置、电子设备及介质。
6.第一方面,本技术提供一种基于bim自定义格式的数据压缩方法采用如下的技术方案:一种基于bim自定义格式的数据压缩方法,包括:响应于用户的数据压缩触发动作,获取多个原始ifc文件,并提取所述多个原始ifc文件中bim信息的栅格信息,其中,所述栅格信息包括纹理贴图信息、建筑结构框架、建筑材质以及影像信息;对提取所述栅格信息后的ifc文件进行压缩,得到第一ifc文件;将所述栅格信息贴合到所述第一ifc文件,得到第二ifc文件。
7.通过采用上述技术方案,在将多个ifc文件压缩成一个ifc文件前,先将容易丢失的栅格信息提取出来,比如地铁站中的指示牌、标识以及显示屏上播放的视频等信息,随后对提取栅格信息后的ifc文件进行压缩,得到第一ifc文件,最后将栅格信息贴合到第一ifc文件得到一个具有完整的空间地理模型的第二ifc文件,从而改善bim与其他应用程序融合时产生的元素丢失以及ifc文件导入慢的问题。
8.可选的,所述对提取所述栅格信息后的ifc文件进行压缩,包括:从所述提取所述栅格信息后的ifc文件中获取所有数据实例;识别所有数据实例中相同的数据实例并删除冗余实例;为剩余的数据实例重新分配实例名称。
9.通过采用上述技术方案,通过删除ifc文件中的冗余实例,减小ifc文件的数据量,从而减小ifc文件占用的存储空间,进提高ifc文件的加载速度,通过为剩余的数据实例重新分配,可减少再次调用剩余数据实例的引用时间。
10.可选的,所述识别所有数据实例中相同的数据实例并删除冗余实例,包括:将所有数据实例中相同的数据实例聚类到多个分组中;分别查找每个分组中相同的数据实例并删除冗余实例;判断剩余的数据实例是否存在相同的数据实例;若是,则返回所述将所有数据实例中相同的数据实例聚类到多个分组中的步骤,否则执行所述为剩余的数据实例重新分配实例名称的步骤。
11.通过采用上述技术方案,将相同的数据实例聚类到多个分组中,通过在每个分组中只保留一个数据实例,从而减小ifc文件占用的存储空间,进而加快ifc文件的加载速度。
12.可选的,在所述识别所有数据实例中相同的数据实例并删除冗余实例之前,还包括:对所述提取所述栅格信息后的ifc文件中的数据实例进行数据清理。
13.通过采用上述技术方案,对数据实例进行预处理,删除数据实例中的多行和空行,使每个数据实例获得一个紧凑的表达式,从而减小ifc文件占用的存储空间。
14.可选的,所述为剩余的数据实例重新分配实例名称,包括:获取剩余的数据实例的实例引用时间;基于所述实例引用时间对剩余的数据实例进行排序并为剩余的数据实例重新分配实例名称。
15.通过采用上述技术方案,为剩余的数据实例重新分配实例名称,可减小再次调用数据实例时的实例引用时间,进而加ifc文件的运行速率。
16.可选的,所述将所述栅格信息贴合到所述第一ifc文件,包括:获取所述栅格信息的三维坐标信息;基于所述三维坐标信息查询对应的数据实例;将所述栅格信息贴合到对应的数据实例。
17.通过采用上述技术方案,根据获取的栅格信息的三维坐标信息,先查找具有相应三维坐标信息的数据实例,随后调用该数据实例的实例名称将该实例调用出来并将栅格信息上的三维坐标信息与数据实例中相应的三维坐标信息一一对应进行贴合,从而使ifc文件中储存有数据量小且完整的空间地理模型。
18.第二方面,本技术提供一种基于bim自定义格式的压缩装置,采用如下的技术方案:一种基于bim自定义格式的数据压缩装置,包括:获取模块,用于响应于用户的数据压缩触发动作,获取多个原始ifc文件;提取模块,用于提取所述多个原始ifc文件中bim信息的栅格信息,其中,所述栅格
信息包括纹理贴图信息、建筑结构框架、建筑材质以及影像信息;压缩模块,用于对提取所述栅格信息后的ifc文件进行压缩,得到第一ifc文件;贴合模块,用于将所述栅格信息贴合到所述第一ifc文件,得到第二ifc文件。
19.第三方面,本技术提供一种电子设备,采用如下的技术方案:一种电子设备,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行第一方面任一项所述的方法的计算机程序。
20.通过采用上述技术方案,电子设备先获取多个ifc文件,并提取多个ifc文件中栅格信息,随后将提取栅格信息后的多个ifc文件压缩成一个第一ifc文件,从而减小栅格信息在ifc文件压缩过程中发生丢失的可能性,然后将栅格信息贴合在第一ifc文件中,得到第二ifc文件,此时,第二ifc文件包含完整且数据量小的空间地理模型。
21.第四方面,本技术提供一种计算机可读存储介质,采用如下的技术方案:一种计算机可读存储介质,其特征在于,存储有能够被处理器加载并执行第一方面任一项所述的方法的计算机程序。
附图说明
22.图1是本技术中一种基于bim自定义格式的数据压缩方法的流程示意图。
23.图2是本技术中步骤s200的子步骤的流程示意图。
24.图3是本技术中步骤s203的子步骤的流程示意图。
25.图4是本技术中步骤s300子步骤的流程示意图。
26.图5是本技术中一种基于bim自定义格式的数据压缩装置400的结构框图。
27.图6是本技术中一种电子设备500的结构框图。
具体实施方式
28.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
29.本技术实施例提供一种基于bim自定义格式的数据压缩方法,该基于bim自定义格式的数据压缩方法可由电子设备执行,该电子设备可以为服务器也可以为终端设备,其中该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备可以是智能手机、平板电脑、台式计算机等,但并不局限于此。
30.如图1所示,一种基于bim自定义格式的数据压缩方法的主要流程描述如下(步骤s100~s300):步骤s100,响应于用户的数据压缩触发动作,获取多个原始ifc文件,并提取多个原始ifc文件中bim信息的栅格信息;在本实施例中,用户通过电子设备的鼠标、键盘、触屏等方式触发按键,以产生数据压缩触发动作,电子设备响应于该数据压缩触发动作,先获取多个原始ifc文件,再提取多个ifc文件中的栅格信息。在本实施例中以地铁站为例进行说明,地铁站中的栅格信息包括指示牌、标识、显示屏上播放的影像以及地铁站的建筑结构框架和建筑材质。其中,指示牌、标识、显示屏上播放的影像以及地铁站的建筑结构框架和建筑材质这些信息在ifc文件
压缩过程中容易丢失,因此需要在ifc文件压缩前提取出来。
31.步骤s200,对提取栅格信息后的ifc文件进行压缩,到第一ifc文件;具体的,如图2所示,步骤200可以包括以下子步骤:步骤s201,从提取栅格信息后的ifc文件中获取所有数据实例;在本实施例中,电子设备获取提取栅格信息后的所有数据实例,便于在之后的步骤中对所有数据实例进行清理。
32.步骤s202,对提取栅格信息后的ifc文件中的数据实例进行数据清理;本实施例中,将提取栅格信息后的第一ifc文件导入处理工具(例如:revit软件),对数据实例进行数据清理,删除数据实例中的空格和空行,从而使每个数据实例获得一个更加紧凑的表达式,进而减少ifc文件占用的存储空间。
33.步骤s203,识别所有数据实例中相同的数据实例并删除冗余实例;由于数据实例是从多个系统导出的原始ifc文件中获取的,因此可能会存在相同的数据实例,需要删除冗余实例。
34.冗余实例是指每个分组中重复的数据实例,查找每个分组中是否存在相同的数据实例,若存在相同数据实例时,则删除重复数据实例。
35.步骤s204,为剩余的数据实例重新分配实例名称。
36.具体的,如图3所示,步骤203可以包括以下子步骤:步骤s2031,将所有数据实例中相同的数据实例聚类到多个分组中;步骤s2032,分别查找每个分组中相同的数据实例并删除冗余实例;步骤s2033,判断剩余的数据实例是否存在相同的数据实例;若是,则返回步骤s2031,否则执行步骤s204;现以数据实例a、a、a、a、b、b、c为例对步骤s203进行具体说明。
37.这七个数据实例中,a、a、a、a为相同的数据实例,b、b为相同的数据实例。因此,在对a、a、a、a、b、b、c进行聚类时,将相同的数据实例划分到多个分组中,得到聚类后的数据实例分组可以为(a,a,a,a)(b,b)(c),也可以为(a,a)(a,a)(b,b)(c)。
38.当聚类后的数据实例分组为(a,a,a,a)(b,b)(c)时,(a,a,a,a)(b,b)这两个数据实例分组中存在相同数据实例,删除冗余实例,得到(a)(b),此时ifc文件中保留的数据实例为(a)(b)(c)。此时ifc文件中不存在相同的数据实例,直接为最终剩余的数据实例分配实例名称。
39.当聚类后的数据实例分组为(a,a)(a,a)(b,b)(c)时,(a,a)(a,a)(b,b)这三个数据实例分组中存在相同实例,删除冗余实例,得到(a)(a)(b),此时仍然存在相同的数据实例(a),需要再次对数据实例(a)(a)(b)(c)进行聚类,得到聚类后的数据实例分组为(a,a)(b)(c),删除冗余实例,得到数据实例(a)(b)(c),此时为数据实例(a)(b)(c)重新分配实例名称。
40.在为剩余的数据实例重新分配实例名称之前,电子设备先获取数据实例的实例引用时间,再按照实例引用时间由大到小或由小到大对数据实例进行排序。随后为排好序的实例引用时间较长的数据实例重新分配名称,重新分配实例名称相当于为数据实例赋予一个标签,可减少下次调用该数据实例的实例引用时间,同时使多个数据实例累加起来的实例引用时间更短。
41.例如,数据实例abc、defg、hjg,其中数据实例abc的实例引用时间是1s,数据实例defg的实例引用时间是2s,数据实例hjg的实例引用时间是1s,根据实例引用时间由小到大对数据实例排序为abc、hjg、defg,可以判断数据实例defg的实例引用时间较长,因此为数据实例defg重新分配一个实例名称a,此时a的调用时间为1s,从而缩短调用数据实例defg的实例引用时间。
42.步骤s300,将栅格信息贴合到第一ifc文件,得到第二ifc文件;具体的,如图4所示,步骤300可以包括以下子步骤:步骤s301,获取栅格信息的三维坐标信息;本实施例中,在步骤s100提取栅格信息时获取栅格信息的三维坐标信息,以便在后续步骤中将栅格信息贴合在相应的数据实例。
43.步骤s302,基于三维坐标信息查询对应的数据实例;本实施例中,将步骤s100提取的栅格信息导入revit软件,可以查询栅格信息中各三维坐标所对应的数据实例。
44.步骤s303,将栅格信息贴合到对应的数据实例。
45.例如,原始ifc文件中的栅格信息中包含地铁站指示牌的四个端点的三维坐标(0,0,0)、(0,0,200)、(0,100,0)、(0,100,200),将这四个端点的三维坐标信息以及第一ifc文件一起导入revit软件,通过revit软件查询这四个端点的三维坐标所对应的地铁站指示牌的数据实例,然后将这四个端点的三维坐标信息贴合到对应的地铁站指示牌的数据实例中,此时产生了第二ifc文件。
46.图5为本技术提供的一种基于bim自定义格式的数据压缩装置400的结构框图,如图5所示,该数据压缩装置400主要包括:提取模块401,用于响应于用户的数据压缩触发动作,获取多个原始ifc文件,并提取所述多个原始ifc文件中bim信息的栅格信息,其中,所述栅格信息包括纹理贴图信息、建筑结构框架、建筑材质以及影像信息;压缩模块402,用于对提取所述栅格信息后的ifc文件进行压缩,得到第一ifc文件;贴合模块403,将所述栅格信息贴合到所述第一ifc文件,得到第二ifc文件。
47.作为本实施例的一种可选实施方式,压缩模块402包括:获取子模块:用于从所述提取所述栅格信息后的ifc文件中获取所有数据实例;识别子模块:识别所有数据实例中相同的数据实例并删除冗余实例;分配子模块:为剩余的数据实例重新分配实例名称。
48.在本可选实施例中,识别子模块具体用于将所有数据实例中相同的数据实例聚类到多个分组中;分别查找每个分组中相同的数据实例并删除冗余实例;判断剩余的数据实例是否存在相同的数据实例,若是,则返回所述将所有数据实例中相同的数据实例聚类到多个分组中的步骤,否则执行所述为剩余的数据实例重新分配实例名称的步骤。
49.在本可选实施例中,分配子模块具体用于获取剩余的数据实例的实例引用时间;基于所述实例引用时间对剩余的数据实例进行排序并为剩余的数据实例重新分配实例名称。
50.作为本实施例的一种可选实施方式,贴合模块403包括:
坐标子模块,用于获取所述栅格信息的三维坐标信息;查询子模块,基于所述三维坐标信息查询对应的数据实例;贴合子模块,用于将所述栅格信息贴合到对应的数据实例。
51.作为本实施例的一种可选实施方式,该装置还包括数据清理模块,用于在所述识别所有数据实例中相同的数据实例并删除冗余实例之前,对所述提取所述栅格信息后的ifc文件中的数据实例进行数据清理。
52.本技术实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。
53.图6为本技术实施例提供的一种电子设备500的结构框图。电子设备500可以是手机、平板电脑、pc机、服务器等设备。如图6所示,电子设备500包括存储器501、处理器502和通信总线503;存储器、处理器502通过通信总线503相连。存储器501上存储有能够被处理器502加载并执行如上述实施例提供的基于bim自定义格式的数据压缩方法的计算机程序。
54.存储器501可用于存储指令、程序、代码、代码集或指令集。存储器501可以包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令以及用于实现上述实施例提供的万能路径绘图数据特征编码和解码方法的指令等;存储数据区可存储上述实施例提供的无万能路径绘图数据特征编码和解码方法中涉及到的数据等。
55.处理器502可以包括一个或者多个处理核心。处理器502通过运行或执行存储在存储器501内的指令、程序、代码集或指令集,调用存储在存储器501内的数据,执行本技术的各种功能和处理数据。处理器502可以为特定用途集成电路(application specific integrated circuit,asic)、数字信号处理器(digital signal processor,dsp)、数字信号处理装置(digital signal processing device,dspd)、可编程逻辑装置(programmable logic device,pld)、现场可编程门阵列(field programmable gate array,fpga)、中央处理器(central processing unit,cpu)、控制器、微控制器和微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器502功能的电子器件还可以为其它,本技术实施例不作具体限定。
56.通信总线503可包括一通路,在上述组件之间传送信息。通信总线503可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa (extended industry standard architecture,扩展工业标准结构)总线等。通信总线503可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双箭头表示,但并不表示仅有一根总线或一种类型的总线。
57.本技术实施例提供一种计算机可读存储介质,存储有能够被处理器加载并执行如上述实施例提供的基于bim自定义格式的数据压缩方法的计算机程序。
58.本实施例中,计算机可读存储介质可以是保持和存储由指令执行设备使用的指令
的有形设备。计算机可读存储介质可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意组合。具体的,计算机可读存储介质可以是便携式计算机盘、硬盘、u盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、讲台随机存取存储器(sram)、便携式压缩盘只读存储器(cd

rom)、数字多功能盘(dvd)、记忆棒、软盘、光盘、磁碟、机械编码设备以及上述任意组合。
59.另外,需要理解的是,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
60.术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
61.以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的申请范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中申请的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献