同濟大學軟件學院 姚 堯
近年來,以研究空間數據和屬性數據為主的傳統GIS技術得到了廣泛關注和迅猛發展。然而,傳統GIS在發展的過程中,也面臨著許多新的挑戰。諸如地貌變更、環境監測、天氣預報監測、交通管理、搶險救災等數據都是隨著時間的變化而變化的。顯然,傳統的GIS已經無法滿足這種需求,需要一個能在時間與空間兩方面全面處理地理信息的系統。因此,“時空GIS”的概念便應運而生[1]。
時空GIS是建立在時態數據庫、GIS、人工智能等基礎上的一種綜合型應用性技術,其研究對象是時空世界中遵循著誕生、成長、生存,直至死亡等自然規律的事物和現象的時空信息。時空GIS通過存儲和查詢時空數據,不僅能反映事物和現象的現狀,而且能反映其發展變化的過程及規律。時空GIS的研究已經成為了GIS研究領域的一個熱點和難點,是未來GIS發展的一個必然趨勢。
1992年,Gail Langr an首先從時變空間數據存儲管理的角度,提出了文件系統支撐下的四種時空數據模型:時空立方體模型、基態修正模型、快照序列模型、和時空復合模型[2]。隨后,Michael F.Wor boys于1994年提出了使用面向對象數據庫技術支持的時空數據建模的想法,通過引入雙時態理論提出了時空聯合模型。從時空語義理解的角度,DonnaJ.Peuquet和NiuDua于1995年提出了一種基于事件的時空數據模型ESTDM,其基本想法是將所有造成改變的事件依照時間的次序排成一個事件列表,此事件列表中最早的時間點記錄完整的基本地圖,其后則記錄改變。此后,更多的學者相繼參與TGIS的研究,并取得了大量卓有成效的成果。
雖然國內時空GIS的研究起步較晚,但是在時空數據模型的完善和應用中作了大量的工作。1996年,張祖勛和黃明智提出了時空過程分類和時空目標標識,總結了時空數據和屬數據組織方式,分析比較了它們的特點和存在的問題,對今后的研究方法提出了建議[3]。1997年,龔健雅以文件結構的方式,提出了一個基于對象版本標識的時空數據模型。同年,杜道生提出了基于同步數據項和碎分拓撲弧段時間標記的時態空間數據模型,將屬性狀態里同步變化的若干數據項歸為一組同步數據項組,空間狀態里一定時間范圍里同步變化的若干坐標點歸為一組碎分拓撲弧段時間標記,可以達到既體現地理狀態的局部變化又最大限度避免不變狀態數據冗余存儲的效果。另外,如馬勁松、王曉棟、尹章才等也提出了一些數據模型或對模型進行了修正,大大推進了TGIS與時空數據模型在中國的應用和進展。
2.1.1 SVG是基于XML的
XML全稱可擴展標記語言(Ext ensibl eMar kupLangua ge),是一種允許用戶自定義的可擴展標記語言,主要用于結構化的數據的處理,具有可讀性、跨平臺性和可擴展性的特性,是目前web上廣泛使用的數據傳輸格式[4]。SVG是完全遵循XML的語法規則的,所以SVG繼承了XML的所有特點。
2.1.2 SVG是可編輯的
一般的圖片格式,如JPEG、PNG、BMP等都需要特定的圖像編輯軟件(如Phot oshop)才能對其進行編輯。而SVG格式的圖片,只需要支持文本編輯功能的軟件,即可以對SVG進行編輯。SVG定義了一些基本圖形的標簽和屬性,通過直接編輯這些標簽和屬性,即可實現對圖形圖像的修改。此外,正因為SVG是文本格式,所以SVG文件中的內容是可以被搜索和索引。
2.1.3 SVG是可交互的
SVG較之其他圖像格式,具有強大的交互功能。SVG支持ECMAScr ipt,通過編輯腳本可以實現諸如放大、縮小和高亮等一些簡單的功能。此外,SVG還定義了一組動畫元素,通過在SVG中嵌入這些動畫元素,可以使SVG圖片”動起來”,提升了用戶體驗。
SVG由三大類圖形元素組成:圖形元素、圖片元素以及文本元素。
2.2.1 圖形元素
圖形元素分為基礎圖形和路徑兩種。基礎圖形包含了一些SVG預定義的基礎圖形,如<Line>、<Rect>、<Cir cl e>等標簽。這些標簽都有一些公共的屬性,用于定義圖形的樣式,如f i l l、st r oke、st r oke-wi dt h、opacit y等。
2.2.2 圖片元素
在SVG中,可以通過使用<image>標簽來導入二維的光柵圖片。目前只支持導入的圖片格式為PNG和JPG。
2.2.3 文本元素
在SVG中,可以用<t ext>標簽來顯示文本信息。SVG圖片中所有的文本內容均可以被選擇和復制。除了<t ext>標簽外,W3C還制定了<t span>、<t ext Pat h>等標簽來豐富文本元素,使得SVG中的文字豐富多樣。
SVG格式地圖是由一個個圖形元素組成的,不同的圖形元素擁有不同的特征。對這些圖形元素按照其特征進行劃分,將特征類似的元素劃分到同一個組中,即構成了“層”的概念。常見的地圖圖層有:河流層、道路層、行政區規劃層、綠地層等[5]。
圖層控制的意義就在于通過對地圖上元素可見性的控制,從而使在不同縮放效果下能夠顯示所需的地理元素,使地圖顯得詳略得當。比如一般WebGIS中的地圖,在不同的放大比例下,顯示的行政區劃級別不同。當地圖放大得比較大時,可以把鄉鎮一級的點顯示出來;縮小時就可以把鄉鎮一級的點隱藏起來。
在SVG中,提供了<g>元素,用來將一批特征類似的圖像元素定義為一個集合,這與地圖圖層管理的概念可謂是不謀而合。<g>元素并非是圖形元素,而是一個容器。可以將任意的圖形元素放在<g>元素下,使他們成為一組。正是由于在SVG中有組元素<g>的存在,所以在進行地理元素分層的時候,我們可以將同一個層的元素放在一個<g>元素中,形成某個特定圖層。
在實際應用中完整SVG地圖的大小往往達到數十M,如果在打開SVG地圖是完全加載,對于內存以及處理器資源消耗較大。可以通過對地圖進行分層,分為基礎圖層和功能性圖層,在打開地圖時,先只加載基礎圖層,在需要時在加載功能性圖層再進行加載,可以大大提高SVG加載效率。
SVG地圖綜合了矢量圖形位,圖圖像和純文本的優點,具有統一的標準和開放性,SVG與分辨率無關的矢量型,讓SVG技術越來越多的被使用到地理信息系統中。但是大規模SVG地圖還存在這處理效率底下,傳輸時延大等缺點需要解決。
[1]WangJiayao,WeiHaiping,ChenYi,etal.Researchand Development of spatio-temporal GIS[J].Hydrographic Surveyingand Charting,2004,24(5):1-4.
[2]WorboysMF.Aunifiedmodelforspatialandtemporalinfor mation[J].TheComputerJournal,1994,37(1):26-34.
[3]王家耀,魏海平,成毅,等.時空GIS的研究與進展[J].海洋測繪,2004,24(5):1-4.
[4]萬九香.GIS技術及其應用和發展前景[J].江西通信科技,2008,1.
[5]杜慶峰,徐家偉.DWG地圖到改進規則SVG地圖的轉換方法[J].同濟大學學報(自然科學版),2014,09.