專利名稱:基于SVG的WebGIS系統(tǒng)及相應(yīng)的能耗監(jiān)控系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)絡(luò)地理信息系統(tǒng)應(yīng)用技術(shù)領(lǐng)域,特別涉及一種基于SVG的WebGIS系統(tǒng)及相應(yīng)的能耗監(jiān)控系統(tǒng)。
背景技術(shù):
隨著Internet技術(shù)的發(fā)展,互聯(lián)網(wǎng)絡(luò)地理信息系統(tǒng)(webGIS)成為當(dāng)今地理信息系統(tǒng)(GIS,Geographic Information System)的熱點(diǎn)。萬維網(wǎng)地理信息系統(tǒng)的主要發(fā)展方向之一是多元數(shù)據(jù)訪問,它要求在分布式網(wǎng)絡(luò)中,空間數(shù)據(jù)能夠達(dá)到開放,通過交換格式能夠訪問分布式網(wǎng)絡(luò)中的任何數(shù)據(jù)。目前國(guó)內(nèi)外的WebGIS基本采用兩種地圖生成技術(shù),即柵格圖形技術(shù)和矢量圖形技術(shù)。其中,柵 格圖形技術(shù)的缺點(diǎn)是無法將文本數(shù)據(jù)和幾何表現(xiàn)形式分離,網(wǎng)絡(luò)傳輸數(shù)據(jù)量大,交互性差,且生成柵格圖形需要服務(wù)器端進(jìn)行大量的計(jì)算,不利于GIS多元化多平臺(tái)的發(fā)展和普及。相比于柵格圖形技術(shù),矢量圖形技術(shù)具有的優(yōu)點(diǎn)為:矢量圖形技術(shù)中采用的可升級(jí)矢量圖形(SVG, Scalable Vector Graphic)是一個(gè)開放的二維矢量圖形格式,是擴(kuò)展標(biāo)記語(yǔ)言XML的一個(gè)應(yīng)用;SVG具有任意縮放性、文件尺寸小、易生成、易修改性、強(qiáng)交互性、文本獨(dú)立性、超鏈接性、中立性、平臺(tái)無關(guān)性等特點(diǎn),因此在webGIS中,將地理空間數(shù)據(jù)編碼成SVG格式來進(jìn)行空間技術(shù)存儲(chǔ)、傳輸和表現(xiàn),可有效地消除針對(duì)現(xiàn)有專有空間數(shù)據(jù)格式所產(chǎn)生的數(shù)據(jù)傳播中的問題,此外,SVG中的圖形元素具有動(dòng)畫功能,據(jù)此可以產(chǎn)生動(dòng)畫地圖,使客戶端用戶面前的地圖更具有表現(xiàn)力,因此將SVG用于WebGIS,具有非常重要的意義。目前,在GIS系統(tǒng)中,通常有三種數(shù)據(jù)管理方式,S卩:扁平文件系統(tǒng)式、混合式、純數(shù)據(jù)庫(kù)式。其中,扁平文件系統(tǒng)用按照某種結(jié)構(gòu)組織起來的文件來存儲(chǔ)數(shù)據(jù),文件為空間數(shù)據(jù)文件和屬性數(shù)據(jù)文件,數(shù)據(jù)的管理(即對(duì)文件的操作)通過自己編寫程序來進(jìn)行。混合式采用文件和關(guān)系數(shù)據(jù)庫(kù)兩種形式,關(guān)系數(shù)據(jù)庫(kù)用來存儲(chǔ)有固定長(zhǎng)度的屬性數(shù)據(jù),如文本等,由于空間數(shù)據(jù)和某些屬性數(shù)據(jù)的數(shù)據(jù)量過大,長(zhǎng)度變化范圍寬,不便于傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)來存儲(chǔ),故仍然采用文件來存儲(chǔ),通過編寫程序來管理。或者對(duì)于空間數(shù)據(jù),可以把變長(zhǎng)的空間數(shù)據(jù)分解成固定場(chǎng)的空間數(shù)據(jù),再用數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ),但這樣的空間數(shù)據(jù)庫(kù)會(huì)有很多表存在關(guān)聯(lián)關(guān)系,而關(guān)聯(lián)是數(shù)據(jù)庫(kù)中開銷很大的操作,對(duì)服務(wù)器要求很高。全數(shù)據(jù)庫(kù)式用改進(jìn)后的關(guān)系數(shù)據(jù)庫(kù)來存儲(chǔ)全部數(shù)據(jù),這種改進(jìn)后的數(shù)據(jù)庫(kù)在存儲(chǔ)和訪問變長(zhǎng)字段時(shí)也具有較高的效率,且對(duì)數(shù)據(jù)的管理不需要用戶自己變成實(shí)現(xiàn),但是對(duì)于數(shù)據(jù)長(zhǎng)度完全不同的數(shù)據(jù)存儲(chǔ)就要不斷的新增字段來進(jìn)行存儲(chǔ),因此對(duì)于長(zhǎng)度不固定的數(shù)據(jù)存儲(chǔ),數(shù)據(jù)庫(kù)并不是一個(gè)明智的選擇。所以通常將屬性數(shù)據(jù)存儲(chǔ)在關(guān)系數(shù)據(jù)庫(kù)中,借助數(shù)據(jù)庫(kù)管理系統(tǒng)的組織、查詢、優(yōu)化和并發(fā)控制等優(yōu)點(diǎn)很方便的管理屬性數(shù)據(jù),而空間數(shù)據(jù)使用文件形式存儲(chǔ),這就是混合式的存儲(chǔ)方法。
現(xiàn)有的WebGIS有以下問題:
第一:現(xiàn)有WebGIS的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)沒有采用標(biāo)準(zhǔn)化的存儲(chǔ)規(guī)則,使其存儲(chǔ)和讀取不具有通用性,并且數(shù)據(jù)不具有擴(kuò)展性。第二:對(duì)地理空間數(shù)據(jù)僅進(jìn)行一次數(shù)據(jù)緩存儲(chǔ)數(shù)據(jù),存在即時(shí)數(shù)據(jù)生成現(xiàn)象,這樣服務(wù)器和數(shù)據(jù)庫(kù)的壓力會(huì)非常大,用戶服務(wù)使用地圖時(shí)就容易出現(xiàn)空白區(qū)域;
第三:現(xiàn)有的地理空間數(shù)據(jù),存在一定的封閉性。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于SVG的WebGIS系統(tǒng),以提高SVG的WebGIS系統(tǒng)的性能。本發(fā)明的另一目的在于提供一種基于SVG的WebGIS系統(tǒng)的能耗監(jiān)控系統(tǒng),以實(shí)現(xiàn)對(duì)能耗的圖形化的監(jiān)測(cè)管理。為了實(shí)現(xiàn)上述目的,本發(fā)明公開了一種基于SVG的WebGIS系統(tǒng),包括客戶端和服務(wù)器端,其中:
所述服務(wù)器端包括數(shù)據(jù)持久層、應(yīng)用邏輯層以及Web服務(wù)接口 ;所述數(shù)據(jù)持久層與所述應(yīng)用邏輯層之間進(jìn)行交互;
所述數(shù)據(jù)持久層包括ESRI Shape 空間數(shù)據(jù)文件系統(tǒng)、屬性數(shù)據(jù)庫(kù)以及PEMLW文件系統(tǒng);所述應(yīng)用邏輯層包括Shape文件轉(zhuǎn)換器、SVG組裝器以及數(shù)據(jù)緩存管理器;其中:
所述ESRI Shape空間數(shù)據(jù)文件系統(tǒng)存儲(chǔ)空間幾何地理數(shù)據(jù);
所述屬性數(shù)據(jù)庫(kù)存儲(chǔ)空間幾何地理數(shù)據(jù)的圖元的屬性數(shù)據(jù);
所述PWMLW文件系統(tǒng)存儲(chǔ)空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息;
所述Shape文件轉(zhuǎn)換器將所述ESRI Shape空間數(shù)據(jù)文件系統(tǒng)中的幾何地理數(shù)據(jù)的格式從Shape文件格式轉(zhuǎn)換為SVG格式;
所述SVG組裝器根據(jù)所述PWMLW文件系統(tǒng)存儲(chǔ)的空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息,將經(jīng)所述Shape文件轉(zhuǎn)換器轉(zhuǎn)換后的SVG格式的幾何地理數(shù)據(jù)與所述屬性數(shù)據(jù)庫(kù)存儲(chǔ)的空間幾何地理數(shù)據(jù)的圖元的屬性數(shù)據(jù)進(jìn)行組裝,合并成完整的SVG元素,并將每個(gè)完整的SVG元素再次進(jìn)行組裝,直至形成一完整的SVG地 所述客戶端與所述服務(wù)器端之間通過所述Web服務(wù)接口進(jìn)行交互,所述客戶端通過所述Web服務(wù)接口向所述服務(wù)器端發(fā)送請(qǐng)求,所述服務(wù)器端通過所述Web服務(wù)接口向所述客戶端發(fā)送SVG地 所述數(shù)據(jù)緩存管理器對(duì)所述客戶端請(qǐng)求過的數(shù)據(jù)進(jìn)行緩存,當(dāng)同一資源再一次被訪問時(shí),直接從所述數(shù)據(jù)緩存管理器中讀取數(shù)據(jù)迅速返回給所述客戶端。較佳地,所述數(shù)據(jù)持久層還包括預(yù)生成空間數(shù)據(jù)庫(kù),所述ESRI Shape空間數(shù)據(jù)文件系統(tǒng)中的幾何地理數(shù)據(jù)從Shape文件格式轉(zhuǎn)換為SVG格式后存儲(chǔ)在所述預(yù)生成空間數(shù)據(jù)庫(kù)中。較佳地,所述SVG組裝器根據(jù)所述PWMLW文件系統(tǒng)存儲(chǔ)的空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息,將存儲(chǔ)在所述預(yù)生成空間數(shù)據(jù)庫(kù)中的SVG格式的幾何地理數(shù)據(jù)和所述屬性數(shù)據(jù)庫(kù)存儲(chǔ)的空間幾何地理數(shù)據(jù)的圖元的屬性數(shù)據(jù)進(jìn)行組裝,合并成完整的SVG元素,并將每個(gè)完整的SVG元素再次進(jìn)行組裝,直至形成一完整的SVG地圖。較佳地,所述SVG組裝器將存儲(chǔ)在所述預(yù)生成空間數(shù)據(jù)庫(kù)中的SVG格式的幾何地理數(shù)據(jù)和所述屬性數(shù)據(jù)庫(kù)存儲(chǔ)的空間幾何地理數(shù)據(jù)的圖元的屬性數(shù)據(jù)進(jìn)行組裝,合并成完整的SVG元素,并將每個(gè)完整的SVG元素再次進(jìn)行組裝,直至形成一完整的SVG地圖,具體包括:
1)所述SVG組裝器根據(jù)所述PWMLW文件系統(tǒng)存儲(chǔ)的空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息將所述預(yù)生成空間數(shù)據(jù)庫(kù)中的SVG格式的幾何地理數(shù)據(jù)和所述屬性數(shù)據(jù)庫(kù)存儲(chǔ)的空間幾何地理數(shù)據(jù)的圖元的屬性數(shù)據(jù)進(jìn)行組裝,形成多個(gè)地物實(shí)體對(duì)象;
2)所述SVG組裝器根據(jù)所述PWMLW文件系統(tǒng)存儲(chǔ)的空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息將若干所述地物實(shí)體對(duì)象進(jìn)行組裝,形成多個(gè)圖層對(duì)象;
3)所述SVG組裝器根據(jù)所述PWMLW文件系統(tǒng)存儲(chǔ)的空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息將若干所述圖層對(duì)象進(jìn)行組裝,形成多個(gè)地圖對(duì)象;
4)循環(huán)I)至3),直至形成SVG地圖。較佳地,所述應(yīng)用邏輯層還包括地圖數(shù)據(jù)更新器,用于更新所述ESRI Shape空間數(shù)據(jù)文件系統(tǒng)中的數(shù)據(jù)。較佳地,所述客戶端包括瀏覽器,所述服務(wù)器端通過所述Web服務(wù)接口向所述客戶端發(fā)送的SVG地圖通 過所述瀏覽器顯示。較佳地,所述客戶端還包括SVG圖形查看器,所述SVG圖形查看器作為一插件安裝在所述瀏覽器上,當(dāng)所述瀏覽器不支持SVG格式時(shí),所述SVG圖形查看器為不支持SVG格式的瀏覽器提供支持功能。較佳地,所述客戶端還包括JavaScript解析器,所述JavaScript解析器在所述瀏覽器以及所述SVG圖形查看器上直接執(zhí)行,所述JavaScript解析器對(duì)所述服務(wù)器發(fā)送的SVG地圖進(jìn)行解析,并將解析后的地圖填充到SVG圖形查看器中;其通過所述JavaScript解析器實(shí)現(xiàn)對(duì)SVG地圖的平移、滾動(dòng)縮放、屬性信息查詢、圖層顯示控制。較佳地,所述客戶端通過所述JavaScript解析器與所述服務(wù)器端進(jìn)行異步通訊。為了實(shí)現(xiàn)上述目的,本發(fā)明還公開了一種上述基于SVG的WebGIS系統(tǒng)的地圖查詢方法,其特征在于,包括以下步驟:
所述客戶端通過所述Web服務(wù)接口發(fā)送請(qǐng)求給所述服務(wù)器端;
所述數(shù)據(jù)緩存管理器收到請(qǐng)求后,根據(jù)圖層、坐標(biāo)范圍、縮放等級(jí)參數(shù),先從數(shù)據(jù)緩存管理器中檢索地圖數(shù)據(jù),如果找到匹配的則直接將此數(shù)據(jù)返回給所述客戶端,否則就從所述數(shù)據(jù)持久層中進(jìn)行檢索,并將檢索出的幾何地理數(shù)據(jù)交給所述Shape文件轉(zhuǎn)換器;
所述Shape文件轉(zhuǎn)換器將所述幾何地理數(shù)據(jù)的格式從Shape文件格式轉(zhuǎn)換為SVG格式后發(fā)送給所述SVG組裝器;
所述SVG組裝器根據(jù)所述PWMLW文件系統(tǒng)存儲(chǔ)的空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息,將經(jīng)所述Shape文件轉(zhuǎn)換器轉(zhuǎn)換后的SVG格式的幾何地理數(shù)據(jù)與所述屬性數(shù)據(jù)庫(kù)存儲(chǔ)的空間幾何地理數(shù)據(jù)的圖元的屬性數(shù)據(jù)進(jìn)行循環(huán)組裝,直至完成所需的SVG地圖文檔;所述SVG組裝器將組裝好的SVG地圖文檔進(jìn)行GZIP壓縮后返回給所述客戶端,同時(shí)發(fā)送給所述數(shù)據(jù)緩存管理器進(jìn)行緩存。為了實(shí)現(xiàn)上述目的,本發(fā)明還公開了一種基于SVG的WebGIS系統(tǒng)的能耗監(jiān)控系統(tǒng),利用上述的WebGIS系統(tǒng)進(jìn)行能耗監(jiān)控,該基于SVG的WebGIS系統(tǒng)的能耗監(jiān)控系統(tǒng)將SVG地圖對(duì)應(yīng)的空間幾何地理數(shù)據(jù)分為區(qū)域?qū)印⒕G化層、河流湖泊層、道路層、建筑物層、橋梁層、公交站層、路燈層、攝像監(jiān)控層、水能設(shè)備層、水能管線層、水能傳輸層、電能設(shè)備層、電能纜線層、電能通訊層、燃?xì)庠O(shè)備層、燃?xì)夤芫€層,其SVG地圖也相應(yīng)地分為區(qū)域圖層、綠化圖層、河流湖泊圖層、道路圖層、建筑物圖層、橋梁圖層、公交站圖層、路燈圖層、攝像監(jiān)控圖層、水能設(shè)備圖層、水能管線圖層、水能傳輸圖層、電能設(shè)備圖層、電能纜線圖層、電能通訊圖層、燃?xì)庠O(shè)備圖層、燃?xì)夤芫€圖層;在使用該基于SVG的WebGIS系統(tǒng)的能耗監(jiān)控系統(tǒng)時(shí),只需在客戶端切換需要關(guān)注的圖層即可查看該圖層中相應(yīng)的信息。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果如下:
1、標(biāo)準(zhǔn)化。采用基于W3C標(biāo)準(zhǔn)的數(shù)據(jù)結(jié)構(gòu)作為地圖的呈現(xiàn)形式,圖形美觀、文件標(biāo)準(zhǔn)統(tǒng)一、可讀性強(qiáng)、靈活易用。2、高性能。由于對(duì)地理空間數(shù)據(jù)進(jìn)行了多重緩存處理和預(yù)生成處理,基本不存在即時(shí)數(shù)據(jù)生成的現(xiàn)象,服務(wù)器和數(shù)據(jù)庫(kù)的壓力大大降低,用戶使用地圖時(shí)不會(huì)出現(xiàn)空白區(qū)域,體驗(yàn)非常好。3、輕便性。數(shù)據(jù)量和程序控制代碼量少,在保證功能完善的基礎(chǔ)上,執(zhí)行效率高,占用資源少。4、及時(shí)性。SVG幾何數(shù)據(jù)和屬性數(shù)據(jù)是相對(duì)分離的,更新地形數(shù)據(jù)時(shí)不會(huì)影響至IJ相關(guān)的附加屬性信息,所以地圖數(shù)據(jù)的更新操作相對(duì)簡(jiǎn)單很多。5、高擴(kuò)展性。與傳統(tǒng)的GIS的內(nèi)容簡(jiǎn)單和千般一律的單調(diào)界面相比,本系統(tǒng)可提供豐富的動(dòng)態(tài)的和個(gè)性定制的數(shù)據(jù)信息,且SVG具有任意縮放性、易修改性、強(qiáng)交互性、文本獨(dú)立性、超鏈接性、中·立性、平臺(tái)無關(guān)性等特點(diǎn),我們提供了很多功能上的擴(kuò)展,用戶可以很方便的將自己的應(yīng)用和本系統(tǒng)集成起來。6、開放性。本發(fā)明使用Web Service處理地理空間數(shù)據(jù),提供了一個(gè)開放的、可互操作、動(dòng)態(tài)鏈接的空間信息服務(wù)平臺(tái)。同時(shí),Web Service是基于XML文檔進(jìn)行服務(wù)描述、服務(wù)請(qǐng)求和反饋結(jié)果的,與同樣基于XML的SVG可以無縫集成。7、用戶友好性。本發(fā)明在瀏覽器端增加了一個(gè)層一Ajax (AsynchronousJavaScript and XML),用戶觸發(fā)的請(qǐng)求就交予這個(gè)引擎處理,它負(fù)責(zé)向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器傳回的是業(yè)務(wù)數(shù)據(jù)而非HTML頁(yè)面,引擎接收之后,進(jìn)行渲染,通過瀏覽器解析在頁(yè)面上呈現(xiàn)出來,在WebGIS地圖中使用Ajax技術(shù)進(jìn)行局部刷新可以大大提高系統(tǒng)的用戶友好性,用戶甚至不知道瀏覽器正在于服務(wù)器通信。
圖1為本發(fā)明具體實(shí)施例基于SVG的WebGIS的結(jié)構(gòu)示意 圖2為本發(fā)明具體實(shí)施例地理空間數(shù)據(jù)的結(jié)構(gòu)示意 圖3為本發(fā)明具體實(shí)施例查詢方法的工作示意 圖4為本發(fā)明提供的多級(jí)緩存的示意圖。
具體實(shí)施方式
:下方結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步的描述。
實(shí)施例如圖1,一種基于SVG和空間數(shù)據(jù)庫(kù)的WebGIS系統(tǒng),包括客戶端I和服務(wù)器端2 ;服務(wù)器端2包括數(shù)據(jù)持久層4、應(yīng)用邏輯層3和Web服務(wù)接口 12 ;數(shù)據(jù)持久層4與應(yīng)用邏輯層3之間進(jìn)行數(shù)據(jù)交互,客戶端I與服務(wù)器端2通過Web服務(wù)接口 12進(jìn)行數(shù)據(jù)交互。如圖1,數(shù)據(jù)持久層4包括ESRI Shape空間數(shù)據(jù)文件系統(tǒng)16、屬性數(shù)據(jù)庫(kù)10以及PEMLW文件系統(tǒng)9,其中:ESRI Shape空間數(shù)據(jù)文件系統(tǒng)16存儲(chǔ)空間幾何地理數(shù)據(jù);屬性數(shù)據(jù)庫(kù)10存儲(chǔ)空間幾何地理數(shù)據(jù)的圖元的屬性數(shù)據(jù);PEMLW文件系統(tǒng)9存儲(chǔ)空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息。其中,屬性數(shù)據(jù)庫(kù)10采用SQL Serve數(shù)據(jù)庫(kù),并且其可進(jìn)一步包括SQL Serve數(shù)據(jù)庫(kù)緩存單元,以起到加快數(shù)據(jù)庫(kù)的響應(yīng)速度的作用。如圖1,所述應(yīng)用邏輯層3包括數(shù)據(jù)緩存管理器5、Shape文件轉(zhuǎn)換器8以及SVG組裝器6 ;其中=Shape文件轉(zhuǎn)換器8負(fù)責(zé)將ESRI Shape空間數(shù)據(jù)文件系統(tǒng)16中的幾何地理數(shù)據(jù)的格式從Shape文件格式轉(zhuǎn)換為SVG格式;SVG組裝器6根據(jù)所述PWMLW文件系統(tǒng)9存儲(chǔ)的空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息,將經(jīng)所述Shape文件轉(zhuǎn)換器8轉(zhuǎn)換后的SVG格式的幾何地理數(shù)據(jù)與所述屬性數(shù)據(jù)庫(kù)10存儲(chǔ)的空間幾何地理數(shù)據(jù)的圖元的屬性數(shù)據(jù)進(jìn)行組裝,合并成完整的SVG元素,并將每個(gè)完整的SVG元素再次進(jìn)行組裝,直至形成一完整的SVG地 所述客戶端I通過所述Web服務(wù)接口 12向所述服務(wù)器端2發(fā)送請(qǐng)求,所述服務(wù)器端2通過所述Web服務(wù)接口 12向所述客戶端I發(fā)送SVG地 所述數(shù)據(jù)緩存管理器5對(duì)所述客戶端I請(qǐng)求過的數(shù)據(jù)進(jìn)行緩存,當(dāng)同一資源再一次被訪問時(shí),直接從所述數(shù)據(jù)緩存管理器5中讀取數(shù)據(jù)迅速返回給所述客戶端I。并且為了進(jìn)一步提高服務(wù)器端的響應(yīng)能力,本發(fā)明采用了三級(jí)高速緩存技術(shù),最大限度的提高服務(wù)器的響應(yīng)能力。三級(jí)高速緩存分別位于數(shù)據(jù)持久層4的空間數(shù)據(jù)緩存,應(yīng)用邏輯層3的SVG地圖緩存和客戶端緩存,前兩種緩存都是基于一個(gè)存儲(chǔ)鍵/值對(duì)的hashmap,數(shù)據(jù)是以key/value的配對(duì)方式存在的,就像一個(gè)很大的Hash表,見圖4。數(shù)據(jù)持久層的屬性數(shù)據(jù)庫(kù)10主要應(yīng)用SQLSERVER數(shù)據(jù)庫(kù)緩存依賴,GIS服務(wù)器的性能瓶頸大部分是在查詢數(shù)據(jù)庫(kù)的時(shí)候,所以針對(duì)數(shù)據(jù)庫(kù)的緩存非常的重要,本發(fā)明通過一系列配置實(shí)現(xiàn)了 SQL Server數(shù)據(jù)庫(kù)的緩存,當(dāng)數(shù)據(jù)表沒有更新時(shí),就從緩存中讀取,當(dāng)有數(shù)據(jù)更新時(shí)才從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)。比如在GIS中經(jīng)常查詢的建筑物的基本信息,我們將建筑物信息數(shù)據(jù)表緩存起來,當(dāng)有建筑物信息的請(qǐng)求道來時(shí),就不需要再?gòu)臄?shù)據(jù)庫(kù)中讀取了,加快了系統(tǒng)的響應(yīng)速度。數(shù)據(jù)庫(kù)持久層的空間地理數(shù)據(jù)和應(yīng)用邏輯層采用了分布式內(nèi)存對(duì)象緩存技術(shù)。其中,應(yīng)用邏輯層還包括一負(fù)載平衡管理器,負(fù)載平衡顧名思義就是負(fù)責(zé)處理服務(wù)器端的負(fù)載平衡,它對(duì)接受到的請(qǐng)求進(jìn)行分析,然后將請(qǐng)求發(fā)送到負(fù)載壓力較小的服務(wù)器進(jìn)行處理,從而提高服務(wù)器的響應(yīng)速度。所謂分布式就是說可以通過多臺(tái)服務(wù)器來組建一個(gè)更大的緩存服務(wù)器,通過在內(nèi)存中緩存數(shù)據(jù)和對(duì)象來減少讀取數(shù)據(jù)庫(kù)的次數(shù),從而提高web應(yīng)用程序的響應(yīng)速度。比 如客戶端請(qǐng)求圖層L、縮放等級(jí)A、坐標(biāo)范圍C內(nèi)的數(shù)據(jù),數(shù)據(jù)緩存管理器會(huì)先查看分布式內(nèi)存對(duì)象緩存系統(tǒng)中是否有緩存,如果有就直接從緩存中取出數(shù)據(jù);如果沒有,就從數(shù)據(jù)庫(kù)中取出數(shù)據(jù)返回給負(fù)載平衡管理器并將請(qǐng)求的數(shù)據(jù)緩存到分布式內(nèi)存對(duì)象緩存系統(tǒng)中,這樣下一次請(qǐng)求相同的數(shù)據(jù)就可以直接從內(nèi)存中讀取而不用再去查詢數(shù)據(jù)庫(kù)了,一旦對(duì)數(shù)據(jù)有更新,同時(shí)更新數(shù)據(jù)庫(kù)和內(nèi)存中的緩存,保證了數(shù)據(jù)的準(zhǔn)確性和同步性。通過大量的測(cè)試和實(shí)踐,應(yīng)用邏輯層的高速緩存技術(shù)可以將單臺(tái)服務(wù)器的并發(fā)訪問數(shù)從20提高到1000左右,也就是提高了 50倍,這是一個(gè)非??捎^的性能提升??蛻舳司彺嬷饕峭ㄟ^瀏覽器和SVG圖形查看器本身的緩存來實(shí)現(xiàn)的。為了提高系統(tǒng)的處理速度,數(shù)據(jù)持久層4還包括預(yù)生成空間數(shù)據(jù)庫(kù)11,預(yù)生成空間數(shù)據(jù)庫(kù)11存儲(chǔ)ESRI Shape空間數(shù)據(jù)文件系統(tǒng)16中的幾何地理數(shù)據(jù)經(jīng)Shape文件轉(zhuǎn)換器轉(zhuǎn)換,并經(jīng)過整理后得到的SVG格式的圖元文檔;該預(yù)生成空間數(shù)據(jù)庫(kù)11還包括空間幾何數(shù)據(jù)緩存單元,其可加快空間幾何數(shù)據(jù)的處理速度。通過Shape文件轉(zhuǎn)換器,將ESRI Shape文件系統(tǒng)中的空間幾何數(shù)據(jù)單元和對(duì)應(yīng)的屬性數(shù)據(jù)進(jìn)行拼裝并轉(zhuǎn)化為SVG格式的元素片段,經(jīng)過處理后存儲(chǔ)于預(yù)生成空間數(shù)據(jù)庫(kù)中集中管理,當(dāng)有數(shù)據(jù)請(qǐng)求時(shí),直接訪問預(yù)生成空間數(shù)據(jù)庫(kù)。 其中,SVG組裝器6的組裝方式為:SVG組裝器6根據(jù)PWMLW文件系統(tǒng)9中存儲(chǔ)的空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息,將存儲(chǔ)在預(yù)生成空間數(shù)據(jù)庫(kù)11中的SVG格式的幾何地理數(shù)據(jù)和屬性數(shù)據(jù)庫(kù)10中存儲(chǔ)的空間幾何地理數(shù)據(jù)的圖元的屬性數(shù)據(jù)進(jìn)行組裝,合并成完整的SVG元素,并將每個(gè)完整的SVG元素再次進(jìn)行組裝,直至形成一完整的SVG地圖。具體包括以下過程:
DSVG組裝器6根據(jù)PWMLW文件系統(tǒng)9中存儲(chǔ)的空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息將預(yù)生成空間數(shù)據(jù)庫(kù)11中的SVG格式的幾何地理數(shù)據(jù)和屬性數(shù)據(jù)庫(kù)10中存儲(chǔ)的空間幾何地理數(shù)據(jù)的圖元的屬性數(shù)據(jù)進(jìn)行組裝,形成多個(gè)地物實(shí)體對(duì)象;
2)SVG組裝器6根據(jù)PWMLW文件系統(tǒng)9中存儲(chǔ)的空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息將若干所述地物實(shí)體對(duì)象進(jìn)行組裝,形成多個(gè)圖層對(duì)象;
3)SVG組裝器6根據(jù)PWMLW文件系統(tǒng)9中存儲(chǔ)的空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息將若干所述圖層對(duì)象進(jìn)行組裝,形成多個(gè)地圖對(duì)象;
4)循環(huán)I)至3),直至形成SVG地圖。在一些實(shí)施例中,應(yīng)用邏輯層3還包括地圖數(shù)據(jù)更新器7,負(fù)責(zé)更新ESRI Shape空間數(shù)據(jù)文件系統(tǒng)16中的Shape文件數(shù)據(jù)。如圖1,所述客戶端I包括:瀏覽器13,服務(wù)器端2通過所述Web服務(wù)接口 12向所述客戶端I發(fā)送的SVG地圖通過瀏覽器13進(jìn)行顯示,因此所述瀏覽器13是訪問基于SVG的WebGIS的工具。為了增強(qiáng)系統(tǒng)的兼容性,在較佳實(shí)施例中,所述客戶端I還包括SVG圖形查看器15,其為安裝在瀏覽器上的一個(gè)插件,SVG圖形查看器15為某些不支持SVG文檔格式的瀏覽器提供支持功能。并且,在較佳實(shí)施例中,所述客戶端I還包括Javascript解析器14,其用于實(shí)現(xiàn)SVG WebGIS的平移、滾動(dòng)縮放、屬性信息查詢、圖層顯示控制、與服務(wù)器異步通訊、解析服務(wù)器端發(fā)送來的SVG文檔并填充到SVG圖形查看器中的操作,所述JavaScript解析器14還可以用于定義與SVG地圖交互的其他應(yīng)用程序接口, 供其他地圖應(yīng)用開發(fā)人員進(jìn)行調(diào)用,進(jìn)而開發(fā)出功能更豐富的SVG地圖應(yīng)用。所述客戶端I還包括客戶端緩存單元,所述客戶端緩存單元加快客戶端的響應(yīng)處理速度。以下對(duì)本發(fā)明形成SVG地圖的原理進(jìn)行具體說明:
地理空間數(shù)據(jù)是用來描述地理空間現(xiàn)象的,一般分為空間幾何數(shù)據(jù)和屬性數(shù)據(jù),由于空間幾何數(shù)據(jù)比較復(fù)雜,且SVG目前僅支持一些基本的圖形元素,所以將空間幾何數(shù)據(jù)按空間實(shí)體模型來組織(所謂空間實(shí)體模型即每個(gè)空間實(shí)體對(duì)象的接點(diǎn)都是直接存儲(chǔ)在實(shí)體對(duì)象內(nèi)部的,獨(dú)立的),具體實(shí)施為:將現(xiàn)實(shí)世界中的地物分為簡(jiǎn)單地物與復(fù)雜地物兩大類,簡(jiǎn)單地物又分為點(diǎn)狀體悟、線狀地圖、面狀地物,復(fù)雜地物是有多個(gè)簡(jiǎn)單地圖構(gòu)成。另外,各地物實(shí)體由目標(biāo)識(shí)別碼、描述該地物的集合數(shù)據(jù)和屬性數(shù)據(jù)組成。和一般GIS系統(tǒng)(如Arc)不同,在基于SVG的WebGIS中一個(gè)圖層可以包含不同類型的地理實(shí)體,而若干個(gè)圖層可組成一個(gè)地圖。如圖2所示,一個(gè)地圖對(duì)象可分為若干個(gè)圖層對(duì)象,而某一個(gè)圖層對(duì)象又包括若干個(gè)地物對(duì)象,所有地圖對(duì)象均采用SVG所提供的分組標(biāo)簽來表示,用標(biāo)簽的ID屬性來表示對(duì)象編號(hào),如:約定地圖對(duì)象以“M”字母開頭;圖層對(duì)象以“L”字母開頭;實(shí)體對(duì)象以“R”標(biāo)示,針對(duì)點(diǎn)狀地物、線狀地物、面狀地物、復(fù)雜地物分別以“RP”,“RL”,“RA”,“RC”開頭。SVG提供的圖形元素可直接描述這些地物:點(diǎn)狀地物用symol元素定義,然后用use元素引用,線狀地物用circle, rect, polyline, path等元素表示,面狀地物用circle, rect, polyline, path 等兀素表不?;赟VG的WebGIS地圖數(shù)據(jù)存儲(chǔ)方法:各地物實(shí)體由目標(biāo)識(shí)別碼、描述該地鐵的集合數(shù)據(jù)和屬性數(shù)據(jù)組成,在基于SVG的WebGIS中一個(gè)圖層可以包含不同類型的地理實(shí)體,而若干個(gè)圖層可組成一個(gè)地圖,空間地理數(shù)據(jù)以Shape文件形式存儲(chǔ)在ESRI Shape空間數(shù)據(jù)文件系統(tǒng)中,屬性數(shù)據(jù)存儲(chǔ)于屬性數(shù)據(jù)庫(kù)10中,屬性數(shù)據(jù)庫(kù)10為關(guān)系數(shù)據(jù)庫(kù);所述Shape文件使用簡(jiǎn)單的非拓?fù)涓袷酱鎯?chǔ)地理對(duì)象的位置信息和屬性信息,Shape文件是矢量格式地圖文件,其坐標(biāo)為笛卡爾坐標(biāo),在Shape地圖文件中,圖層中每一個(gè)地理要素的幾何形狀以一組矢量坐標(biāo)形式存儲(chǔ),對(duì)應(yīng)屬性信息存放在與Shape文件相連的屬性數(shù)據(jù)庫(kù)(dBase)的數(shù)據(jù)表中,并通 過唯一的標(biāo)識(shí)進(jìn)行關(guān)聯(lián);每一個(gè)Shape文件存儲(chǔ)某一種類型的地理要素,每一個(gè)要素相當(dāng)于數(shù)據(jù)表中的一行記錄,ESRI Shape文件格式將位置信息和屬性信息分別存放在一組擴(kuò)展文件名特定的文件中,這些文件存放在同一目錄中,這組文件包含一個(gè)主文件,一個(gè)dBase表格文件和一個(gè)索引文件,
主文件以.shp為擴(kuò)展名,是一個(gè)直接存取的記錄長(zhǎng)度不一的文件,其中每一條記錄存儲(chǔ)一個(gè)對(duì)象的幾何信息;
索引文件以.shx為擴(kuò)展名,在索引文件中,每一條記錄保存主文件中對(duì)應(yīng)的一條記錄其相對(duì)于主文件起始位置的偏移值;
dBase表格文件以.dbf為擴(kuò)展名,它包含對(duì)象的屬性信息,一條記錄對(duì)應(yīng)一個(gè)對(duì)象,屬性和對(duì)象的聯(lián)系是基于記錄號(hào)(record number)的,屬性記錄在dbase表格文件的存儲(chǔ)順序與其對(duì)應(yīng)的地理位置信息記錄在主文件中的順序一致。所述屬性數(shù)據(jù)存儲(chǔ)時(shí)在數(shù)據(jù)庫(kù)中建立關(guān)系表,每個(gè)圖元都有對(duì)應(yīng)的一個(gè)數(shù)據(jù)屬性鏈接,在表中存儲(chǔ)該類圖元所有實(shí)例的屬性。在WebGIS使用Shape數(shù)據(jù)時(shí),將Shape文件通過工具轉(zhuǎn)換為SVG格式的文檔,整理后存儲(chǔ)在預(yù)生成空間數(shù)據(jù)庫(kù),再通過SVG組裝器將其和對(duì)應(yīng)的屬性數(shù)據(jù)組裝起來,直至完成所需的SVG地圖文檔。如圖3,基于SVG的WebGIS系統(tǒng)的地圖查詢方法,其包括如下步驟:
S1:客戶端通過所述Web服務(wù)接口發(fā)送請(qǐng)求給所述服務(wù)器端;
52:數(shù)據(jù)緩存管理器收到請(qǐng)求后,根據(jù)圖層、坐標(biāo)范圍、縮放等級(jí)參數(shù),先從數(shù)據(jù)緩存管理器中檢索地圖數(shù)據(jù),如果找到匹配的則直接將此數(shù)據(jù)返回給所述客戶端,否則就從所述數(shù)據(jù)持久層中進(jìn)行檢索,并將檢索出的幾何地理數(shù)據(jù)交給所述Shape文件轉(zhuǎn)換器;
53:Shape文件轉(zhuǎn)換器將所述幾何地理數(shù)據(jù)的格式從Shape文件格式轉(zhuǎn)換為SVG格式后發(fā)送給所述SVG組裝器;
54=SVG組裝器根據(jù)所述PWMLW文件系統(tǒng)存儲(chǔ)的空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息,將經(jīng)所述Shape文件轉(zhuǎn)換器轉(zhuǎn)換后的SVG格式的幾何地理數(shù)據(jù)與所述屬性數(shù)據(jù)庫(kù)存儲(chǔ)的空間幾何地理數(shù)據(jù)的圖元的屬性數(shù)據(jù)進(jìn)行循環(huán)組裝,直至完成所需的SVG地圖文檔;
55=SVG組裝器將組裝好的SVG地圖文檔進(jìn)行GZIP壓縮后返回給所述客戶端,同時(shí)發(fā)送給所述數(shù)據(jù)緩存管理器進(jìn)行緩存。其中,在SVG中定義自己的坐標(biāo)系,是在SVG中定義坐標(biāo)變換(transform),其含義類似于解析幾何中的坐標(biāo)變換和映射規(guī)則,可對(duì)一個(gè)或一組圖形對(duì)象進(jìn)行平移、縮放、旋轉(zhuǎn)、錯(cuò)切,具體的轉(zhuǎn)換方式如下:translate(x, y):圖形元素按指定數(shù)值分別在X、Y軸方向進(jìn)行偏移;scale (x,y):圖形元素 的按指定數(shù)值分別在X、Y軸方向進(jìn)行縮放,如果只指定一個(gè)值,它將用于兩個(gè)方向;rotate(n):圖形元素按指定的角度進(jìn)行旋轉(zhuǎn)。在瀏覽器中,SVG文件的繪圖區(qū)域在一個(gè)確定的矩形視口,<svg>標(biāo)記有“width”和”height”屬性,它們用來標(biāo)記SVG圖形渲染時(shí)的視口大?。辉L問SVG文檔時(shí),客戶端首先初始化視口,建立視口坐標(biāo)系,其默認(rèn)遠(yuǎn)點(diǎn)在視口的左上角,X軸正方向水平向右,Y軸正方向豎直向下。通過控制SVG文檔的根元素屬性viewbox,改變視窗口的左上角坐標(biāo)和右下角坐標(biāo),實(shí)現(xiàn)圖形的縮放顯示;SVG標(biāo)簽的viewbox屬性允許水平或垂直移動(dòng)和縮放原始圖形,這個(gè)屬性包含4個(gè)數(shù)字來指定左上角坐標(biāo)和右下角坐標(biāo),這些坐標(biāo)可以是經(jīng)過平移和縮放變換計(jì)算之后的新視窗坐標(biāo)。在基于SVG的WebGIS系統(tǒng)中還可以進(jìn)行地物屬性數(shù)據(jù)的查詢,具體為:屬性數(shù)據(jù)與幾何圖形數(shù)據(jù)分開存儲(chǔ),SVG文檔中僅存儲(chǔ)地物的圖形幾何數(shù)據(jù),而屬性數(shù)據(jù)存放在服務(wù)器端的屬性數(shù)據(jù)庫(kù)中,兩者通過“地物標(biāo)識(shí)號(hào)”進(jìn)行連接,通過JavaScript程序通過委托方式給SVG地圖中的每個(gè)地物對(duì)象增加一個(gè)鼠標(biāo)單擊事件,當(dāng)用戶點(diǎn)擊一個(gè)地物時(shí),JavaScript會(huì)獲取到當(dāng)前地物的“地物標(biāo)識(shí)號(hào)”,然后通過異步通訊技術(shù)將“地物標(biāo)識(shí)號(hào)”發(fā)送給服務(wù)器進(jìn)行查詢,服務(wù)器返回?cái)?shù)據(jù)以后再以彈出浮動(dòng)層的形式顯示出來。并且還能進(jìn)行地層的控制,具體為:首先通過JavaScript的getElementByld方法找到g分組標(biāo)簽,然后設(shè)置該元素的可視(Visibility)屬性值為隱藏(hidden)或可見(visible)即可實(shí)現(xiàn)對(duì)圖層關(guān)閉和顯示控制;其中,getElementByld是JavaScript中的語(yǔ)法,其含義是通過元素的ID特性來獲取元素。本發(fā)明在基于SVG的WebGIS系統(tǒng)的基礎(chǔ)上,還提供了一種的基于SVG的WebGIS系統(tǒng)能耗監(jiān)控系統(tǒng),該基于SVG的WebGIS系統(tǒng)的能耗監(jiān)控系統(tǒng)將SVG地圖對(duì)應(yīng)的空間幾何地理數(shù)據(jù)分為區(qū)域?qū)?、綠化層、河流湖泊層、道路層、建筑物層、橋梁層、公交站層、路燈層、攝像監(jiān)控層、水能設(shè)備層、水能管線層、水能傳輸層、電能設(shè)備層、電能纜線層、電能通訊層、燃?xì)庠O(shè)備層、燃?xì)夤芫€層,其SVG地圖也相應(yīng)地分為區(qū)域圖層、綠化圖層、河流湖泊圖層、道路圖層、建筑物圖層、橋梁圖層、公交站圖層、路燈圖層、攝像監(jiān)控圖層、水能設(shè)備圖層、水能管線圖層、水能傳輸圖層、電能設(shè)備圖層、電能纜線圖層、電能通訊圖層、燃?xì)庠O(shè)備圖層、燃?xì)夤芫€圖層;在使用該基于SVG的WebGIS系統(tǒng)的能耗監(jiān)控系統(tǒng)時(shí),只需在客戶端切換需要關(guān)注的圖層即可查看該圖層中相應(yīng)的信息。下面以兩個(gè)操作案例說明下基于SVG的WebGIS在能耗監(jiān)測(cè)管理分析平臺(tái)中的應(yīng)用:
1.用戶切換出”水能設(shè)備層”,地圖中會(huì)將和水相關(guān)的能源設(shè)備(水表、采集器、信號(hào)中繼器、信號(hào)集中器)圖標(biāo)顯示出來,用戶通過縮放、平移找到自己要關(guān)注的水能設(shè)備,也可以通過綜合查詢定位到要關(guān)注的水能設(shè)備,點(diǎn)擊圖標(biāo)會(huì)將該設(shè)備的基本信息、水用量柱狀圖表展示出來;
2.用戶切換出”攝像監(jiān)控層”,地圖中會(huì)將監(jiān)控設(shè)備的圖標(biāo)顯示出來,用戶通過縮放、平移找到自己要關(guān)注的監(jiān)控設(shè)備,也可以通過綜合查詢定位到要關(guān)注的監(jiān)控設(shè)備,點(diǎn)擊圖標(biāo)會(huì)將彈出一個(gè)窗口,里面顯示的是這個(gè)監(jiān)控設(shè)備的視頻畫面。以上只是兩個(gè)操作案例,用戶還可以使用該基于SVG的WebGIS系統(tǒng)的能耗監(jiān)控系統(tǒng)對(duì)其它圖層信息進(jìn)行查看。本發(fā)明通過在能耗監(jiān)測(cè)管理分析平臺(tái)中集成基于SVG的WebGIS應(yīng)用,實(shí)現(xiàn)圖形化的監(jiān)測(cè)管理,可提 供直觀、簡(jiǎn)明、快捷的數(shù)據(jù)信息查詢和決策支持服務(wù),同時(shí)將系統(tǒng)中不相關(guān)的功能模塊整合到了一起,用戶在地圖界面上只需切換到需要關(guān)注的圖層即可獲取相應(yīng)的信息,提高用戶的管理效率。本發(fā)明優(yōu)選實(shí)施例只是用于幫助闡述本發(fā)明。優(yōu)選實(shí)施例并沒有詳盡敘述所有的細(xì)節(jié),也不限制該發(fā)明僅為所述的具體實(shí)施方式
。顯然,根據(jù)本說明書的內(nèi)容,可作很多的修改和變化。本說明書選取并具體描述這些實(shí)施例,是為了更好地解釋本發(fā)明的原理和實(shí)際應(yīng)用,從而使所屬技術(shù)領(lǐng)域技術(shù)人員能很好地利用本發(fā)明。本發(fā)明僅受權(quán)利要求書及其全部范圍和等效物的限制。
權(quán)利要求
1.一種基于SVG的WebGIS系統(tǒng),其特征在于,包括客戶端和服務(wù)器端,其中: 所述服務(wù)器端包括數(shù)據(jù)持久層、應(yīng)用邏輯層以及Web服務(wù)接口 ;所述數(shù)據(jù)持久層與所述應(yīng)用邏輯層之間進(jìn)行交互; 所述數(shù)據(jù)持久層包括ESRI Shape空間數(shù)據(jù)文件系統(tǒng)、屬性數(shù)據(jù)庫(kù)以及PEMLW文件系統(tǒng);所述應(yīng)用邏輯層包括Shape文件轉(zhuǎn)換器、SVG組裝器以及數(shù)據(jù)緩存管理器;其中: 所述ESRI Shape空間數(shù)據(jù)文件系統(tǒng)存儲(chǔ)空間幾何地理數(shù)據(jù); 所述屬性數(shù)據(jù)庫(kù)存儲(chǔ)空間幾何地理數(shù)據(jù)的圖元的屬性數(shù)據(jù); 所述PWMLW文件系統(tǒng)存儲(chǔ)空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息; 所述Shape文件轉(zhuǎn)換器將所述ESRI Shape空間數(shù)據(jù)文件系統(tǒng)中的幾何地理數(shù)據(jù)的格式從Shape文件格式轉(zhuǎn)換為SVG格式; 所述SVG組裝器根據(jù)所述PWMLW文件系統(tǒng)存儲(chǔ)的空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息,將經(jīng)所述Shape文件轉(zhuǎn)換器轉(zhuǎn)換后的SVG格式的幾何地理數(shù)據(jù)與所述屬性數(shù)據(jù)庫(kù)存儲(chǔ)的空間幾何地理數(shù)據(jù)的圖元的屬性數(shù)據(jù)進(jìn)行組裝,合并成完整的SVG元素,并將每個(gè)完整的SVG元素再次進(jìn)行組裝,直至形成一完整的SVG地圖; 所述客戶端與所述服務(wù)器端之間通過所述Web服務(wù)接口進(jìn)行交互,所述客戶端通過所述Web服務(wù)接口向所述服務(wù)器端發(fā)送請(qǐng)求,所述服務(wù)器端通過所述Web服務(wù)接口向所述客戶端發(fā)送SVG地圖; 所述數(shù)據(jù)緩存管理器對(duì)所述客戶端請(qǐng)求過的數(shù)據(jù)進(jìn)行緩存,當(dāng)同一資源再一次被訪問時(shí),直接從所述數(shù)據(jù)緩存管理器中讀取數(shù)據(jù)迅速返回給所述客戶端。
2.根據(jù)權(quán)利要求1所述的基于SVG的WebGIS系統(tǒng),其特征在于,所述數(shù)據(jù)持久層還包括預(yù)生成空間數(shù)據(jù)庫(kù),所述ESRI Shape空間數(shù)據(jù)文件系統(tǒng)中的幾何地理數(shù)據(jù)從Shape文件格式轉(zhuǎn)換為SVG格式后存儲(chǔ)在所述預(yù)生成空間數(shù)據(jù)庫(kù)中。
3.根據(jù)權(quán)利要求2所述的基于SVG的WebGIS系統(tǒng),其特征在于,所述SVG組裝器根據(jù)所述PWMLW文件系統(tǒng)存儲(chǔ)的空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息,將存儲(chǔ)在所述預(yù)生成空間數(shù)據(jù)庫(kù)中的SVG格式的幾何地理數(shù)據(jù)和所述屬性數(shù)據(jù)庫(kù)存儲(chǔ)的空間幾何地理數(shù)據(jù)的圖元的屬性數(shù)據(jù)進(jìn)行組裝,合并成完整的SVG元素,并將每個(gè)完整的SVG元素再次進(jìn)行組裝,直至形成一完整的SVG地圖。
4.根據(jù)權(quán)利要求3所述的基于SVG的WebGIS系統(tǒng),其特征在于,所述SVG組裝器將存儲(chǔ)在所 述預(yù)生成空間數(shù)據(jù)庫(kù)中的SVG格式的幾何地理數(shù)據(jù)和所述屬性數(shù)據(jù)庫(kù)存儲(chǔ)的空間幾何地理數(shù)據(jù)的圖元的屬性數(shù)據(jù)進(jìn)行組裝,合并成完整的SVG元素,并將每個(gè)完整的SVG元素再次進(jìn)行組裝,直至形成一完整的SVG地圖,具體包括: .1)所述SVG組裝器根據(jù)所述PWMLW文件系統(tǒng)存儲(chǔ)的空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息將所述預(yù)生成空間數(shù)據(jù)庫(kù)中的SVG格式的幾何地理數(shù)據(jù)和所述屬性數(shù)據(jù)庫(kù)存儲(chǔ)的空間幾何地理數(shù)據(jù)的圖元的屬性數(shù)據(jù)進(jìn)行組裝,形成多個(gè)地物實(shí)體對(duì)象; .2 )所述SVG組裝器根據(jù)所述PWMLW文件系統(tǒng)存儲(chǔ)的空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息將若干所述地物實(shí)體對(duì)象進(jìn)行組裝,形成多個(gè)圖層對(duì)象; .3)所述SVG組裝器根據(jù)所述PWMLW文件系統(tǒng)存儲(chǔ)的空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息將若干所述圖層對(duì)象進(jìn)行組裝,形成多個(gè)地圖對(duì)象; .4)循環(huán)I)至3),直至形成SVG地圖。
5.根據(jù)權(quán)利要求4所述的基于SVG的WebGIS系統(tǒng),其特征在于,所述應(yīng)用邏輯層還包括地圖數(shù)據(jù)更新器,用于更新所述ESRI Shape空間數(shù)據(jù)文件系統(tǒng)中的數(shù)據(jù)。
6.根據(jù)權(quán)利要求1所述的基于SVG的WebGIS系統(tǒng),其特征在于,所述客戶端包括瀏覽器,所述服務(wù)器端通過所述Web服務(wù)接口向所述客戶端發(fā)送的SVG地圖通過所述瀏覽器顯/Jn ο
7.根據(jù)權(quán)利要求6所述的基于SVG的WebGIS系統(tǒng),其特征在于,所述客戶端還包括SVG圖形查看器,所述SVG圖形查看器作為一插件安裝在所述瀏覽器上,當(dāng)所述瀏覽器不支持SVG格式時(shí),所述SVG圖形查看器為不支持SVG格式的瀏覽器提供支持功能。
8.根據(jù)權(quán)利要求7所述的基于SVG的WebGIS系統(tǒng),其特征在于,所述客戶端還包括JavaScript解析器,所述JavaScript解析器在所述瀏覽器以及所述SVG圖形查看器上直接執(zhí)行,所述JavaScript解析器對(duì)所述服務(wù)器發(fā)送的SVG地圖進(jìn)行解析,并將解析后的地圖填充到SVG圖形查看器中;其通過所述JavaScript解析器實(shí)現(xiàn)對(duì)SVG地圖的平移、滾動(dòng)縮放、屬性信息查詢、圖層顯示控制。
9.根據(jù)權(quán)利要求8所述的基于SVG的WebGIS系統(tǒng),其特征在于,所述客戶端通過所述JavaScript解析器與所述服務(wù)器端進(jìn)行異步通訊。
10.一種如權(quán)利要求1所述的基于SVG的WebGIS系統(tǒng)的地圖查詢方法,其特征在于,包括以下步驟: 所述客戶端通過所述Web服務(wù)接口發(fā)送請(qǐng)求給所述服務(wù)器端; 所述數(shù)據(jù)緩存管理器收到請(qǐng)求后,根據(jù)圖層、坐標(biāo)范圍、縮放等級(jí)參數(shù),先從數(shù)據(jù)緩存管理器中檢索地圖數(shù)據(jù),如果找到匹配的則直接將此數(shù)據(jù)返回給所述客戶端,否則就從所述數(shù)據(jù)持久層中進(jìn)行檢索,并將檢索出的幾何地理數(shù)據(jù)交給所述Shape文件轉(zhuǎn)換器; 所述Shape文件轉(zhuǎn)換器將所述幾何地理數(shù)據(jù)的格式從Shape文件格式轉(zhuǎn)換為SVG格式后發(fā)送給所述SVG組裝器; 所述SVG組裝器根據(jù)所述PWMLW文件系統(tǒng)存儲(chǔ)的空間地理數(shù)據(jù)呈現(xiàn)的樣式、圖層、結(jié)構(gòu)信息,將經(jīng)所述Shape文件轉(zhuǎn)換器轉(zhuǎn)換后的SVG格式的幾何地理數(shù)據(jù)與所述屬性數(shù)據(jù)庫(kù)存儲(chǔ)的空間幾何地理數(shù)據(jù)的圖元的屬性數(shù)據(jù)進(jìn)行循環(huán)組裝,直至完成所需的SVG地圖文檔; 所述SVG組裝器將組裝好的SVG地圖文檔進(jìn)行GZIP壓縮后返回給所述客戶端,同時(shí)發(fā)送給所述數(shù)據(jù)緩存管理器進(jìn)行緩存。
11.一種基于SVG的WebGIS系統(tǒng)的能耗監(jiān)控系統(tǒng),利用如權(quán)利要求1所述的WebGIS系統(tǒng)進(jìn)行能耗監(jiān)控,其特征在于,該基于SVG的WebGIS系統(tǒng)的能耗監(jiān)控系統(tǒng)將SVG地圖對(duì)應(yīng)的空間幾何地理數(shù)據(jù)分為區(qū)域?qū)?、綠化層、河流湖泊層、道路層、建筑物層、橋梁層、公交站層、路燈層、攝像監(jiān)控層、水能設(shè)備層、水能管線層、水能傳輸層、電能設(shè)備層、電能纜線層、電能通訊層、燃?xì)庠O(shè)備層、燃?xì)夤芫€層,其SVG地圖也相應(yīng)地分為區(qū)域圖層、綠化圖層、河流湖泊圖層、道路圖層、建筑物圖層、橋梁圖層、公交站圖層、路燈圖層、攝像監(jiān)控圖層、水能設(shè)備圖層、水能管線圖層 、水能傳輸圖層、電能設(shè)備圖層、電能纜線圖層、電能通訊圖層、燃?xì)庠O(shè)備圖層、燃?xì)夤芫€圖層;在使用該基于SVG的WebGIS系統(tǒng)的能耗監(jiān)控系統(tǒng)時(shí),只需在客戶端切換需要關(guān)注的圖層即可查看該圖層中相應(yīng)的信息。
全文摘要
一種基于SVG的WebGIS系統(tǒng),包括服務(wù)器端和客戶端,所述服務(wù)器端進(jìn)一步包括數(shù)據(jù)持久層、應(yīng)用邏輯層和Web服務(wù)接口,所述客戶端包括瀏覽器,其中,所述數(shù)據(jù)持久層存儲(chǔ)空間幾何地理數(shù)據(jù),所述應(yīng)用邏輯層將所述數(shù)據(jù)持久層中存儲(chǔ)空的間幾何地理數(shù)據(jù)從Shape文件格式轉(zhuǎn)換為SVG格式,并最終形成SVG地圖,所述客戶端與所述服務(wù)器端之間通過所述Web服務(wù)接口進(jìn)行交互,所述客戶端通過所述Web服務(wù)接口向所述服務(wù)器端發(fā)送請(qǐng)求,所述服務(wù)器端通過所述Web服務(wù)接口向所述客戶端發(fā)送SVG地圖。本發(fā)明優(yōu)點(diǎn)在于利用SVG標(biāo)準(zhǔn)性、高擴(kuò)展性、數(shù)據(jù)量小等特點(diǎn),將傳統(tǒng)的GIS系統(tǒng)中長(zhǎng)期積累的地理信息進(jìn)行轉(zhuǎn)換,使其能在網(wǎng)絡(luò)終端展示出來供我們開發(fā)使用。
文檔編號(hào)G06F17/30GK103226604SQ20131015248
公開日2013年7月31日 申請(qǐng)日期2013年4月27日 優(yōu)先權(quán)日2013年4月27日
發(fā)明者畢俊人 申請(qǐng)人:上海先之決信息科技發(fā)展有限公司