GML-SVG-VML比较
生活随笔
收集整理的這篇文章主要介紹了
GML-SVG-VML比较
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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作為描述空間信息的元語言的一些優點。它只能描述空間實體的矢量信息和屬性,具體顯示的時候可采用兩種不同的途徑:
l?GML?Drawà?Display
l?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。
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作為描述空間信息的元語言的一些優點。它只能描述空間實體的矢量信息和屬性,具體顯示的時候可采用兩種不同的途徑:
l?GML?Drawà?Display
l?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。
轉載于:https://www.cnblogs.com/hmmcsdd/archive/2006/12/13/GML-SVG-VML-Compare.html
總結
以上是生活随笔為你收集整理的GML-SVG-VML比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 生成条形码、印章、邮件地址(玩玩)
- 下一篇: 准备考MCSD了