基本3D格式
BIM文件格式
CAD文件格式
GIS文件格式

CityGML文件

CityGML是一种3D/CAD/BIM行业中常用的开放数据模型规范,可以用于描述城市与建筑物的3D地理信息。CityGML文件格式表示大规模城市数据集(LOD)和建筑物,可以为多种应用程序提供统一的数据结构。此外,CityGML还可以方便实现城市规划和市政项目的应用开发。

文件结构

CityGML文件通常使用XML的格式进行保存。它包含了地理、建筑物和规划模型数据,几何数据和文本数据等。CityGML文件可分为两个主要部分:GMLheader和CityObjects。

GMLheader指包含文件信息、维护者信息、文件的投影信息以及空间参考的描述。而CityObjects是GML的最重要的部分,用于存储城市3D建筑物信息。分为单独的文件或多个文件存储,还有noneLOD、LOD1、LOD2、LOD3、LOD4等等几个级别。其中,noneLOD是指没有数据的格式,而其他级别则依次按照展示精度由低到高。

所有的CityObjects都包括一些基本属性信息,例如名称、地址、经纬度、高程等。此外,还包括几何体、语义标签等其他信息,如地面、建筑结构、地下室等。

规范链接

CityGML在Open Geospatial Consortium(OGC)定义了一系列的规范。OGC是一个国际组织,致力于制定各种地理信息标准。CityGML的规范和标准下载链接为:https://www.ogc.org/standards/citygml 。

示例文件

以下是一个简单的CityGML文件的示例:

<?xml version="1.0" encoding="UTF-8"?>
<CityModel xmlns="http://www.opengis.net/citygml/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/citygml/2.0 http://schemas.opengis.net/citygml/2.0/cityGMLBase.xsd">
  <cityObjectMember>
    <bldg:Building gml:id="B1">
      <gml:name>Seattle Building</gml:name>
      <gml:description>This is a sample CityGML building model for Seattle.</gml:description>
      <gml:boundedBy>
        <gml:Envelope srsName="http://www.opengis.net/def/crs/EPSG/0/4326">
          <gml:lowerCorner>47.6 -122.3</gml:lowerCorner>
          <gml:upperCorner>47.7 -122.2</gml:upperCorner>
        </gml:Envelope>
      </gml:boundedBy>
      <bldg:function>bldg:housing</bldg:function>
      <bldg:usage>residential</bldg:usage>
      <bldg:yearOfConstruction>1990</bldg:yearOfConstruction>
      <bldg:roofType>slate</bldg:roofType>
      <bldg:measuredHeight uom="m">120</bldg:measuredHeight>
      <bldg:storeysAboveGround>20</bldg:storeysAboveGround>
      <bldg:storeysBelowGround>2</bldg:storeysBelowGround>
      <bldg:lod2Solid>
        <gml:Solid>
          <gml:exterior>
            <gml:LinearRing>
              <gml:pos>47.610830 -122.339791</gml:pos>
              <gml:pos>47.610763 -122.339911</gml:pos>
              ...
              <gml:pos>47.611102 -122.338547</gml:pos>
              <gml:pos>47.610830 -122.339791</gml:pos>
            </gml:LinearRing>
          </gml:exterior>
        </gml:Solid>
      </bldg:lod2Solid>
    </bldg:Building>
  </cityObjectMember>
</CityModel>

该CityGML文件表示一个名为“Seattle Building”的建筑物,包含了建筑物的名称、描述、边界,以及一些基本属性(如年份、用途、层数、几何形状等)。