
什么是CityGML/CityJson
CityGML 是一种基于XML的开放数据模型格式。专门用于存储和交换虚拟三维城市数据。它不是简单的几何模型,而是包含了丰富的语义信息和空间属性。
CityJSON是CityGML的JSON编码,文件更小,更易于Web开发和现代编程语言处理,语义上与CityGML等效。目前越来越多的WebGIS系统采用CityJSON格式。访问CityJSON官网,了解更多详细信息。
语义丰富:不仅定义建筑物的几何形状(点、线、面、体),更重要的是定义了这些几何形状代表什么对象(如:建筑、房间、墙壁、窗户、道路、桥梁、河流、植被、地形等)。每个对象都可以携带属性信息(如:建筑名称、地址、高度、楼层数、建造年份、功能类型(住宅、商业等)、屋顶类型等)。
多细节层次:
定义了 5 个标准的细节层次(Level of Detail, LOD):
LOD0: 区域、地块或数字地形模型(通常为 2.5D,即带高度的地形表面)。
LOD1: 建筑体块模型(简单的长方体或棱柱体,通常带平顶)。
LOD2: 具有屋顶结构和基本附属结构(如阳台)的建筑模型。
LOD3: 具有详细墙面、门窗结构的建筑模型。
LOD4: 包含建筑内部结构(如房间、楼梯、家具)的完整模型。
应用场景
城市规划与开发: 日照分析、风环境模拟、视域分析、新建筑影响评估。
设施管理: 管理地下管线、地上设施资产。
环境模拟: 噪声传播模拟、空气污染扩散模拟、洪水淹没分析。
应急响应: 灾害(如洪水、火灾、地震)模拟与疏散规划。
导航: 室外和室内导航(需要 LOD4)。
文化遗产保护: 记录和可视化历史建筑和遗址。
智慧城市: 作为城市信息模型的基础数据层。
数据转换
使用官网提供的开源工具实现CityGML与CityJson的互转
https://www.cityjson.org/tutorials/conversion/
数据打开
本文采用QGIS浏览CityJson数据。更多浏览方式,详见官网给出的软件列表。详细说明了每款软件是否具备浏览、生成、编辑、转换、API等能力。
使用QGIS浏览CityJson数据,需要用到CityJSON Loader插件。在QGIS插件管理器中安装,或访问官网下载最新的插件包,手动安装。
点击这里,了解如何离线安装插件。
插件安装完毕后,点击菜单矢量->CityJson Loader->Load CityJson。选择CityJson数据后,点击OK。

下图是将CityJson模型与卫星影像叠加显示,同时修正了QGIS的光照角度和颜色,与卫星影像拍摄时的效果吻合。

有更多关于CityJson的处理和加载问题,欢迎留言或联系我们。转载须注明出处。