`
xiebh
  • 浏览: 614105 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

GML、SVG、VML的比较

阅读更多
GML、SVG和VML都是基于XML的可用来描述矢量图形的标记语言,都是XML词表,它们的语法并不难理解,但它们都有各自不同的用途和特点,下面简单介绍一下。

GML(Geography Markup Language)
是基于XML的空间信息编码标准,由OpenGIS Consortium (OGC)提出,得到了许多公司的大力支持,如Oracle、Galdos、MapInfo、CubeWerx等。运用GML,封装的地理数据和图形解释是清楚分离的。
  • GML基于XML用文本表示地理信息
由于GML可看成是XML的一个具体的词表,熟悉了XML就比较容易理解GML。而且随着XML的应用日益广泛,GML也将受益。另外文本比较简单、直观,容易理解和编辑。
  • GML封装了地理信息及其属性
GML基于地理信息抽象模型,即空间实体特征及属性封装。地理特征包括一系列的属性和相应的几何信息,一般来说属性由名字、类型和值组成,几何信息由基本元素如点、线、面、曲线、多边形等组成。目前GML主要局限在二维应用,正扩展到二维半和三维空间以及特征间的拓扑关系。GML允许相当复杂的特征,如特征间的嵌套。例如飞机场由出租汽车道、飞机跑道等组成。
  • GML封装了空间地理参考系统
空间地理参考系统是地理信息系统数据处理的基础。GML封装了空间地理参考系统、主要的投影关系等,保证分布式处理的扩展性和灵活性。
  • GML可以实现地理数据的分布式存储
GML对地理数据的分发是非常方便的技术手段,但其作用不止局限于此,同样可以成为地理数据分布式存储的重要手段。主要的技术工具是XLink和Xpointer。


从上边的介绍可以看出GML作为描述空间信息的元语言的一些优点。它只能描述空间实体的矢量信息和属性,具体显示的时候可采用两种不同的途径:
GML Drawà Display
GML Transform. à SVG, VML Draw àDisplay
第一种途径需要直接操作GML数据进行分析并显示。
第二种途径是把GML数据转换成相应的图形格式的数据,例如SVG,VML及X3D。然后由已经存在的支持这几种图形格式的软件进行显示。下面介绍一下SVG和VML。



VML(Vector Markup Language)

是一个最初由Microsoft开发的XML词表,现在也只有IE5.0以上版本对VML提供支持。使用VML可以在IE中绘制矢量图形,所以有人认为VML就是在IE中实现了画笔的功能。下面介绍一下VML的优点:
  • 基于XML标准

XML是公认拥有无穷生命力的下一代网络标记语言, VML具有先天的优势,它的表示方法简单,易于扩展等等。

  • 支持高质量的矢量图形显示
VML 支持广泛的矢量图形特征,它们基于由相连接的直线和曲线描述路径。在VML中使用两个基本的元素:shape和group。这两个元素定义了VML的全部结构;shape描述一个矢量图形元素,而group用来将这些图形结合起来,这样它们可以作为一个整体进行处理。
VML规范包括大量的支持多种不同矢量图形特征的元素。下面是VML的预定义图形元素:
l Shape
l Path
l Line
l Polyline
l Curve
l Rect
l Roundrect
l Oval
l Arc
l Group
由文本构成的图像,并可集成到HTML
由于VML使用简单的文本来表示图像,这样就可用很少的字节来表示比较复杂的图像。VML与HTML兼容,通过在HTML中声明VML命名空间并声明处理函数,就可以和其他HTML元素一样使用VML元素,在客户端浏览器显示图像。VML标记里面可以定义DHTML大部分属性和事件,比如说id, name, title, onmouseover 等等。
  • 支持交互与动画

但VML的功能不只是绘图,他还可以在图形中嵌入文本,并可实现超链,还可通过脚本语言实现一定的动画功能。VML赏析

SVG(Scalable Vector Graphics)
SVG 是一种基于XML的开放的矢量图形描述语言。SVG图像是与XML1.0兼容的文档,SVG元素是指示如何绘制图像的一些指令,阅读器(Viewer)解释这些指令,把SVG图像在指定设备上显示出来。使用SVG可以在网页上显示出各种各样的高质量的矢量图形,支持很多您想象得出的功能:几何图形、动画、渐变色、滤镜效果等。最关键的是,它也是完全用普通文本来描述的!也就是说,这是一种专门为网络而设计的基于文本的图像格式。
SVG是对PGML和VML的一种综合,所以VML的优点也就成为SVG的优点,例如:
基于XML标准
高质量的矢量图像
由文本构成的图像
我们可以不用任何图像处理工具,仅仅用记事本就可以生成一个SVG图像。这对于图像处理的工作者来说可能会感到不可思议。其实仔细想想也可以理解,矢量图像一般是以算法指令来描述,建立在文本基础上的SVG图像中所有的描述语句都可以直接观察到,所以也非常容易进行二次修改与更新,"可升级"的特点在这里可以得到恰当的反映。
另外,与VML相比SVG还有一些优点:
灵活的文件格式
SVG可升级的特性不仅仅表现在二次修改方面,还表现在另外很多地方,包括这里介绍的灵活的文件格式。在以前的图像中,文本都作为位图而保存于图像中,图像形成以后不能单独对文本进行修改;在PNG格式中这一点有所改进,文本可作为一个独立的层存在;SVG更灵活地扩展了图像的文件格式,它由三个部分组成:矢量图形、位图和文字。这样SVG不仅仅可以应用矢量图像和文字对象,同样可以纳入位图,可以制作出任何其它格式图像能达到的效果。由于文件格式是文本形式的,可以很容易地在以后任何时候进行修改。而且在页面运行的过程中,也可以对很多部分做即时的修改,其中的图形描述还可以重复使用。
支持交互和动画
SVG支持SMIL(synchronized multimedia integration language),使得用户可以自由的同SVG中的元素完成一些交互的动作,从而完成既定的目标,这一点在目前单独依靠图片是完成不了的,需要由网页中的脚本语句来实现。
支持字符查找
查找"图片"中的字符,在SVG中成为可能。而这在其它格式的图片文件中则是不可能的。
支持Xlink 和Xpointer
    这样就可以在SVG文档之间制作超级链接。
SVG 作为W3C组织正式推荐的图像格式,拥有众多的支持机构。像Adobe公司已经宣称将在推出的Adobe图像处理套件如Illustrator、 Photoshop、GoLive和Cyber Studio中集成SVG的全部功能,并且还提供Netscape Navigator和IE的插件,以便使其能够直接支持SVG文件的浏览。Netscape和Microsoft公司也已经开始进军SVG领域,这标志着未来的网络浏览器将会内置对SVG文件的支持功能。


总结
GML、SVG、VML都与矢量图形有着密切的关系:GML在表示实体的空间信息的同时加入了实体的其他属性信息,是表示实体的空间信息和属性的编码标准,但它并不支持直接显示图形。而VML和SVG是在表示图形的矢量信息同时加入了图形的显示信息(即以什么样的样式显示矢量图形),是显示矢量图形的两种比较好的格式。相比之下,SVG是综合了VML的优点后推出的,是国际标准,它比VML具有更多的优点,也有更广阔的前景。但由于VML有IE的支持,而SVG要想在浏览器中显示就需要安装插件,在这一点上,VML优于SVG。
分享到:
评论

相关推荐

    SVG、CANVAS、VML比较

    SVG、CANVAS、VML是三种用于在Web上创建矢量图形的方法,它们各有优缺点,适应不同的场景需求。 SVG(Scalable Vector Graphics)是一种基于XML的开放标准,被广泛支持,尤其在现代浏览器中,如Firefox和Opera。在...

    支持大数据量GML到SVG转换的XSLT优化处理器.pdf

    【标题】支持大数据量GML到SVG转换的XSLT优化处理器 【描述】这篇论文主要探讨了一种针对大数据量的GML( Geography Markup Language)文档转换为SVG(Scalable Vector Graphics)的XSLT(Extensible Stylesheet ...

    基于Oracle Spatial、GML和SVG的WebGIS研究.pdf

    【WebGIS模型系统】文中构建的WebGIS模型系统结合了Oracle Spatial的强大存储和查询功能、GML的数据交换优势以及SVG的图形显示效果。该系统实现了大量空间数据的存储,提供了高效的查询机制,通过优化数据传输和显示...

    SVG和GML在WebGIS中的应用研究.pdf

    SVG和GML在WebGIS中的应用研究 本文主要研究了SVG和GML在WebGIS中的应用,旨在解决WebGIS中的数据组织、数据共享和矢量图形显示等问题。通过分析和总结基于SVG和GML的WebGIS的结构特点,并将这种结构应用于“大同市...

    GML.rar_gml

    它可以用来描述地形、建筑物、交通网络等地理特征,同时支持与其它矢量图形语言如SVG(Scalable Vector Graphics)和VML(Vector Markup Language)进行互换。SVG常用于Web图形,而VML则是早期的微软浏览器中用于...

    GML指数和ML指数测算gtfp_GML和ML指数_GTFP测算代码_DEA的GML分解_GML指数

    在IT领域,特别是数据分析和经济效率评估中,GML(Global Malmquist-Luenberger)指数和ML(Malmquist-Luenberger)指数是衡量生产效率变化的重要工具。这两个概念源于Malmquist指数,最初由瑞典经济学家Richard C. ...

    GML指数和ML指数测算gtfp,gml指数是什么,matlab

    在IT领域,特别是数据分析和经济效率评估中,GML指数(Global Malmquist-Luenberger Index)和ML指数(Malmquist-Luenberger Index)是常用的技术进步和生产效率变化的测量工具。这两个指数源于Malmquist指数,由...

    SVG与WebGIS

    与GML(Geography Markup Language)不同,SVG专注于矢量图形的显示,而GML则主要关注空间信息和属性的编码,不直接支持图形显示。 SVG与VRML(Virtual Reality Modeling Language)相比,虽然VRML主要用于三维场景...

    地级市绿色全要素生产率GTFP,四种GML指数EBM-GML、SBM-GML SBM-DDF原始数据+测算结果

    283个地级市绿色全要素生产率GTFP年度数据(2006-2019),采用了四种GML指数测算方法,分别是EBM-GML、SBM-GML 、GML-DDF 、SBM-DDF。并且均分解为了EC、TC。 说明:此数据均为本人整理并测算,是本人论文写作用到的...

    GML指数计算,注意本包指数计算基于GML-DDF,其他类型GML指数可在本人主页寻找,包售后的哦,有问题可通过CSDN联系我哦

    第一种是早期用的比较多的基于Kaoru Tone(2001)的SBM模型(SBM-GML),第二种是Fukuyama&Weber(2009)提出的方向SBM距离函数模型(GML-DDF)。最后一种方法是Rolf Fare&Grosskopf(2010)基于方向距离函数的SBM模型...

    gml2pajek(gml转net)

    《gml2pajek:gml到pajek网络格式转换详解》 在数据分析和网络可视化领域,数据格式的转换至关重要。本文将详细介绍一种工具——gml2pajek,它能将gml(Graph Modeling Language)格式的数据转换为pajek(一个流行...

    GML指数、ML指数、超效率SBM、本包计算的是SBM-GML指数,结果准确可靠里面内容均做了图文注释,有问题可在CSDN私聊我

    第一种是早期用的比较多的基于Kaoru Tone(2001)的SBM模型(SBM-GML),第二种是Fukuyama&Weber(2009)提出的方向SBM距离函数模型(GML-DDF)。最后一种方法是Rolf Fare&Grosskopf(2010)基于方向距离函数的SBM模型...

    GML指数和ML指数测算gtfp,gml指数是什么,matlab源码.zip

    GML指数通过对联合概率分布和条件概率分布的比较,提供了衡量这种关系强度的量化指标。 ML指数,即最大似然估计法,是一种参数估计方法,常用于估计统计模型中的参数。在GML指数的背景下,ML指数通过最大化似然函数...

    gml3.0 中文文档

    根据提供的文件信息,我们可以深入探讨GML 3.0(Geography Markup Language)的相关知识点。 ### GML 3.0 概述 GML 3.0 是一种用于表示地理信息的标准格式,由国际标准化组织 (ISO) 和 Open Geospatial Consortium...

    GML解析与应用C#

    GML,全称为Geography Markup Language,是一种基于XML(Extensible Markup Language)的标准,用于描述地理空间数据。在IT行业中,尤其是地理信息系统(GIS)领域,GML扮演着至关重要的角色,因为它允许开发者以...

    gml显示地图数据

    GML,全称为 Geography Markup Language,是一种用于地理信息系统的XML(eXtensible Markup Language)方言,主要用于描述地理空间数据。在本主题中,“gml显示地图数据”指的是如何使用GML来展示和处理地图信息。...

    Shp到GML转换

    实现Shapefile格式数据到GML格式数据的转换过程可分为两个大步骤,一是依据Shapefile数据文档资料获取数据,二是依据GML标准构建GML格式数据。

    OGR 读取GML格式文件

    在GIS(地理信息系统)领域,数据的存储和交换经常涉及到各种不同的格式,其中GML(Geography Markup Language)是一种常见的矢量数据交换标准。GML是基于XML(Extensible Markup Language)的,允许复杂的空间数据...

Global site tag (gtag.js) - Google Analytics