数据转换方法、数据转换系统以及电子设备与流程

文档序号:33484851发布日期:2023-03-15 14:24阅读:38来源:国知局
数据转换方法、数据转换系统以及电子设备与流程

1.本技术涉及软件领域,尤其涉及一种数据转换方法、数据转换系统以及电子设备。


背景技术:

2.近年来,在建筑、工程以及施工领域中,记录数据的载体正处于从2d图纸向3d的bim模型(building information modeling,建筑信息模型)转变的过渡阶段。其中,bim模型主要由场景结构树、几何、材质、贴图和属性信息组成,用以表征对象的数据信息。目前公开且可用于bim模型信息表达的数据格式主要有bim领域的标准格式—ifc(industry foundation classes,工业基础类)和gis领域的标准格式—citygml(city geography markup language,城市地理标记语言);其中,前者针对建筑工程领域定义了丰富的语义信息,可用于不同软件供应商之间的数据交换;后者面向城市级别的三维模型表达,提供了lod(细节水平)机制。
3.但是上述两种标准格式完整记录了目标建筑的所有数据,而建筑中往往包括很多相同几何形状、材质的门、窗或其他构件,这就造成有很多重复的信息被记录下来,从而造成了数据信息冗余庞杂。而当需要对绘制的模型进行调整时,例如旋转,需要将每个部件的旋转关系记录在场景对象中,这就使得无法适应建模过程中的不同定位方式。并且,数据文件过大而不利于传输,在将这些数据写入数据库时,会耗费很长的时间。


技术实现要素:

4.本技术提供一种数据转换方法、数据转换系统及电子设备,以解决用于bim模型的现有数据格式所造成的数据冗余庞杂以及不适应建模定位的问题。
5.第一方面,本技术实施例提供一种数据转换方法,包括:获取待转换的建筑模型数据;从建筑模型数据中提取目标数据,生成osbim文件结构的数据;其中osbim文件结构用于记录待转换的建筑模型中目标场景的数据,其中,目标场景的数据包括场景资源和场景对象,场景资源包括目标场景中至少两个对象具备的相关联信息,场景对象表征目标场景中目标对象所特有的信息;osbim文件结构包括资源文件夹、场景文件,其中,资源文件夹中储存有几何数据文件,几何数据文件用于记录至少部分的场景资源,目标场景的对象通过索引的方式调用相应的场景资源,场景文件用于记录场景对象。
6.一种可能的实施方式中,目标场景的对象能够通过索引的方式调用相应的场景资源,以该索引对应的场景资源描述所述对象的特征,或者基于该索引对应的场景资源,通过所述对象与所述场景资料的相对关系描述所述对象的特征。
7.一种可能的实施方式中,资源文件夹包含贴图文件夹、原始几何数据文件夹以及不同lod级别下的几何数据文件夹,贴图文件夹中储存以贴图索引为文件名称的图片,各个几何数据文件夹中储存以二进制存储的几何数据文件,几何数据文件的文件名称包括表征几何索引、顶点数、面数的信息。
8.一种可能的实施方式中,场景资源包括几何对象集、材质对象集和贴图对象集。
9.一种可能的实施方式中,几何对象集中的每个几何对象包括几何索引、顶点数量、存储的相对地址和几何数据集,几何数据集中的每个几何数据包括材质索引、三角面索引数据集、顶点数据集、法线数据集、纹理坐标数据集,其中,顶点数据集中的顶点数据和法线数据集中的法线数据由坐标值构成;几何数据集由几何数据文件记录。
10.一种可能的实施方式中,材质对象集中的每个材质对象包括材质名称、材质唯一标识id、透明度、argb颜色、贴图数据集,其中,贴图数据集中的每一个贴图数据包括贴图索引和贴图类型。
11.一种可能的实施方式中,贴图对象集中的每一个贴图对象包括该贴图存储的相对地址和贴图索引字段。
12.一种可能的实施方式中,场景对象包括材质索引集、几何索引、对象唯一标识id、对象名称、对象体积、对象平移值、对象旋转欧拉角、对象缩放值、对象转换矩阵、对象中心点、子对象集、对象哈希值和对象属性集;其中,子对象集中包括至少一个场景对象;对象属性集中的每个对象属性包含属性集名称、属性名称集合和属性值集。
13.一种可能的实施方式中,osbim文件结构还包括辅助索引文件和全局参数文件,辅助索引文件具有多个字段,多个字段包括构件名称、几何索引、全局唯一id和构件识别id,辅助索引文件用于提供针对辅助索引文件的字段之间关联信息的查询功能;全局参数文件包括文件结构版本号和全局参数。
14.第二方面,本技术实施例提供一种数据转换系统,所述数据转换系统采用如第一方面所述的数据转换方法,基于目标场景的数据生成osbim文件结构的数据。
15.第三方面,本技术实施例提供一种电子设备,包括:处理器和存储器;所述存储器用于存储计算机程序;所述处理器被配置为通过执行计算机程序来实现如第一方面的数据转换方法。
16.第四方面,本技术实施例提供一种可读存储介质,可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如第一方面的数据转换方法。
17.实施本发明,具有如下有益效果:本技术实施例提供一种数据转换方法以及数据转换系统,数据转换方法包括:获取待转换的建筑模型数据;从建筑模型数据中提取目标数据,生成osbim文件结构的数据, osbim文件结构用于记录目标场景的数据,其中,目标场景的数据包括场景资源和场景对象;osbim文件结构包括资源文件夹、场景文件,其中,资源文件夹中储存有几何数据文件,几何数据文件用于记录至少部分的场景资源,目标场景的对象通过索引的方式调用相应的场景资源,场景文件用于记录场景对象。本技术将相关联信息仅记录一份,而不同的对象仅仅只需要记录一个索引地址即可,而不再需要重复地记录该相关联信息的全部内容,目标场景的对象能够通过索引的方式调用相应的场景资源,能够大大地减少记录的信息量,解决数据信息冗余庞杂的问题,减少对空间的占用,并且提高了数据的简洁度和易用性。
附图说明
18.为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其
它附图。
19.图1是本技术实施例提供的目标场景的数据框架图;图2是本技术实施例提供的osbim文件结构的示意图;图3是本技术实施例提供的电子设备的结构示意图。
具体实施方式
20.下面将对发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
21.针对应用到bim模型的现有数据格式造成数据信息冗余庞杂,并造成数据量过大、不适应建模定位的情况,本技术实施例通过对bim模型的目标场景进行了信息分类,分为目标场景中多个目标对象具有的相关联信息(优选地为共同信息)和目标对象的自身特有信息,并分别进行存储,在目标对象中仅保留相关联信息的索引而非相关联信息的全部内容,由此大大地降低了数据的冗杂状况,解决了不适应建模定位的问题,提高了数据的简洁度和易用性。
22.本技术实施例提供一种数据转换方法;图1是本技术实施例提供的针对目标场景的数据框架图。
23.由于在实际的建筑模型中,通常情况下存在大量相同或相似的构件,例如大量的门构件、窗构件、家具、梁等,这些相同的构件在几何尺寸、材质、颜色等方面基本相同。因而,为了减少相同信息的重复性,如图1所示,本技术实施例将目标场景的信息分为两类,场景资源和场景对象;场景资源是目标场景中的对象具有的相关联信息,相关联信息包括信息相同、信息虽不同但是有相对关系。这些相关联信息可以是相同的信息,例如两扇门的大小、朝向完全相同;也可以是有转换关系的信息,例如两扇门的位置不同,但是能够在一扇门的位置信息的基础上经由相对位置关系而得到另一扇门的位置信息。场景对象是目标场景中的对象自己所特有的信息,两个对象的自身特有的信息是不同的,比如施工日期、责任人等。
24.在一些实施例中,不同对象的某些参数完全相同,则可以直接通过索引来实现复用,例如材质、贴图等,不需要中间转换环节。而不同对象的一些参数是相关联的,但是不完全相同,则能够通过这些相关联参数的相对关系,使得在一个对象的参数信息基础上,经由相对关系得到另一个对象的对应参数信息,例如:几何是通过索引+矩阵(可以分解为平移、旋转和缩放)实现的复用,这样的话即使两个类似的几何体所在的位置不同、朝向不同、比例不同,也能通过引用其中一个几何体再叠加一个矩阵还原出另一个类似的几何体。
25.场景资源包括几何对象集、材质对象集和贴图对象集。
26.几何对象集中的每个几何对象包括几何索引、顶点数量、存储的相对地址和几何数据集,几何数据集中的每个几何数据包括材质索引、三角面索引数据集、顶点数据集、法线数据集、纹理坐标数据集,其中,顶点数据集中的顶点数据和法线数据集中的法线数据由坐标值构成。其中,如图1所示,顶点数据和法线数据由x(float)、y(float)、z(float)值构成,也即由三维坐标数据构成;而纹理坐标数据由x(float)、y(float)值构成,也即二维坐
标数据构成。
27.材质对象集中的每个材质对象包括材质名称、材质唯一标识id、透明度、argb颜色、贴图数据集,其中,贴图数据集中的每一个贴图数据包括贴图索引和贴图类型。示例性地,贴图类型包括albedo、normalmap、heightmap、occlusion、metallicmap。
28.贴图对象集中的每一个贴图对象包括该贴图存储的相对地址和贴图索引字段。
29.场景资源相当于是资源模板库,能够用来储存建筑模型中不同的对象可以重复利用的信息,该信息涉及到多个方面,包括几何尺寸、位置、朝向、材质、纹理、颜色、图等,每个方面都对应设置有索引信息。由此,在建筑模型中描述一个目标对象时,示例性地,当描述该目标对象的几何尺寸时,不必要将该目标对象的几何尺寸的具体参数详细地说明,而仅仅只需要给出对应于该几何尺寸的索引信息即可,数据量大大降低;当解析该目标对象的几何尺寸时,通过几何尺寸的索引信息调取对应的几何尺寸,即可知晓该目标对象的几何尺寸的具体参数。
30.在一些实施例中,当存在大量的重复对象,例如包括门a、b、c、d,而这些对象的某些参数或方面完全相同或者相关联,例如虽然这些门的施工日期不同,但是门的大小和朝向都相同,材质也相同,在建筑模型中对于这些对象的描述数据,可以通过分别给门a、b、c、d赋予其场景资源的索引,例如:门a=(门的几何索引,门的材质索引,门a的施工日期),门b=(门的几何索引,门的材质索引,门b的施工日期),门c=(门的几何索引,门的材质索引,门c的施工日期),门d=(门的几何索引,门的材质索引,门d的施工日期);其中示例性地,几何索引可以包括大小、朝向、位置等特征,材质索引可以示例性地包括材质、纹理、颜色等特征;但是本发明并不局限于此,对象可以包括多个描述参数,每个描述参数可以包括任意指定的特征。
31.通过这样的数据结构构造,只需要在数据文件中储存一份关于对象的参数的详细数据,而对于具体的某个对象,则可以仅仅通过使用索引来描述对应的参数/方面,大大地降低了数据的冗杂程度,减少了数据文件的大小。
32.在另一些实施例中,当大量的重复对象的某些参数不完全相同,但是有关联关系,则可以通过对象相对于特定物的相对关系进行参数表达,既可以是相对于同一个基准,例如固定的对象,然后以每个对象相对于该基准的相对关系来进行描述;也可以是两个对象之间的相对关系,当知晓一个对象的详细信息时,通过两个对象之间的相对关系即可得知另一个对象的详细信息;在此,相对关系采用对象转换矩阵进行表示。例如存在大量的门,这些门的尺寸相同但是朝向不同,仍以门a、b、c、d为例,例如:门的几何索引中对于门的朝向是朝南的,对象转换矩阵表示门相对于南向的相对关系:门a=(门的几何索引,门的材质索引,门a的施工日期),门b=(门的几何索引*门b相对南向的对象转换矩阵,门的材质索引,门b的施工日期),门c=(门的几何索引*门c相对南向的对象转换矩阵,门的材质索引,门c的施工日期),
门d=(门的几何索引*门d相对南向的对象转换矩阵,门的材质索引,门d的施工日期)。
33.示例性地,对象转换矩阵也可以是门之间的相对位置关系:门a=(门的几何索引,门的材质索引,门a的施工日期),门b=(门的几何索引*门b相对a的对象转换矩阵,门的材质索引,门b的施工日期),门c=(门的几何索引*门c相对b的对象转换矩阵,门的材质索引,门c的施工日期),门d=(门的几何索引*门d相对c的对象转换矩阵,门的材质索引,门d的施工日期);这样的方式,可以使得在一个对象的数据文件生成后,另一个对象的数据在该对象的数据上叠加对象转换矩阵即可得到,这样就不需要重复调取场景资源的存储文件,降低渲染引擎的绘制次数,提高处理效率。当需要在建筑模型中调整某个对象的方位或者位置时,只需要给出新的方位或位置相对于当前方位或位置的对象转换矩阵,即可以非常快速地完成对象的定位调整,因为这不需要通过索引再次调取数据文件中的相应数据。
34.虽然在上述实施例中,只给出了经过一次对象转换矩阵进行调整的示例,但是应当理解的是,当存在大量的重复构件时,也可以通过多个对象之间的多个相对的对象转换矩阵进行调整,例如:门d=(门的几何索引*门d相对c的对象转换矩阵*门c相对b的对象转换矩阵*门b相对a的对象转换矩阵,门的纹理索引,门的材质索引,门的颜色索引,门d的位置)。在此对象转换矩阵被优选地划分为属于场景对象的数据。
35.如图1所示,场景对象包括材质索引集、几何索引、对象唯一标识id、对象名称、对象体积、对象平移值、对象旋转欧拉角、对象缩放值、对象转换矩阵、对象中心点、子对象集、对象哈希值和对象属性集。其中,子对象集中包括至少一个场景对象,也即对于一个目标对象进行表达时,会基于目标对象的层次性,而对应地进行层次性的表达,例如:对目标对象—门进行表达时,会进一步涉及到门框,进一步涉及到门框的门头。而该目标对象的对象转换矩阵对于其所包含所有子对象都有效,这就使得在进行定位调整时,通过调整该目标对象的对象转换矩阵,就可以统一、一致和整体地调整该目标对象所包含的所有子对象(子部件)的信息,非常简单、快捷,并且保证了目标对象的整体性和统一性。
36.对象属性集中的每个对象属性包含属性集名称、属性名称集合和属性值集。
37.对于本技术实施例针对目标场景所设计的上述数据框架,本技术实施例提供了一种数据转换方法,包括:获取待转换的建筑模型数据;从建筑模型数据中提取目标数据,生成osbim文件结构的数据;其中osbim文件结构用于记录待转换的建筑模型中目标场景的数据,其中,目标场景的数据包括场景资源和场景对象,场景资源表征目标场景中至少两个对象具备的相关联信息,场景对象表征目标场景中目标对象所特有的信息;osbim文件结构包括资源文件夹、场景文件,其中,资源文件夹中储存有几何数据文件,几何数据文件用于记录至少部分的场景资源,目标场景的对象通过索引的方式调用相应的场景资源,场景文件用于记录场景对象。
38.对于osbim文件结构,如图2所示,所述osbim文件结构用于记录待转换的建筑模型中目标场景的数据,其中,osbim文件结构包括资源文件夹、场景文件、模型视图截图、辅助索引文件、全局参数文件。其中,资源文件夹中储存有几何数据文件,几何数据文件用于记录至少部分的场景资源,优选地用于记载图1中所示的几何数据集;目标场景的对象通过索
引的方式调用相应的场景资源。而场景文件用于记录场景对象,包括了资源文件夹不记录的其他数据,例如图1中的场景对象、材质对象集、贴图对象集、对象属性集和贴图数据集。辅助索引文件具有多个字段,多个字段包括构件名称、几何索引、全局唯一id和构件识别id,辅助索引文件用于提供针对辅助索引文件的字段之间关联信息的查询功能。全局参数文件包括文件结构版本号和全局参数。
39.一种可能的实施方式中,资源文件夹包含贴图文件夹、原始几何数据文件夹以及不同lod级别下的几何数据文件夹,贴图文件夹中储存以贴图索引为文件名称的图片,各个几何数据文件夹中储存以二进制存储的几何数据文件,几何数据文件的文件名称包括表征几何索引、顶点数、面数的信息。
40.本技术还提供了一种数据转换系统实施例,该数据转换系统采用如本技术实施例提供的数据转换方法,基于目标场景的数据生成osbim文件结构的数据。
41.图3为本技术实施例提供的一种电子设备的结构示意图。如图3所示,该电子设备可以包括:处理器301和存储器302。图3所示的是以一个处理器为例的电子设备。
42.存储器302,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。
43.存储器302可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如多个磁盘存储器。
44.处理器301用于执行存储器302存储的计算机执行指令,以实现以上方法实施例中提供的数据转换方法。
45.其中,处理器301可能是一个处理器(central processing unit,简称为cpu),或者是特定集成电路(application specific integrated circuit,简称为asic),或者是被配置成实施本技术实施例的一个或多个集成电路。
46.可选的,在具体实现上,如果通信接口、存储器302和处理器301独立实现,则通信接口、存储器302和处理器301可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(industry standard architecture,简称为isa)总线、外部设备互连(peripheral component,简称为pci)总线或扩展工业标准体系结构(extended industry standard architecture,简称为eisa)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
47.可选的,在具体实现上,如果通信接口、存储器302和处理器301集成在一块芯片上实现,则通信接口、存储器302和处理器301可以通过内部接口完成通信。
48.本技术实施例还提供了一种芯片,包括处理器和接口。其中接口用于输入输出处理器所处理的数据或指令。处理器用于执行以上方法实施例中提供的数据转换方法。
49.本技术还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有程序信息,程序信息用于以上方法实施例中的数据转换方法。
50.本技术还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上述方法实施例中的数据转换方法。
51.本技术还提供了一种计算机程序,计算机程序使得计算机执行上述方法实施例中
的数据转换方法。
52.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk (ssd))等。
53.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1