
GML、SVG、VML三者的关系与区别比较.docx
5页GML、SVG 、VML 三者的关系与区别比较 来源: SVG 中国 (ChinaSVG.COM)GML 是表示实体空间信息和属性的标准,但它不支持直接显示图形VML和 SVG 是在表示图形信息并加入图形显示信息,而 SVG 综合 VML 优点推出,是国际标准,比 VML 更具优点及前景1 GML (Geography Markup Language)是基于 XML 的空间信息编码标准,由 OpenGIS Consortium (OGC)提出,得到了许多公司的大力支持,如 Oracle、Galdos、MapInfo、CubeWerx 等运用 GML,封装的地理数据和图形解释是清楚分离的1.1 GML 基于 XML 用文本表示地理信息 由于 GML 可看成是 XML 的一个具体的词表,熟悉了 XML 就比较容易理解GML而且随着 XML 的应用日益广泛, GML 也将受益另外文本比较简单、直观,容易理解和编辑 1.2 GML 封装了地理信息及其属性 GML 基于地理信息抽象模型,即空间实体特征及属性封装地理特征包括一系列的属性和相应的几何信息,一般来说属性由名字、类型和值组成,几何信息由基本元素如点、线、面、曲线、多边形等组成。
目前 GML 主要局限在二维应用,正扩展到二维半和三维空间以及特征间的拓扑关系GML 允许相当复杂的特征,如特征间的嵌套例如飞机场由出租汽车道、飞机跑道等组成 1.3 GML 封装了空间地理参考系统 空间地理参考系统是地理信息系统数据处理的基础GML 封装了空间地理参考系统、主要的投影关系等,保证分布式处理的扩展性和灵活性 1.4 GML 可以实现地理数据的分布式存储 GML 对地理数据的分发是非常方便的技术手段,但其作用不止局限于此,同样可以成为地理数据分布式存储的重要手段主要的技术工具是 XLink 和Xpointer 从上边的介绍可以看出 GML 作为描述空间信息的元语言的一些优点它只能描述空间实体的矢量信息和属性,具体显示的时候可采用两种不同的途径: GML Drawà Display GML Transform à SVG, VML Draw àDisplay 第一种途径需要直接操作 GML 数据进行分析并显示第二种途径是把 GML 数据转换成相应的图形格式的数据,例如 SVG,VML及 X3D然后由已经存在的支持这几种图形格式的软件进行显示下面介绍一下 SVG 和 VML。
2 VML (Vector Markup Language)是一个最初由 Microsoft 开发的 XML 词表,现在也只有 IE5.0 以上版本对VML 提供支持使用 VML 可以在 IE 中绘制矢量图形,所以有人认为 VML 就是在 IE 中实现了画笔的功能下面介绍一下 VML 的优点:2.1 基于 XML 标准 XML 是公认拥有无穷生命力的下一代网络标记语言, VML 具有先天的优势,它的表示方法简单,易于扩展等等 2.2 持高质量的矢量图形显示 VML 支持广泛的矢量图形特征,它们基于由相连接的直线和曲线描述路径在 VML 中使用两个基本的元素:shape 和 group这两个元素定义了 VML 的全部结构;shape 描述一个矢量图形元素,而 group 用来将这些图形结合起来,这样它们可以作为一个整体进行处理XML 规范包括大量的支持多种不同矢量图形特征的元素下面是 VML 的预定义图形元素: Shape Path Line Polyline Curve Rect Roundrect Oval Arc Group 2.3 由文本构成的图像,并可集成到 HTML 由于 VML 使用简单的文本来表示图像,这样就可用很少的字节来表示比较复杂的图像。
VML 与 HTML 兼容,通过在 HTML 中声明 VML 命名空间并声明处理函数,就可以和其他 HTML 元素一样使用 VML 元素,在客户端浏览器显示图像VML 标记里面可以定义 DHTML 大部分属性和事件,比如说 id, name, title, onmouseover 等等 2.4 持交互与动画 但 VML 的功能不只是绘图,他还可以在图形中嵌入文本,并可实现超链,还可通过脚本语言实现一定的动画功能 3 SVG (Scalable Vector Graphics)SVG 是一种基于 XML 的开放的矢量图形描述语言SVG 图像是与 XML1.0兼容的文档,SVG 元素是指示如何绘制图像的一些指令,阅读器 (Viewer)解释这些指令,把 SVG 图像在指定设备上显示出来使用 SVG 可以在网页上显示出各种各样的高质量的矢量图形,支持很多您想像得出的功能:几何图形、动画、渐变色、滤镜效果等最关键的是,它也是完全用普通文本来描述的!也就是说,这是一种专门为网络而设计的基于文本的图像格式SVG 是对 PGML 和 VML 的一种综合,所以 VML 的优点也就成为 SVG 的优点,例如:3.1 基于 XML 标准 3.2 高质量的矢量图像 3.3 由文本构成的图像 我们可以不用任何图像处理工具,仅仅用记事本就可以生成一个 SVG 图像。
这对于图像处理的工作者来说可能会感到不可思议其实仔细想想也可以理解,矢量图像一般是以算法指令来描述,建立在文本基础上的 SVG 图像中所有的描述语句都可以直接观察到,所以也非常容易进行二次修改与更新,"可升级" 的特点在这里可以得到恰当的反映另外,与 VML 相比 SVG 还有一些优点: 3.4 活的文件格式 SVG 可升级的特性不仅仅表现在二次修改方面,还表现在另外很多地方,包括这里介绍的灵活的文件格式在以前的图像中,文本都作为位图而保存于图像中,图像形成以后不能单独对文本进行修改;在 PNG 格式中这一点有所改进,文本可作为一个独立的层存在;SVG 更灵活地扩展了图像的文件格式,它由三个部分组成:矢量图形、位图和文字这样 SVG 不仅仅可以应用矢量图像和文字对象,同样可以纳入位图,可以制作出任何其它格式图像能达到的效果由于文件格式是文本形式的,可以很容易地在以后任何时候进行修改而且在页面运行的过程中,也可以对很多部分做即时的修改,其中的图形描述还可以重复使用 3.5 持交互和动画 SVG 支持 SMIL(synchronized multimedia integration language),使得用户可以自由的同 SVG 中的元素完成一些交互的动作,从而完成既定的目标,这一点在目前单独依靠图片是完成不了的,需要由网页中的脚本语句来实现。
3.6 持字符查找 查找"图片"中的字符,在 SVG 中成为可能而这在其他格式的图片文件中则是不可能的 3.7 支持 XLINK 和 XPOINTER 这样就可以在 SVG 文档之间制作超级链接SVG 作为 W3C 组织正式推荐的图像格式,拥有众多的支持机构像Adobe 公司已经宣称将在推出的 Adobe 图像处理套件如 Illustrator、 Photoshop、GoLive 和 Cyber Studio 中集成 SVG 的全部功能,并且还提供Netscape Navigator 和 IE 的插件,以便使其能够直接支持 SVG 文件的浏览Netscape 和 Microsoft 公司也已经开始进军 SVG 领域,这标志着未来的网络浏览器将会内置对 SVG 文件的支持功能4 总结GML 、 SVG、VML 都与矢量图形有着密切的关系: GML 在表示实体的空间信息的同时加入了实体的其他属性信息,是表示实体的空间信息和属性的编码标准,但它并不支持直接显示图形而 VML 和 SVG 是在表示图形的矢量信息同时加入了图形的显示信息(即以什么样的样式显示矢量图形),是显示矢量图形的两种比较好的格式。
相比之下,SVG 是综合了 VML 的优点后推出的,是国际标准,它比 VML 具有更多的优点,也有更广阔的前景但由于 VML 有 IE的支持,而 SVG 要想在浏览器中显示就需要安装插件,在这一点上,VML 优于SVG。












