中国古建网

您现在的位置是:网站首页>古建百科

古建百科

城市地理标记语言的明清古建筑扩展模型

中国古建网2022-11-08古建百科古建吊顶设计
古建牌坊设计阁,古建吊顶设计,古建设计韦华东,城市地理标记语言的明清古建筑扩展模型,古建牌坊设计阁,古建吊顶设计,古建设计韦华东:针对大多数三维数据模型无法满足古建筑在微观和宏观上的语义表达需求问题,该文以明清古建筑为研究对象,利用城市

城市地理标记语言的明清古建筑扩展模型

城市地理标记语言的明清古建筑扩展模型,

  古建牌坊设计阁,古建吊顶设计,古建设计韦华东:针对大多数三维数据模型无法满足古建筑在微观和宏观上的语义表达需求问题,该文以明清古建筑为研究对象,利用城市地理标记语言(CityGML)的应用领域扩展,提出一种适用于古建筑多尺度语义表达的CityGML扩展模型,以北京故宫古建筑群体为实验数据,实现古建筑模型几何语义一体化。提出的CityGML扩展模型弥补了大多数古建筑三维模型缺失多尺度语义信息的缺陷,为古建筑数据精细化管理和建筑遗产修复工作提供了理论支撑。

  作为我国古建筑发展的最后一个巅峰期,明清古建筑不仅保留了早期建筑风格,还结合时代特点自成一格,形成一套成熟独特的建筑体系,具有极高的文化价值和研究价值[1]。由于时代变迁、木结构易损坏和年久失修等原因,大量古建筑断壁残垣,保存较为完整的明清古建筑成为建筑文化遗产保护和修复的重点对象[2]。随着信息技术的快速发展,三维模型的重构为古建筑保护领域提供可靠源数据[3]。然而,目前大多数三维模型都以纯几何的形式表达,从而忽略了建筑的语义信息和空间关系,导致构建出来的三维模型仅限于粗略,的可视化表达,无法满足模型精细化重构、建筑空间结构分析和空间数据挖掘等需求[4]。即使不少国内外学者使用语义丰富的建筑信息模型(building information modeling,BIM)构建古建筑模型[5-7],但这些模型都是微观层面的LOD4多细节层次(levels of detail,LOD)单体模型,均采用局部相对坐标系,不利于宏观古建筑群体和周边环境与三维地理信息系统(3D geographic information system,3DGIS)的有效集成。

  作为GIS领域的通用数据标准,CityGML继承了GML3地理标记语言(geography markup language,GML)的坐标参考系统,不仅可以自定义工程参考坐标系,还支持权威组织如欧洲石油调查组织(European Petroleum Survey Group,EPSG)定义的空间参考系代码,适用于小范围和全球大范围场景模型的构建[8]。CityGML还兼顾了模型的语义与空间关系,提供LOD0-LOD4,满足实体对象在微观和宏观多尺度下的语义表达。因此目前已有利用CityGML的应用领域扩展(application domain extension,ADE)构建古建筑模型的相关研究[9-12],但提出的扩展模型没有根据古建筑结构特点定义相应的多细节层次LOD级别,忽略语义对象间的空间关系,且都以国外石结构古建筑为研究对象,而针对木结构为主的中国古建筑的研究寥寥无几。

  由此可见,目前还没有适用于中国古建筑多尺度语义信息和空间关系表达的CityGML扩展模型。本文在建筑专题模块的基础上,使用应用领域扩展ADE提出一种CityGML明清古建筑扩展模型。该扩展模型定义了古建筑构件的语义类别,扩展相应的属性信息和LOD级别,并根据木构件语义对象间的空间连接规则存储各构件间的空间连接关系。提出的扩展模型不仅能完整地表达构件的语义信息和空间关系,还能满足古建筑在多细节层次下的可视化表达,为三维模型的语义查询、空间分析和数据共享等深层次应用提供技术支撑。

  作为开放地理信息协会(Open Geospatial Consortium,OGC)推出的虚拟三维城市建模标准[13],CityGML弥补了传统三维模型在数据共享性和互操作性等方面的不足,提高了模型的重用性。虽然CityGML定义了大多数地理实体对象,但并不能满足古建筑保护领域的应用需求。本文利用ADE扩展古建筑专题类别,其扩展方法可分为基于“hook”机制扩展既有类的属性和基于既有类定义新的专题类[14]。

  为了降低模型的复杂性和提高可视化效率,CityGML提供5级LOD来描述三维地理实体在不同分辨率下的表达。以建筑模块为例,如图1所示[1]。LOD0表示一个2.5维的数字地形模型。LOD1将建筑物抽象为一个块状模型。LOD2添加了屋顶和外部建筑装置的大致轮廓以及贴图。LOD3包含详细的墙壁组成(门窗)和屋顶结构。LOD4包括房间、家具、室内设备等建筑物内部表达。本文根据以上标准,舍去非三维的LOD0级,将古建筑模型定义为LOD1-LOD4。

  明清时期的古建筑呈现整体简明、细节繁琐的特点,单体建筑外形规范固定,建筑结构与建筑装饰功能明确,建筑外观因华丽的装饰变得更加精美[16],建筑群体在空间上的组合方式也丰富多样。

  一个完整的单体古建筑按结构可划分为上中下分。上分代表屋顶部分,由正式和杂式屋顶类型组合形成多层次结构屋顶[17]。中分代表屋身部分,由木构架、斗拱和墙体组成。木构架由梁柱等构件以榫卯结构相连接,明清时期的斗拱结构功能衰退,装饰功能占主导地位[18],墙体部分起围护作用。下分代表台基部分,台基具有稳固地基和协调建筑结构的功能[19]。除此之外,古建筑体本身常带有许多华丽的装饰构件,这些构件分布建筑的任意位置。古建筑群体是多栋单体建筑组合在一起形成的建筑群落,明清时期的古建筑群体在纵向上重叠扩展,并与横向扩展相互协调,通过错落有致的建筑变化来凸显主体建筑,见图2。

  现有的CityGML标准类别无法表达立柱、梁架和斗拱等古建筑构件,因此本文根据明清古建筑的结构特点,扩展古建筑构件的语义类别,研究木构件间的连接规则,构建4级LODs,设计出一种基于CityGML的明清古建筑多尺度语义扩展模型。

  对古建筑的上中下分结构进行分析,确定扩展古建筑构件语义类见图3,并定义相应的语义描述、几何表达和属性信息。

  古建筑上分屋顶部分的构件语义类别和相关信息如表1所示,屋顶是古建筑上分子类构件的父类,使用LOD2-4多面(MultiSurface)表示,并扩展类型和长宽高等属性。子构件屋面使用LOD2-4MultiSurface表示,扩展坡面个数和面积属性。子构件屋脊、铺瓦和山墙都使用LOD3-4MultiSurface表示,屋脊增加了类型和长度属性,铺瓦添加了类型和材质属性,山墙扩展了面积属性。

  古建筑中分屋身部分的构件语义类别和相关信息如表2所示,屋身包括木构架、斗拱和墙体部分。木构架由多个横向和纵向木构件搭建而成,使用LOD3-4MultiSurface表示,增加了类型和长宽高等属性。纵向木构件柱和横向木构件枋都位于建筑的室内外,可用LOD3-4MultiSurface表示,并扩展类型和长度属性。梁、椽、檩作为建筑室内的横向木构件,用LOD4MultiSurface表示,并添加相应的类型和长度属性。其他辅助构件是木构架中没有明确类别的构件,使用LOD3-4MultiSurface表示,增加用途属性。斗拱既有承重作用也有装饰作用,使用LOD3-4几何(Geometry)表示,扩展了类型和用途属性。古建筑的墙体部分无需另外扩展,可用CityGML中建筑模块里的墙、门、窗类别表示。

  古建筑下分屋底部的构件语义类别和相关信息如表3所示,台基位于建筑物底部,使用LOD1-4体(Solid)表示,扩展了类型和高度属性。

  装饰构件位于古建筑的上中下部分,可用LOD3-4几何(Geometry)表示,扩展了装饰构件类型属性。定义见表4。

  相比古建筑的其他部位,以榫卯衔接的木构架更易损坏,从而导致木构件部分缺失或腐烂,给古建筑的修复带来一定的困难[20],因此研究木构件语义对象之间的空间连接规则是非常重要的。本文提出的扩展模型将根据以下规则定义木构件间的空间连接关系,为古建筑空间结构分析和修补缺失木构件工作提供理论指导。

  木构架由柱、梁、枋等6类木构件搭建而成,通过对搭建方式的分析,可得出以下木构件语义对象间的连接规则。

  1)柱-梁:垂直构件柱与水平构件梁以榫卯连接,构件所处的位置和功能不同使得连接方式也不同。如双步梁和中柱以半榫连接,见图4 (a),抱头梁和檐柱以透榫连接,见图4 (c),五架梁和金柱以馒头榫连接,见图4 (e)。

  2)柱-枋:垂直构件柱与水平构件枋通过榫卯方式连接。如檐枋与柱头以燕尾榫连接,见图4 (b),角柱与箍头枋以特殊的箍头榫,见图4 (f)的连接,穿插枋和小额枋分别以透榫和半榫的方式连接。

  3)檩-椽:水平构件檩与倾斜构件椽的连接方式是搭交,见图4 (d)。搭交是椽搭在檩上并以钉子固定,不属于榫卯结构。

  4)梁-檩:水平构件梁与水平构件檩以檩碗,见图4 (h)的连接,特殊的趴梁与檩之间以阶梯榫,见图4 (g)的连接。

  参照CityGML定义的LOD标准,将古建筑模型划分为以下4级LODs,实现模型在不同分辨率下的多尺度表达。LOD1中建筑物体由几个简单规则的矩形体构成。LOD2添加了屋顶轮廓、墙体表面和其他外部建筑设施细节,呈现出古建筑体的大致轮廓特征。LOD3在LOD2的基础上进一步增加了建筑体外部的所有细节,如屋顶细节装饰、墙体上的开口(门窗)、外部枋柱、外檐斗拱等。LOD4添加了建筑物内部结构,如梁、檩、椽等梁架构件,展现出最精细的模型。不同LOD级别的古建筑模型展示的构件语义类别也不同,表5定义了各语义类的LOD级别。

  在建筑模块的基础上,基于CityGML既有类,使用EnterpriseArchitect工具定义新的古建筑构件语义类及属性,并标注各类间的继承、关联、聚合等关系,形成基于CityGML的古建筑扩展模型统一建模语言(unified modeling language,UML)。根据该模型导出一个古建筑扩展模型定义文件(*.xsd)。扩展模型设计流程如下。

  2)定义古建筑构件语义类别。屋顶Roof、木构架WoodenFrame、斗拱Dougong、墙体部分BoundarySurface、台基Base、装饰Decorate,利用ADE的钩子原理将这些类别与1)节中的CABuilding形成聚合关系。再分别定义4个屋顶构件子类和6个木构件子类,与屋顶和木构架形成聚合关系。

  3)依据类别定义表1~表4,为2)节中新定义的构件语义类别扩展所需的属性,并定义各个构件类在LOD1-LOD4下的几何表达,通过关联关系与GML中的MultiSurfce、_Solid、_Geometry类连接。依据木构件语义对象间的空间连接规则,定义6个木构件间的连接关系。

  本文以北京故宫古建筑群体的SketchUp模型作为实验数据,构建出故宫群体的CityGML模型。首先使用SketchUp软件对原始数据故宫群体模型进行预处理,然后根据预处理后的模型数据使用Eclipse开发工具生成古建筑CityGML模型,最后使用空间数据转换处理系统(feature manipulate engine,FME)的DataInspector数据可视化工具可视化分析模型。

  现有的故宫群体模型存在多断线断面、组件化不规范、模型交错等问题,需要对模型进行初步处理,处理后的古建筑群体模型如图5所示。

  经过预处理后的模型数据以独立构件的形式存在,这些构件数据为生成CityGML模型提供原始的几何坐标。作为一个开源的Java类库,Citygml4j能够读写、解析和编译CityGML数据文件[14]。本文利用Eclipse开发工具,采用Citygml4j类库的相关技术,根据古建筑扩展模型编写适用于古建筑构件表达的Java类库CABuilding-ade-citygml4j。利用该类库,以构件数据的几何坐标为参数,生成能够表达故宫古建筑群体模型的CityGML文件。

  5)创建支持ADE的CityGMLBuilder,创建语义要素类,读取几何坐标数据,设置属性信息、外观信息,设定LOD级别和空间连接关系。

  6)为模型设置参考坐标系(本实验采用EPSG:3857),并导出CityGML模型文件。

  利用空间数据转换处理系统FME的数据可视化Data Inspector工具展示LOD1-LOD4的故宫古建筑群体模型和太和门单体模型(群体中的一个单体建筑)。通过展示结果图可知,随着LOD级别越高,语义对象越多,古建筑的细节表达也越详细。在群体模型中,除了古建筑外,还包括地面、河流、桥梁三个地理周边环境要素,分别使用CityGML标准的土地利用(LandUse)模块、水体(WaterBody)模块、桥梁(Bridge)模块表示。由于古建筑的每个构件都被赋予了语义,因此,可以通过勾选左侧的图层来选择所需要显示的构件。模型的可视化效果如下。

  1)LOD1模型展示。通过可视化结果图7可知,LOD1模型中的建筑物和桥梁被抽象为规则的矩形体,河流呈面状实体。

  2)LOD2模型展示。通过可视化结果图8可知,LOD2模型中建筑物添加了屋顶、屋面和墙体等语义对象,带有弧度的桥梁和深度的河流与原型形状一致。

  3)LOD3模型展示。通过可视化结果图9可知,LOD3模型展示了建筑物的所有外部细节,包括墙体上的门窗、建筑外部装饰、外部斗拱、柱子等语义对象。

  4)LOD4模型展示。通过可视化结果图10可知,LOD4模型增加了建筑物内部细节,包括内檐斗拱和内部横向构件梁、檩、椽等语义对象。

  为了更直观清晰地体现古建筑的内部结构和构件间的空间连接规则,实验以一个LOD4级别的简易木构架为例(图11)。点击木构架中的柱子1进行查询分析,根据图中右侧属性窗口中红色框选的信息可知,与该柱1相连接的对象connect_object是两根枋Fang,连接关系connect_relation是箍头榫HoopTenon,链接到两根枋(枋1和枋4)的ID值为connect_id。

  本文以CityGML的应用邻域扩展ADE为核心手段,扩展出一种适用于明清古建筑的CityGML模型。首先将古建筑按类别划分为多种构件类型,然后根据这些类型利用ADE扩展古建筑构件语义类别,设置相应的几何表达、语义特征、属性信息和LOD级别,再分析木构架搭建特点得出木构件语义对象间的空间连接关系。最后以北京故宫群体为试验数据,使用Citygml4j库的相关技术生成CityGML古建筑模型。本文提出的古建筑扩展模型可以进行语义查询、空间分析和多尺度可视化等操作,为古建筑三维模型重建、空间结构分析和修复工作夯实基础。该扩展模型是基于可扩展标记语言(Extensible Markup Language,XML)框架的,未来的研究方向还可以进一步实现基于互联网的信息可访问性和共享性。由于文章只针对明清时期的古建筑展开研究,限制了模型的适用范围,因此,后续工作将根据其他朝代的古建筑特点对扩展模型进一步改进。

  作者简介:黄明(1971—),男,四川大竹人,教授,主要研究方向为多源数据融合的精细三维重建技术、三维激光软件系统的研发及工程示范与应用。

很赞哦!