第 1 期
2013 年 2 月
矿 山 测 量
MINE SURVEYING
No. 1
Feb. 2013
:
doi
10. 3969 / j. issn. 1001 - 358X. 2013. 01. 012
基于 CityGML 的城市三维空间数据库设计*
韩立钦1 ,张晓东1 ,王志红1 ,兰小机2
( 1. 甘肃工业职业技术学院 测绘学院,甘肃 天水 741025;
2. 江西理工大学 建筑与测绘工程学院,江西 赣州 341000)
摘要: CityGML 作为城市三维模型共享标准有效的解决了三维模型数据表达不一致,共享难的问题。
文中通过深入分析 CityGML 技术标准,提出了基于 Oracle XML DB 设计 CityGML 空间数据存储的解
决方案,并提出了基于 CityObjectMember 为基本单位的存储划分粒度,为城市三维模型数据管理提
出了新的解决思路。
关键词: CityGML; 三维空间数据库; 几何模型; LOD 模型
中图分类号: P208
文献标识码: B
文章编号: 1001 - 358X( 2013) 01 - 0033 - 03
”
“
十二五
发展规划,到
随着全国数字城市和智慧城市建设的开展,城
市三维信息化管理和建设在各个领域快速推进,根
据国家测绘地理信息
2015
年,地级市以上单位要逐步的完成数字城市建设,有
条件的 县 级 行 政 单 位 也 将 逐 步 开 展 数 字 城 市 建
但目前已建立的数字城市三维景观模型,大
设[
多数只局限于三维可视化的角度,忽略了语义和拓
],数据格式互不兼容,使城市三维信
扑关系的表现[
息管理面临巨大的挑战
推出
了城市地理标记语言 (
针对这种状况,
OGC
。
。
]
1
2
City Geography Markup Lan-
],建立了三维城市模型统一的编
使城市三维数据模型共享和互操作成为可
) [
3
,
guage
CityGML
码规范
能[
],开展基于
。
4
CityGML
的城市三维数据管理方面
研究也将具有重要价值
。
1 CityGML 空间数据特征
1. 1 CityGML 概述
。
在
3D
XML
GML3
GML3
城市模型交换格式
是一个开放的数据模型,基于
的
CityGML
的基
存储和虚拟
础上实现,是
的应用模式,用来表现城市三维
对象的通用信息模型,定义了城市中的大部分地理
对象的分类及其之间的关系,而且充分考虑了区域
模型的几何
不仅
代表了城市模型的图形化的外观,而且兼顾了语义
属性,数字地面模型
最新
植被
、
版本为
主要包括一个核心模式和十一
个扩展模式,如表
语义和拓扑关系
、
交通设施等
、
CityGML2. 0。
。CityGML
拓扑
、
水体
、
所示
。
1
。
名
称
CityGMLCore
Building
Appearance
CityFurniture
Generics
CityObjectGroup
LandUse
Transportation
Terrain Model
WaterBody
Vegetation
TextureSurface
模式类型
核心模式
扩展模式
扩展模式
扩展模式
扩展模式
扩展模式
扩展模式
扩展模式
扩展模式
扩展模式
扩展模式
扩展模式
表 1 CityGML 规范构成
说
明
为其他模式提供抽象基类
在四个细节层次对建筑物进行语义和空间描述
为
CityGML
对象提供模型显示方法
对城市附属物进行描述
预 设 的 模 式 扩 展
对地物按不同用途分组
对土地利用专题进行描述
对交通要素进行描述
对城市地表模型进行描述
对城市水系进行描述
对城市植被进行描述
对物体
3D
表面提供可视化属性
* 基金项目: 国家教育体制改革试点项目( 08 - 128 - 238) ; 国家自
然科学基金项目( 40971234) ; 甘肃省教育厅研究生导师项目计划
( 1121 - 03) 联合资助。
1. 2 CityGML 关键技术
)
模型
(
1
所有的模型可以分为五个不同的连贯细节层次
LOD
33
中国煤炭期刊网 www.chinacaj.net
第 1 期
矿 山 测 量
2013 年 2 月
) ,随着细节层次的提升可以获得关于几何及
LOD
(
主题的更多细节
。
“
”
2. 5
LOD1
LOD2
模型;
LOD0—
地域模型: 最粗糙的层次模型,本质上
维的数字地形模型;
是指没有屋顶
是指纹理和屋顶的粗模,包括
指包含更高分辨率的纹理和更多细节
更精细的植被模型以及交通设
、
的基础上增加
家俱
、
是一个
的
楼块
植被等;
层次的建筑物模型
施;
了
等[
物体的内部结构,如建筑物的楼梯
],如图
指最详细的层次,在
过道
、
3D
5 - 6
所示
LOD3
LOD3
LOD4
1
。
图 1 CityGML 五层 LOD 模型
几何一体化表达机制
) 语义
(
2
语义
/
/
。
。
。
而
语义
CityGML
CityGML
几何一体化模型是
的重要设计
在语义方面,真实世界的实体通过一些特征
之一
来表示,比如建筑物,墙壁,窗户等要素表达,包含了
要素之间的关系信息,这些表达是从语义层面
属性
、
上获得的,并没有涉及几何方面的内容,部分之间的
关系可以只通过单独语义进行表达,不用考虑几何
但空间层次上,必须包括实体的空间位置和
关系
几何一体化模型包含
语义信息
其中几何模型
了语义和几何两个层次的表达机制
是通过
维 的 称 为
,
维的
1
Point
在三维模型中,体由若
称为
干个面组成,面由若干条线组成,而且每个要素都拥
使 用
有自 己 的 坐 标 系 统
被强制定义为
GML3
直线,即
还可以通
过对简单几何模型的集合和复合形式表达复杂的几
何实体,如多点
。
的 几 何 模 型 进 行 表 示
维的称为
。 CityGML
进行表达,
GML3
维的称为
LineString。CityGML
Curve
线
面
、
、
,
2
体
、
,即点
Polygon
Surface
Surface
中 的
中的
中的
GML3
Curve
Solid
,
3
。0
。
]
7
多面和多体等[
、
多线
、
。
/
如下代码片段对建筑物的表达,图
为建筑实
2
体
。
43
:
< bldg
opening >
:
< bldg
Window >
:
:
< bldg
lod3MultiSurface >
:
MultiSurface >
< gml
< gml
surfaceMember >
:
Polygon gml
:
< gml
id = " PolyID5582 _ 96 _
490857_274599" >
:
exterior >
< gml
:
< gml
LinearRing gml
:
id = " PolyID5582 _96 _
490857_274599_0" >
:
:
:
:
:
:
:
< gml
pos > 3500002. 40480785 5400024.
04124501 8. 88146585243774 < / gml
pos >
< gml
pos > 3500002. 40480788 5400024.
04124507 9. 96896585243774 < / gml
pos >
< gml
pos > 3500002. 86480622 5400024.
04248005 9. 96896584274392 < / gml
pos >
< gml
pos > 3500002. 8648062 5400024.
04247999 8. 88146584274392 < / gml
pos >
< gml
pos > 3500002. 40480785 5400024.
04124501 8. 88146585243774 < / gml
pos >
:
:
:
:
:
< / gml
< / gml
LinearRing >
exterior >
………
:
< bldg
lod3MultiSurface >
图 2 LOD3 建筑物实体
2 基于 CityGML 的对象关系存储
2. 1 CityGML 存储粒度划分策略
GML3
CityGML
规范进行组织,因
数据主要依据
数据库系统存储的数据主要有两种: 一
此,
CityGML
是模式文件(
其中模式文
件决定着数据的存储结构,数据文件则为空间实体
模式文件时,重
真正存储内容[
要一点就是据此模式确定该类数据文件的划分粒
) ; 二是数据文件
当引入
CityGML
Schema
。
。
]
8
中国煤炭期刊网 www.chinacaj.net
第 1 期
韩立钦等: 基于 CityGML 的城市三维空间数据库设计*
2013 年 2 月
。
。
粒度是数据归纳和聚合的程度,决定了数据库
度
中每个数据文件所分解的片段大小
如果以整个数
据文件作为划分粒度,增加了调用和操作的时间,而
若以某个实体要素属性如
等作为划分
粒度,则划分依据实体某方面属性,不具有整体意
义
Name、Polygon
。
在
CityGML
数据文件中,
CityObjectMember
标签
将区域 范 围 内 要 素以 单 实 体 进 行 划 分 ,因 此,以
标签作为数据文件的划分粒度,即
CityObjectMember
保持了数据的完整性,又不至于耗费太多的调用时
系统以此粒度对数据文件进行解析,在此基础
间
上完成数据的存储
。
检索等操作
、
。
2. 2 基于 Oracle XML DB 的数据存储
[
9
]是
数据库为存储
Oracle
XMLType
Oracle XML DB
XML
对象类
是一个原生服务器数据类型,数据库可
数据而新增的功能模块,引入了
型,
XMLType
以理解含有
技术进行编码的空间数据,也是格式良好的
据,
的应用扩展,如果对
CityGML
Oracle XML
功能模块进行三维扩展,也能够对其进行良好的
数据是基于
的列或表
XML
数
。GML
XML
XML
GML
是
模式文件对数据文件进行了预定义,
模式文
数据文件的存储管理两部分
的存储管理包括对
CityGML
CityGML
CityGML
模式文件存储
模式文件的存储管理,在
CityGML
中可以通过注册
提供的
Oracle XML DB
CityGML
PL / SQL
Oracle
模式的方式,调
语句实现,如下例
DB
管理
。
CityGML
GML
因此,对于
件的存储和对
内容
)
。
(
1
对于
XML DB
用
所示
。
Begin
(
schemaurl = >
,
genbean = >
dbms_xmlschema. registerSchema
) ,
‘xmldir’
(
bfilename
,
testdata. xsd
,
gentypes = > True
Local = > True
,
False
(
)
‘AL32UTF8’
) ;
’
,
;
End
(
)
2
CityGML
数据文件存储
owner = > ’chx
csid = > nls _ charset _ id
CityGML
数据文件是以模式文件结构进行组织
的,以
级别设计存储逻辑模型,即
根据文件解析结果,把单个实体对象及其属性作为
一个 整 体 对 待,根 据
CityObjectMember
几 何 模 型 与
CityGML
Oracle
几何映射匹配关系,将
CityObjectMember
存
XML DB
储到相应的
XMLType
]
10
。
表中[
表名
CREATE TABLE
of XMLType
XMLSCHEMA “testdata. xsd”
ELEMENT “
表名
”
3 城市三维空间数据库体系框架
CityGML
CityGML
数据是一种半结构化
理
数据文件( 数据文件片段) 为主要操作对象
空间数据库是专门设计用于存储和管
数据的数据库管理技术,以模式文件和
由于
层次树状结构的空
CityGML
间数据,具有典型的面向对象的特征,因此采用面向
对象技术对其进行解析,然后存储到
Oracle XML DB
中,并以此设计城市三维空间数据库体系具有重要
研究价值
。
、
。
CityGML
系统主要包括通用
理
等部分
、CityGML
数据管理
。
空间数据库体系框架如图
CityGML
、CityGML
、CityGML
、CityGML
解析
查询
3
所示,整个
模式管
索引
图 3 城市三维空间数据库系统框架
CityGML
CityGML
特征,因此在
式文件,根据模式文件设计对应的存储结构
CityGML
数据导入流程: 首先读取
模
导入
数据文件时,因数据文件具有面向对象的
对象模型利用
. NET
拉式流模式设计数据通用解析器,然后
数据存储引
平台下,采用
DOM
。
XMLReader
传送到数据管理器模块,通过
CityGML
擎把映射匹配准确的数据存入数据库中
当对
CityGML
文件进行查询检索时,查询语句
首先传入到查询引擎,在查询引擎中,查询被正确的
解译后,通过索引管理检索需要的要素
。
。
4 结 论
CityGML
标准的出现为城市三维
( 下转第 38 页)
53
中国煤炭期刊网 www.chinacaj.net
第 1 期
矿 山 测 量
2013 年 2 月
,
dVΔY≤2σ
为基线中误差,
d
,
dVΔZ≤2σ
为基线边长,计算精
dVΔX≤2σ
式中:
σ
度统计见表
3。
节约成本,提高工作效率
。
参考文献:
约束点
表 3 约束平差后精度统计
最弱边相对
单位权中
误差(
)
误差(
)
cm
m
最弱点位
误差(
)
cm
[1] 徐 绍 铨,张 华 海,杨 志 强,等. GPS 测 量 原 理 及 应 用
[M]. 武汉: 武汉大学出版社,2008( 7) .
[2] 刘大杰,施一民,过静珺. 全球定位系统( GPS) 的原理
G001、G003
0. 050397
1∶ 178746
0. 64258
与数据处理[M]. 上海: 同济大学出版社,1996.
3 结 语
GPS
GPS
定位技术测得的点位相对精度可达到
0. 5
× 10 - 7,利用
技术获得点位之间相对关系再结
合地方坐标进行约束,可以完成地方控制测量任务
。
当前的探矿权大往往处于偏僻山区,周边缺少已知
控制点或者是控制点距离矿区较远,应用
技
术可以简捷
快速的向矿区引入已知数据
本文对
、
郏县白云岩矿区进行控制测量,经精度分析证明,利
相对观测,所得测量
用
成果不但满足矿区控制测量的精度要求,而且能够
技术并结合静态
CORS
CORS
GPS
。
[3] 刘郭孔,宗际祥,泉明元. 大地测量学基础[M]. 武汉:
武汉大学出版社. 2006.
[4] 袁德宝,崔希民. 秦岭隧道群 GPS 控制网的布设和精度
设计[J]. 测绘工程,2009,( 18) 2: 43 - 44.
作者简介: 邓勇(
1984 -
理工程师
年
地理信息工程专业
理
。2011
。
7
。
) ,男,湖北枣阳市人,硕士研究生,助
月毕业于太原理工大学,地图制图学与
研究方向: 空间数据采集方法和数据处
现就职于河南省有色金属地质勘查总院
。
( 收稿日期: 2012 - 09 - 10
)
檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸
( 上接第 35 页)
模型 共 享 提 供 了 有 力 的 技 术 保 障,目 前,针 对
规范本身开发专门的数据库 尚 有 诸 多 困
CityGML
难,能够利用现有成熟的大型关系数据库
对
其进行管理,即充分利用了现有数据库优势,同时,
格式的管理问题,这种
通过扩展又解决了
解决方案不失为一种良好的解决手段
CityGML
Oracle
。
参考文献:
[6] 许娇龙. 基于 CityGML 的三维 GIS 关键技术研究[D].
长沙: 国防科技大学,2010( 11) .
[7] CityGML Testdata[EB / OL]. http: / / www. citygml. org.
[8] 兰小机. GML 空间数据库理论及 GMLGIS[M]. 北京:
地质出版社,2010.
[9] Oracle china - oracle writepaper[EB / OL]. http: / / www.
oracle. com / cn / index. html.
[10] 兰小机,等. GML 空间数据在 Oracle 中的存储研究.
测绘科学[J]. 2009( 2) : 178 - 180.
[11] 王京卫 . 基于 3DGIS 的城市规划区三维数字景观的
[1] 国家测绘地理信息局,国测规发( 2011) 1 号《测绘地理
建立[J]. 矿山测量,2008( 4) .
信息发展“十二五”规划》[EB / OL]. http: / / www. sbsm.
[12] 高东生,等 . 空间数据技术在香港 GIS 数据转换项目
gov. cn / .
中的应用[J]. 矿山测量,2010( 6) .
[2] 周宁,张军. 基于 CityGML 的城市三维模型的描述方法
[J]. 测绘工程,2010( 4) .
[3] Open Geospatial Consortium,City Geography Markup Lan-
guage( CityGML)
Implementation Specification 1. 0[EB /
OL]. http: / / www. opengeospatial. org.
[4] 许娇龙,李军等. 基于 CityGML 的三维城市模型实时可
视化研究[J]. 系统仿真学报,2012( 6) .
[5] 易辉琼. 基于 CityGML 的空间数据 存储 研究[D]. 长
沙: 中南大学,2010.
83
作者简介: 韩立钦(
地理信息系统硕士
。
学院教师,主讲空间数据库
方向为地理信息共享与互操作技术
1983 -
讲师
、
) ,男,汉族,河南濮阳人,地图学与
现为甘肃工业职业技术学院测绘
地图制图等专业核心课程; 研究
、
。
( 收稿日期: 2012 - 08 - 27)
中国煤炭期刊网 www.chinacaj.net