一种基于JSON的房型通用数据格式的构建处理及存储方法技术

技术编号:32788743 阅读:20 留言:0更新日期:2022-03-23 19:49
本发明专利技术公开了一种基于JSON的房型通用数据格式的构建处理方法,包括以下步骤:a、读取HomeJSON数据文件;b、解析HOME单元;c、根据单个房间Room解析数据,依次读取HOME的子单元Room数组;d、根据ROOM数组中的索引值检索Rooms单元;e、解析Rooms单元,根据上面的索引读取具体的房间数据;f、解析Room单元下的具体房间数据;g、根据Rooms>Object索引值查找Objects单元中的墙数据。使用CouchDB作为HomeJSON数据的存储数据库。在本发明专利技术实施过程中,有利于在Web上高效传输及高效渲染。房屋数据用JSON描述非常紧凑易于解析。对象3d数据以一种可由通用API直接使用的形式存储,没有解码或预处理3D数据的开销。码或预处理3D数据的开销。码或预处理3D数据的开销。

【技术实现步骤摘要】
一种基于JSON的房型通用数据格式的构建处理及存储方法


[0001]本专利技术属于数据处理
,具体为一种基于JSON的房型通用数据格式的构建处理及存储方法。

技术介绍

[0002]在传统的家装设计行业有许许多的设计软件及一些BIM软件,其中比较常用的软件包括3d max、sketchup、MAYA、AutoCAD、中望软件、SolidWorks、Blender、Daz Studio及AutoDesk旗下的一些软件,还有如三维家、打扮家、酷家乐等专业的BIM软件,据维基百科统计由于各种各样三维设计软件的出现,而且各家的文件格式各不相同,导致到目前为止三维图形文件格式有70种之多,这样导致的一些兼容以及互通的问题给设计师带来很多不便,比如:设计师在A设计软件中设计的户型装修设计要在B软件中进行渲染则往往要进行不必要的转换甚至重新设计,往往导致数据格式不兼容,数据导入不全等问题而且无从查找导致原因。而在实际的房屋设计项目当中首先要考虑的也是如何兼容这么多外部数据格式,本专利技术提出一种基于JSON的可扩展的、可自定义解析的房屋户型通用数据格式,依据本方案定义的数据格式不仅可以囊括装修设计方案当中的mesh模型数据、材质数据、光源数据、渲染数据及场景数据,而且为未来户型数据格式扩展及解析提供了方便及快捷。

技术实现思路

[0003]针对上述情况,为克服现有技术的缺陷,本专利技术提供一种基于JSON的房型通用数据格式的构建处理及存储方法,有效的解决了
技术介绍
中的问题。
[0004]为实现上述目的,本专利技术提供如下技术方案:一种基于JSON的房型通用数据格式的构建处理方法,包括以下步骤:a、读取HomeJSON数据文件;b、解析HOME单元;c、根据单个房间Room解析数据,依次读取HOME的子单元Room数组;d、根据Room数组中的索引值检索Rooms单元;e、解析Rooms单元,根据上面的索引读取具体的房间数据;f、解析Room单元下的具体房间数据;g、根据Rooms>Object索引值查找Objects单元中的墙数据。
[0005]优选的,所述单个房间Room解析包括以下步骤:第一步,解析object单元数据,并查找具体的墙体数据;第二步,解析cameras单元得到cameras数据;第三步,即系mesh数据;第四步,解析primitives;第五步,根据cursor索引解析cursors单元数据;第六步,根据dataView索引解析dataView单元数据;
第七步,根据dataView索引解析data单元数据;第八步,单个房间Room解析完成。
[0006]为实现上述目的,本专利技术还提供如下技术方案:一种基于JSON的房型通用数据格式的存储方法,使用CouchDB数据库进行储存。
[0007]与现有技术相比,本专利技术的有益效果是:1、有利于在Web上高效传输及高效渲染。
[0008]2、房屋数据用JSON描述非常紧凑易于解析。
[0009]3、对象3d数据以一种可由通用API直接使用的形式存储,没有解码或预处理3D数据的开销。
[0010]4、HomeJSON格式完整定义了房屋户型数据,包括墙、顶、地、卫浴、家具等,所有对象均以Mesh形式进行多级且可自包含组织,不仅包含模型本身几何对象数据,也包含材质、光源、渲染等信息。
[0011]5、房屋三维数据以JSON数据易于存储和检索分析,目前常用的CauchDB、Monggo、postgis等数据库都支持JSON数据的直接存储和检索功能。
[0012]6、CouchDB是一个文档存储NoSQL数据库。文档是数据的主要单位,每个字段都是唯一命名的,并且包含各种数据类型的值,例如文本,数字,布尔值,列表等。在这些文档中,对文本大小或元素数量没有设置限制。CouchDB提供了一个称为RESTful HTTP API的API,用于读取和更新(添加,编辑,删除)数据库文档。
[0013]7、CouchDB文件布局和承诺系统具有所有ACID属性。一旦数据输入它将不会被覆盖。文档更新(添加,编辑,删除)遵循Atomicity,即它们将完全保存或根本不保存。数据库不会有任何部分保存或编辑的文档。几乎所有这些更新都是序列化的,任何数量的客户端都可以读取文档而无需等待和中断。
[0014]8、压缩是一种操作,通过删除未使用的数据为数据库提供额外的磁盘空间。在对特定文件执行压缩操作时,将创建一个扩展名为.compaction的文件,并将所有活动/实际数据复制(克隆)到该文件,当复制过程完成后,旧文件将被丢弃。在压缩期间数据库保持联机,并且允许所有更新和读取成功完成。
[0015]9、CouchDB中的数据存储在具有单个隐式结构的半结构化文档中,但它是用于数据存储和共享的简单文档模型。如果我们想要以许多不同的方式查看我们的数据,我们需要一种方法来过滤,组织和报告尚未分解为表的数据。
附图说明
[0016]附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中:图1为本专利技术的流程图。
具体实施方式
[0017]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例;基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本专利技术保护的范围。
[0018]由图1给出,本专利技术公开了一种基于JSON的房型通用数据格式的构建处理方法,包括以下步骤:目前3d设计软件众多,数据格式更是多达70种以上,所以要想统一外部数据格式,第一步必须进行数据格式的解析,进而转换为标准的HomeJSON数据格式。虽然目前针对各种3d数据格式的转换有很多的开源库但大多数据开源库基本上都是针对一两种文件格式定制开发的不具有太大的通用性,所以通过选择本方案选择了GDAL、OGR这两个格式解析库,GDAL不仅可以操作各种栅格数据格式而且可以操作矢量及3D数据模型,甚至可以读写转换操作。这两个库可以解析大部分文件格式,包括DWG、obj、dxf、GEOJson、CAD、SVG等上百种数据文件格式。
[0019]HomeJSON是基于JSON格式的,该文件描述了全部的房屋户型3D数据,它包含对房屋结构本身的描述,根单元是Home定义了一个完整的家的概念,在Home单元下可以包含多个房间(Room)单元,每个房间Room通过索引值从Rooms数组中进行索引具体内容,包括name和Object,在房间中的物品包括墙、顶、地、卫浴、木作家具等都是对象(Object),每个Object包含name名称标识,同时可定义children子对象和mesh、camera,在每个Object中都可以除了定义自身的结构信息外,还可以定义children子对象、mesh几何对象、camera渲染配置信息以及translation本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于JSON的房型通用数据格式的构建处理方法,其特征在于:包括以下步骤:a、读取HomeJSON数据文件;b、解析HOME单元;c、根据单个房间Room解析数据,依次读取HOME的子单元Room数组;d、根据Room数组中的索引值检索Rooms单元;e、解析Rooms单元,根据上面的索引读取具体的房间数据;f、解析Room单元下的具体房间数据;g、根据Rooms>Object索引值查找Objects单元中的墙数据。2.根据权利要求1所述的基于JSON的房型通用数据格式的构建处理方法,其特征在于:所述单个房间Room解析包括以下步...

【专利技术属性】
技术研发人员:毛春阳刘文利高强武星
申请(专利权)人:司空定制家居科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1