同濟大學軟件學院 錢浩然
?
SVG格式地圖的改進規則
同濟大學軟件學院 錢浩然
【摘要】SVG是一種嚴格遵循XML語法,用于在瀏覽器端顯示二維向量圖像的一種文件格式。由于標準的SVG格式地圖只能儲存基礎圖形元素,不能儲存對應的分層信息和屬性信息,因此不能進行基于圖層的相關操作。為了解決該瓶頸,論文提出了一種標準的SVG格式地圖的改進規則,使SVG格式地圖可以儲存分層信息和屬性信息。實際操作驗證證明該改進方法是有效的。
【關鍵詞】SVG格式地圖;改進規則;圖層;結構體
時態GIS[1]系統是一個可以提供完善的時序分析功能,不但在空間上,而且在時間上兩個方面管理和分析時空地理信息的計算機系統。隨著GIS與互聯網技術的廣泛應用與快速發展[2],不僅能在空間上反映地物的現狀,而且能在時間上反映其發展變化過程及規律的時態GIS的應用前景是十分廣闊的。SVG作為一種完全遵循XML語法且開放標準的文本矢量圖形格式,擁有其優勢,可以更好地滿足GIS對時空地理數據圖形顯示的要求,因此,采用SVG[3]技術作為時態GIS的數據顯示是GIS發展的趨勢所在。然而目前的SVG定義規則中不存在十分明確的分層信息,因此SVG格式地圖進行分層一直是一個研究難題。
基礎的SVG格式地圖只包含繪制元素必要的信息,不能支持基于語義的相關操作。因此需要對基礎的SVG格式地圖格式進行改進,使SVG格式地圖可以儲存地圖分層數據與屬性數據。
標準的SVG格式地圖只包含基礎圖形的標簽(如
對于在SVG中存儲地圖分層數據的問題,使用SVG中定義的組標簽
對于在SVG中存儲地圖屬性數據的問題,需要改進現有的SVG規則,定義存儲地圖屬性數據的擴展標簽。同時使用
2.1SVG圖層的定義
如圖1所示,SVG圖層使用組標簽
2.2SVG結構體的定義
如圖2,SVG結構體表示地理元素中的一個對象,使用組標簽

`圖1 SVG Layer的定義

圖2 SVG Struct的定義
2.3SVG定義規則
如上文所說,我們對SVG格式進行了包含分層信息的重新定義。定義規則包括層的定義和元素的定義,定義如下:

在SVG中,使用組標簽

圖3 標準的SVG文檔

圖4 改進規則后的SVG文檔
通過以上對SVG格式進行的有關圖層的規則定義,即可根據標準SVG格式地圖的圖形元素與對應的屬性信息生成對應的SVG圖層。此外,通過XML格式所具有的結構化與
基于現有標準的SVG格式地圖不支持儲存分層數據和屬性數據的現狀,本文提出了一種支持儲存分層數據和屬性數據的SVG格式地圖改進規則。本文通過定義圖層,將基礎圖形元素和分層數據、屬性數據儲存至同一個圖層中,將分層數據、屬性數據與基礎圖形元素相關聯,使SVG格式地圖可以支持基于語義的相關操作;通過定義不同的節點,可以快速的定位到圖層中的基礎圖形元素、分層數據和屬性數據,方便進行分層數據和屬性數據相關的操作。
本文僅是對SVG格式地圖改進規則的初步研究。今后的研究將會著重于改進后的SVG格式地圖文件基于語義的相關操作,例如基于語義的模糊查詢的研究。本文為后期的研究打下了堅實的基礎。
參考文獻
[1]鄭湘麗.基于時態GIS的地籍數據存儲管理方法研究[J].北京測繪,2012,3:5-7.
[2]王家耀,魏海平,成毅,等.時空GIS的研究與進展[J].海洋測繪,2004,24(5):1-4
[3]ScalableVectorGraphics(SVG)1.2Specification.http://www. w3.org/TR/2004/WD-SVG12-2004-10-27/2004-10-27.
[4]杜慶峰,許家偉.DWG地圖到改進規則SVG地圖的轉換方法[J].同濟大學學報(自然科學版),2014,42(9):1426-1431.