CityGML 用语义对象组织三维城市模型
说明 CityGML 如何以城市对象、空间、语义和层级细节表达三维城市,并区分交换模型与可视化传输。
CityGML 用语义对象组织三维城市模型
三维城市模型不仅需要表面几何,还要说明每个对象是什么、由哪些空间组成、彼此有何关系。CityGML 用建筑、道路、水体、植被等语义对象组织城市空间,使数据可以支持查询、分析和交换,而不只是从某个视角看起来像一座城市。
它首先是概念模型。具体文件编码、数据库模式和 Web 传输可以采用不同实现。把某个 XML 文件格式等同于 CityGML 全部能力,会忽略版本、扩展和其他编码之间的关系。
城市对象把几何与语义放在一起
一个建筑对象可以具有标识、分类、名称、时间信息和空间表示。墙、屋顶、地面等边界表面既携带几何,也表达部件语义。查询“朝南的屋顶”与查询任意三角面不同,前者依赖语义分类和坐标方向。
对象可以形成组合和层级,例如建筑包含建筑部件,城市家具属于特定场景。引用关系应有稳定标识,避免导入导出后对象身份变化。外部业务数据可通过引用关联,不必全部复制进三维模型。
语义质量与几何精细度相互独立。模型可以几何粗略但对象分类完整,也可以网格极精细却没有可查询结构。项目验收应分别定义语义、几何、属性和关系要求。
空间概念不只描述可见表面
CityGML 3.0 区分占据空间和边界空间,可表达室内外、实体和逻辑空间。这样的结构有助于连接室内导航、能耗分析和资产管理,但也要求数据生产者说明哪些空间真实测得、哪些由规则推断。
实体表面应满足闭合、方向和有效性条件,才能可靠计算体积或进行实体运算。用于可视化的开放网格可能看起来正常,却无法作为三维实体。导入时应进行几何有效性和单位检查,而不是只确认渲染成功。
坐标参考和高程基准尤其关键。水平位置正确但垂直基准不一致,会让建筑、地形和地下设施产生系统偏移。模型应记录三维 CRS、单位和数据来源,转换过程保留精度说明。
层级细节是表达选择而非单向精度排名
不同 LoD 面向不同观察和分析需求。低层级可用简化体块表示城市总体,高层级包含更细外部结构或室内空间。高 LoD 不保证位置更准确,也不保证属性更完整;它主要描述采用了怎样的空间表示。
同一对象可以拥有多种表示,但它们应保持身份一致,并说明适用尺度。若由高细节模型自动简化,需检查屋顶形态、拓扑和体积是否在容差内。若不同层级来自不同测量时间,还要避免把时间差异误认为细节差异。
应用不应机械要求最高 LoD。城市级能耗估算可能需要体积和边界语义,未必需要窗框细节;街景导航更关心入口和通行空间。多余几何会增加存储和处理,却不一定提高决策质量。
与 3D Tiles 的分工在语义和传输
3D Tiles 通过空间层级、包围体和几何误差组织大规模三维内容,适合按相机视图流式加载。CityGML 更关注城市对象概念、语义和交换。二者可以转换或配合,但不能假定信息无损一一对应。
将 CityGML 发布为 3D Tiles 时,通常需要三角化、简化、分块和层级构建。某些语义可进入结构化元数据,复杂关系或多重几何可能需要外部服务。转换清单应明确保留字段、丢失关系和源对象 ID。
反向从可视化瓦片恢复完整 CityGML 更不可靠,因为瓦片几何可能已简化、切片和量化。权威模型应保留在适合编辑和语义验证的存储中,传输成果作为派生制品管理。
扩展机制需要控制互操作成本
城市应用常有领域专有属性。应用领域扩展可以增加能源、基础设施或管理语义,但扩展越多,通用工具越难理解。使用扩展前应确认核心模型不能满足需求,并发布命名空间、模式和示例。
多个组织交换时,应制定应用配置文件,规定使用哪些对象、属性、LoD、CRS 和编码。只写“符合 CityGML”范围过宽,不足以保证两个系统能处理同一数据。
版本迁移也需映射规则。概念模型变化可能调整对象和关系,简单改模式版本号不会完成语义迁移。转换后应重新验证对象数量、引用完整性、空间范围和关键业务查询。
数字孪生还需要状态、时间和运行连接
CityGML 可以提供城市对象的空间语义底座,但数字孪生还涉及实时状态、传感器、事件、仿真、权限和生命周期。拥有三维城市模型并不等于已经建立运行中的数字孪生。
时间更新需要区分对象身份和表示版本。建筑改造、拆除或用途变化时,应保留有效时间和来源,避免直接覆盖导致历史分析失真。实时观测通常通过独立时序服务关联,不宜把高频值不断写进静态交换文件。
质量报告应包含覆盖范围、时间、来源、几何精度、语义完整性和已知缺口。用户由此判断模型能否用于可视化、规划、应急或分析,而不是被统一的三维外观误导。
CityGML 的价值在于让三维城市数据拥有可交换的对象语义。把概念模型、几何有效性、LoD、扩展和传输派生物分别治理,三维模型才能从展示资产转化为长期可维护的城市信息资产。
资料依据
- Open Geospatial Consortium:CityGML Standard,https://www.ogc.org/standards/citygml/
- Open Geospatial Consortium:3D Tiles Standard,https://www.ogc.org/standards/3DTiles/