发明内容
鉴于上述问题,本发明提出一种克服上述问题或者至少部分地解决上述问题的一种三维语义模型的多层次结构派生方法及装置。本专利针对现有的一些三维建模方法强调单一尺度几何模型构建,缺乏多细节层次(LoD)和语义信息表达,互操作性不强等问题,以国际开放标准CityGML为基础,提供了一种三维语义模型的多层次结构派生方法。
根据本发明的一个方面,提供了一种三维语义模型的多层次结构派生方法,所述方法包括:
获取三维建筑模型的原始三维模型数据,对所述原始三维模型数据进行几何和语义解析;
通过OGC CityGML标准定义所述三维建筑模型的不同层级模型的几何和语义表达,建立各层级模型对应的几何和语义映射表;
基于所述各层级模型对应的几何和语义映射表重构所述三维建筑模型,从而实现不同层级模型的派生。
可选地,所述对所述原始三维模型数据进行几何和语义解析包括:
建立IFC模型和CityGML LoD4模型之间的语义映射规则,并基于所述语义映射规则和所述原始三维模型数据确定IFC实体对象和CityGML实体对象之间的对应关系,以确定各CityGML实体对象对应的语义表达;
基于所述原始三维模型数据提取所述IFC模型中各IFC实体对象对应的几何信息,对各所述IFC实体对象对应的几何信息进行几何变换形成B-Rep边界表示的CityGML实体对象,得到各所述CityGML实体对象对应的几何表达。
可选地,所述通过OGC CityGML标准定义所述三维建筑模型的不同层级模型的几何和语义表达,建立各层级模型对应的几何和语义映射表包括:
通过OGC CityGML标准定义所述三维建筑模型的不同层级模型的几何和语义表达,并确定所述三维建筑模型对应的多项几何语义主题;
建立所述不同层级模型和各项所述几何语义主题之间的关联关系的几何和语义映射表。
可选地,所述方法还包括:
根据各所述CityGML实体对象对应语义和几何表达确定各所述CityGML实体对象所属的几何语义主题;
根据所述几何和语义映射表确定各所述CityGML实体对象关联的LoD标签,所述LoD标签标签用于表征不同的层级模型;
其中,同一个CityGML实体对象对应有至少一个几何语义主题,进一步对应至少一个层级模型,同一CityGML实体对象在不同层级模型下的显示方式相同或不同。
可选地,所述基于所述各层级模型对应的几何和语义映射表重构所述三维建筑模型,从而实现不同层级模型的派生包括:
基于任一层级模型对应的几何和语义映射表确定该层级模型对应的几何语义主题以及多个CityGML实体对象;
根据所述CityGML实体对象及其显示方式构建该层级模型对应的层级显示模型;
综合各所述层级模型对应层级显示模型即实现所述三维建筑模型的重构,实现不同层级模型的派生。
可选地,OGC CityGML定义五个层级模型包括LoD0、LoD1、LoD2、LoD3、LoD4,以实现对建筑物外表、建筑物部件及附属设施进行多尺度表达;
其中,LoD0表达建筑物的底部或屋顶轮廓平面,为2.5D多边形;LoD1用块状简单表示建筑物三维模型;LoD2在LoD1的基础上加入了对房屋的附属结构和屋顶的描述;LoD3描述建筑物的详细外表结构,包括但不限于门、窗、阳台;LoD4增加对建筑物内部楼梯、房间和家具等对象的表达,具有详细的几何和语义信息。
根据本发明的另一个方面,还提供了一种三维语义模型的多层次结构派生装置,所述装置包括:
数据解析模块,用于获取三维建筑模型的原始三维模型数据,对所述原始三维模型数据进行几何和语义解析;
映射建立模块,用于通过OGC CityGML标准定义所述三维建筑模型的不同层级模型的几何和语义表达,建立各层级模型对应的几何和语义映射表;
模型重构模块,用于基于所述各层级模型对应的几何和语义映射表重构所述三维建筑模型,从而实现不同层级模型的派生。
根据本发明的另一个方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述任一项所述的方法。
根据本发明的另一个方面,还提供了一种计算设备,所述计算设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行上述任一项所述的方法。
本发明提供了一种三维语义模型的多层次结构派生方法,通过三维建筑模型的原始三维模型数据进行几何和语义解析,并通过OGC CityGML标准定义不同层级模型的几何和语义表达,建立各层级几何和语义映射表,进而基于几何和语义映射关系,重构模型从而实现不同层级模型的派生。在本发明的方案中,每个CityGML实体对象都与LoD标签关联,即同一个对象可以有对应不同LoD的模型表达,其均与同一个实体关联,在不同细节层级下选择对应的显示方式,实现实体在相应LoD下的显著表达。
本发明基于几何特征和规则的语义信息提取、几何映射和语义映射等技术,实现对空间数据进行统一表达,可便于空间数据的管理和分级存储,可视化时可以根据不同的需求进行不同尺度下地物的分级加载,提升海量数据的可视化效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种三维语义模型的多层次结构派生方法,如图1所示,本实施例的三维语义模型的多层次结构派生方法至少可以包括以下步骤S1~S3。
S1,获取三维建筑模型的原始三维模型数据,对所述原始三维模型数据进行几何和语义解析;
S2,通过OGC CityGML标准定义所述三维建筑模型的不同层级模型的几何和语义表达,建立各层级模型对应的几何和语义映射表;
S3,基于所述各层级模型对应的几何和语义映射表重构所述三维建筑模型,从而实现不同层级模型的派生。
本发明实施例提供了一种三维语义模型的多层次结构派生方法,通过三维建筑模型的原始三维模型数据进行几何和语义解析,并通过OGC CityGML标准定义不同层级模型的几何和语义表达,建立各层级几何和语义映射表,进而基于几何和语义映射关系,重构模型从而实现不同层级模型的派生。基于本发明实施例提供的方法,基于几何特征和规则的语义信息提取、几何映射和语义映射等技术,实现对空间数据进行统一表达,可便于空间数据的管理和分级存储,可视化时可以根据不同的需求进行不同尺度下地物的分级加载,提升海量数据的可视化效率。下面分别对各步骤进行详细说明。
S1,获取三维建筑模型的原始三维模型数据,对所述原始三维模型数据进行几何和语义解析。
本实施例中,三维建筑模型的原始三维模型数据为LoD4层次的精细模型数据,现有的大部分包含室内结构的建筑物精细三维模型往往是采用BIM技术构建,目前绝大部分BIM软件都采用IFC作为数据交换的标准,因此需要将IFC模型转换为CityGML LoD4模型。IFC和CityGML都具有分层数据结构。但是,IFC模型中包含了CityGML不需要的中间要素。
可选地,上述步骤S1对所述原始三维模型数据进行几何和语义解析可以进一步包括:
S1-1,建立IFC模型和CityGML LoD4模型之间的语义映射规则,并基于所述语义映射规则和所述原始三维模型数据确定IFC实体对象和CityGML实体对象之间的对应关系,以确定各CityGML实体对象对应的语义表达。
在语义方面,IFC模型中具有大量对建筑实体和类型的定义以及各类实体对象间语义连接关系的描述,而CityGML模型则应用多个LoDs对建筑物、建筑物部件及建筑物附属设置由简到繁的表达,其中LoD4则是描述最详细的层级模型。
S1-2,基于所述原始三维模型数据提取所述IFC模型中各IFC实体对象对应的几何信息,对各所述IFC实体对象对应的几何信息进行几何变换形成B-Rep边界表示的CityGML实体对象,得到各所述CityGML实体对象对应的几何表达。
IFC模型转换为CityGML LoD4需要在语义和几何两种层次上分别进行转换。在语义映射方面,鉴于IFC模型比CityGML模型语义更丰富,但定义的语义名称有所差异,因此需要建立2种模型对象之间的语义映射规则。IFC与CityGML LoD4模型的语义映射可分为一对一映射(1:1)、一对多映射(1:n)和间接映射3种类型,实际应用中可根据不同的需求进行选择,本实施例对此不做限定。基于上述语义映射规则确定IFC与CityGML相关实体的对应关系之后,需要分别提取IFC实体对象的几何信息,对其进行几何变换来形成B-Rep表达的CityGML对象。
具体在进行语义转换时,可以先针对从IFC模型的各个分层中提取实体对象(本实施例中为建筑模型的实体元素,如墙体、墙面、底板等),并分析实体对象的属性信息,从而确定IFC模型的实体对象和CityGML实体对象之间的语义表达差异信息;其次,根据差异信息结合IFC模型、CityGML模型的语义描述利用映射规则进行语义映射和几何转换,得到映射结果,从而根据CityGML模型的实体对象的语义表达方式选择性的进行语义信息增强,从而确定各CityGML实体对象对应的语义表达。
本实施例中进行几何转换时,同样可以提取IFC模型的实体对象和CityGML实体对象之间的几何表达差异信息,进而利用几何表达差异信息对各所述IFC实体对象对应的几何信息进行几何变换形成B-Rep边界表示的CityGML实体对象,以实现CityGML实体对象的几何表达。为了使得转换后的CityGML模型能够方便地集成到3D GIS中,还可以结合坐标转换。
S2,通过OGC CityGML标准定义所述三维建筑模型的不同层级模型的几何和语义表达,建立各层级模型对应的几何和语义映射表。
前文介绍,CityGML模型可以包括多个层级模型,在本实施例中,可以通过OGCCityGML标准定义所述三维建筑模型的不同层级模型的几何和语义表达时,具体地,可以包括以下步骤S2-1~S2-2。
S2-1,通过OGC CityGML标准定义所述三维建筑模型的不同层级模型的几何和语义表达,并确定所述三维建筑模型对应的多项几何语义主题。具体地,根据所述几何和语义映射表确定各所述CityGML实体对象关联的LoD标签,所述LoD标签标签用于表征不同的层级模型;其中,同一个CityGML实体对象对应有至少一个几何语义主题,进一步对应至少一个层级模型,同一CityGML实体对象在不同层级模型下的显示方式相同或不同。
OGC CityGML定义五个层级模型包括LoD0、LoD1、LoD2、LoD3、LoD4,(LoD0、LoD1、LoD2、LoD3、LoD4即代表各个层级模型的标签)以实现对建筑物外表、建筑物部件及附属设施进行多尺度表达;其中,LoD0表达建筑物的底部或屋顶轮廓平面,为2.5D多边形;LoD1用块状简单表示建筑物三维模型;LoD2在LoD1的基础上加入了对房屋的附属结构和屋顶的描述;LoD3描述建筑物的详细外表结构,包括但不限于门、窗、阳台;LoD4增加对建筑物内部楼梯、房间和家具等对象的表达,具有详细的几何和语义信息。
S2-2,建立所述不同层级模型和各项所述几何语义主题之间的关联关系的几何和语义映射表。表1显示了CityGML不同层级几何和语义的映射关系。
表1 CityGML不同层级几何/语义映射关系
结合表1可知,每个层级模型由于其显示效果不同,其包含的实体对象以及实体对象的显示方式也不相同。其中,不同的实体对象可以归属于不同的几何语义主题。表1示意性示出了不同几何语义主题和各层级模型之间的关联关系,其中“√”即表示该类几何语义主题和对应的层级模型具有关联关系。本实施例中,每个几何语义主题可能包含多个实体对象,每个实体对象都可以与LoD标签关联,即同一个对象可以有对应不同LoD的模型表达,其均与同一个实体关联,在不同细节层级下选择对应的显示方式,实现实体在相应LoD下的显著表达。
S3,基于所述各层级模型对应的几何和语义映射表重构所述三维建筑模型,从而实现不同层级模型的派生。
在得到各层级模型对应的几何和语义映射表之后,就可以重构所述三维建筑模型,具体地,可以包括:
S3-1,基于任一层级模型对应的几何和语义映射表确定该层级模型对应的几何语义主题以及多个CityGML实体对象;
S3-2,根据所述CityGML实体对象及其显示方式构建该层级模型对应的层级显示模型;
S3-3,综合各所述层级模型对应层级显示模型即实现所述三维建筑模型的重构,实现不同层级模型的派生。
例如,可以利用LoD表面模型生成算法构建CityGML模型中各个层级模型,并将各个层级模型进行整合以形成最终的CityGML模型,实现不同层级模型的派生。另外需要说明的是,同一CityGML实体对象可能在不同层级模型的显示方式不同,例如,由于LoD0层级模型显示较为粗略,较小的实体对象可以不显示,或只显示一个条线或一个点。具体可以根据三维建筑模型的大小以及类型进行自定义设置,本发明实施例对此不做限定。
基于同一发明构思,本发明实施例还提供了一种三维语义模型的多层次结构派生装置,如图3所示,本实施例的三维语义模型的多层次结构派生装置可以包括:
数据解析模块310,用于获取三维建筑模型的原始三维模型数据,对所述原始三维模型数据进行几何和语义解析;
映射建立模块320,用于通过OGC CityGML标准定义所述三维建筑模型的不同层级模型的几何和语义表达,建立各层级模型对应的几何和语义映射表;
模型重构模块330,用于基于所述各层级模型对应的几何和语义映射表重构所述三维建筑模型,从而实现不同层级模型的派生。
在本发明一可选实施例中,数据解析模块310还可以用于建立IFC模型和CityGMLLoD4模型之间的语义映射规则,并基于所述语义映射规则和所述原始三维模型数据确定IFC实体对象和CityGML实体对象之间的对应关系,以确定各CityGML实体对象对应的语义表达;
基于所述原始三维模型数据提取所述IFC模型中各IFC实体对象对应的几何信息,对各所述IFC实体对象对应的几何信息进行几何变换形成B-Rep边界表示的CityGML实体对象,得到各所述CityGML实体对象对应的几何表达。
在本发明一可选实施例中,映射建立模块320还可以用于:
通过OGC CityGML标准定义所述三维建筑模型的不同层级模型的几何和语义表达,并确定所述三维建筑模型对应的多项几何语义主题;
建立所述不同层级模型和各项所述几何语义主题之间的关联关系的几何和语义映射表。
在本发明一可选实施例中,映射建立模块320还可以用于:根据各所述CityGML实体对象对应语义和几何表达确定各所述CityGML实体对象所属的几何语义主题;
根据所述几何和语义映射表确定各所述CityGML实体对象关联的LoD标签,所述LoD标签标签用于表征不同的层级模型;
其中,同一个CityGML实体对象对应有至少一个几何语义主题,进一步对应至少一个层级模型,同一CityGML实体对象在不同层级模型下的显示方式相同或不同。
在本发明一可选实施例中,模型重构模块330还可以用于:
基于任一层级模型对应的几何和语义映射表确定该层级模型对应的几何语义主题以及多个CityGML实体对象;
根据所述CityGML实体对象及其显示方式构建该层级模型对应的层级显示模型;
综合各所述层级模型对应层级显示模型即实现所述三维建筑模型的重构,实现不同层级模型的派生。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述实施例所述的方法。
本发明实施例还提供了一种计算设备,所述计算设备包括处理器以及存储器:所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;所述处理器用于根据所述程序代码中的指令执行上述实施例所述的方法。
所属领域的技术人员可以清楚地了解到,上述描述的系统、装置、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不另赘述。
另外,在本发明各个实施例中的各功能单元可以物理上相互独立,也可以两个或两个以上功能单元集成在一起,还可以全部功能单元都集成在一个处理单元中。上述集成的功能单元既可以采用硬件的形式实现,也可以采用软件或者固件的形式实现。
本领域普通技术人员可以理解:所述集成的功能单元如果以软件的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干指令,用以使得一台计算设备(例如个人计算机,服务器,或者网络设备等)在运行所述指令时执行本发明各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM),磁碟或者光盘等各种可以存储程序代码的介质。
或者,实现前述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络设备等的计算设备)来完成,所述程序指令可以存储于一计算机可读取存储介质中,当所述程序指令被计算设备的处理器执行时,所述计算设备执行本发明各实施例所述方法的全部或部分步骤。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:在本发明的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本发明的保护范围。