9.8. CityGML
先前版本的材质模型
[
已弃用
]
由
于
GML3
没有
内置的表面
材质
表
示
概
念
,
CityGML
以
前
的版本通过
TexturedSurface
类
来扩
展
GML3
的
几
何
模
型 ,它允
许
为三
维
面
分
配
外
观属
性(
颜色
、
亮
度
、
透
明
度
)和
纹
理。外
观属
性的定义是从
X3D
规范
中
采
用的。由
于 固有
的
局限
性,这
种
外
观建模
的方
法已
经被
弃
用
了
。
然而
,为
了给
现
有
的
CityGML
实
现一定的
向后
兼
容
性,
该
方 法已被
纳
入
CityGML 1.0
版本和
2.0
版本,成为一个单
独
的
扩
展
模块
TexturedSurface
。通过这
种
方式,可以
采
用 旧的
材质
模
型
支持
这个
模块
。请
注
意
,根据
TexturedSurface
模块建模
的外
观
信息可以在
没有
信息
损
失
的
情况下 转换为
CityGML
的
Appearance
模块
概
念
,本
章
前
面的
条款
已
经
介绍
过。
因此
,
强烈不建议
使 用TexturedSurface
模块
,
应
该
坚
持
使用
Appearance
模块
。
此
外,
TexturedSurface
模块
预
计
将
在
CityGML
的
未 来版本中被
移
除
。
对
于
TexturedSurface
模块
,
每
个表面
或复
合面都可以被专
门
化为一个
TexturedSurface
,
它
可以被
赋 予Materials
(
颜
色
、
亮
度
、
透明
度
)
或
SimpleTextures
。
图
20
描
述
了
UML
图
,关
于
XML
模
式的定义
见
附 件A.14
。

图 20. CityGML的材质模型的UML图。请注意,这种外观建模的方法已经被弃用,预计将在未来的CityGML 版本中被删除。前缀用于指示与模型元素相关的 XML 命名空间。没有前缀的元素名称是在CityGML 的TexturedSurface模块中定义的。
在面
上
定位
纹
理的
概
念
符合三
维
计算
机
图形
标准
X3D
(
web 3D 2004
),是
VRML97
的
后继
者。
CityGML
在
GML3 的几
何
模
型中加入
了
TexturedSurface
类,
因
为在
ISO 19107
和
GML3
中
没有
合
适
的
纹
理
概
念
。
纹
理被
指
定为由
URI
(
统
一
资
源
标识符)
引
用的
栅
格
图
像
,可以是一个任
意
的
资
源
,包括在互联
网
上
。
纹
理是通 过采
用
texture coordinates
的
概
念来
定位的,
即每
个
纹
理
坐
标与
TexturedSurface
的一个三
维
坐
标
完
全
匹
配
( 图17
)。
纹
理
坐
标的使用
允
许
在面
几
何
形
状
上
准
确
定位和
调整
纹
理。
一个表面的
颜色
是由
RGB
值
定义的。
他
们
必须
在
0
到
1
之
间
取值
。
frontOpacity
和
backOpacity
分
别定义
每
个面 的transparency
程度
。
它
们的
值
也
必须
在
0
到
1
的
范围
内,
其
中
1
表
示完
全
不
透
明,
0
表
示完
全
透
明。
颜色
可以区 分为
diffuseColor
漫
射
色
(被
光
源照
射
时的
颜色
)、
emissiveColor
自发
光
色
(
材质
自
身
的
颜色
) 和specularColor/shininess
镜
面
色
/
亮
度
(表面的
亮
度
)。
纹
理可以由
textureType
属
性
来
限
定。
textureType
区
分了特
定对
象
的
纹
理(
specific
)和
典
型对
象
的
纹
理 (typical
)。
纹
理
也
可以被
分
类为
unknown
。
_Appearance
是从
gml:AbstractGMLType
派
生
出
来
的,可以在一个
appearance
属
性中被
引
用。
属
性
gml:id
是
继 承的,
它
的
值
可以被一个
XLink
引
用。
_Appearance
是
材质
Material
和
SimpleTexture
的
父
类。
Xml
命名空间
CityGML
TexturedSurface
模块
的
XML
命
名
空间是由
统
一
资
源
标识符(
URI
)
http://www.opengis.net/citygml/ texturedsurface/2.0
定义。在
TexturedSurface
模块
的
XML
模
式定义中,这个
URI
也
被用
来
标识
默
认命
名
空
间。