本發(fā)明涉及地理數(shù)據(jù)處理技術(shù)領域,尤其涉及一種防汛、抗旱數(shù)據(jù)本地化的地圖發(fā)布、渲染方法和系統(tǒng)。
背景技術(shù):
隨著水利行業(yè)管理和服務的空間化、精細化、動態(tài)化和可視化建設,地圖服務成為了水利應用系統(tǒng)中不可缺少的重要元素。目前,市場上有很多地圖服務的解決方案,如ArcGIS、SuperMap、天地圖等,主要是通過發(fā)布地圖服務,再通過地圖服務調(diào)用,在用戶端實現(xiàn)地圖元數(shù)據(jù)的頁面渲染。這種地圖服務解決方案能夠提供地圖數(shù)據(jù)界面整理、校對和在線繪圖,動態(tài)生成點線面,能夠進行復雜的空間計算,如二次插值、等值線、等值面等;提供桌面版的地圖數(shù)據(jù)整理入庫、提供GIS服務器把地圖數(shù)據(jù)通過界面形式發(fā)布成服務、采用GIS服務器匹配的API解析服務進行展現(xiàn)和操作等。上述現(xiàn)有技術(shù)中的解決方案是非常有力的,但是由于地理空間數(shù)據(jù)的渲染是很耗CPU和內(nèi)存的,服務解析和渲染需要用戶端硬件和程序?qū)︿秩具M行支撐,使得整個地圖服務系統(tǒng)非常龐大。此外,現(xiàn)有技術(shù)中的這種地圖服務解決方案成本很高、對技術(shù)人員的技術(shù)要求水平要求也很高,導致這種地圖服務解決方案會增加企業(yè)的人力、技術(shù)成本,更適合大型GIS系統(tǒng)及應用。
現(xiàn)有技術(shù)方案中的地圖服務解決方案對一些復雜的地圖應用是非常合適的,但是如果地圖應用不是那么復雜,功能要求沒有那么多的時候,現(xiàn)有技術(shù)方案就顯得有些復雜了。再考慮到它的門檻較高,不適合非專業(yè)人士來使用和維護的問題,導致現(xiàn)有技術(shù)方案不具有普適應用的特點。
在水利應用領域,GIS服務主要作為水利信息系統(tǒng)中的GIS應用,通常采用小型GIS系統(tǒng)。這類小型GIS系統(tǒng)對GIS空間展現(xiàn)和分析的技術(shù)要求不是特別高,不需要引入上述大型GIS系統(tǒng)的技術(shù)方案來解決地圖數(shù)據(jù)發(fā)布和渲染的問題。因此,有必要提供一種用于水利領域,針對防汛、抗旱數(shù)據(jù)本地化的地圖發(fā)布和渲染方法,以解決地圖數(shù)據(jù)的渲染和展現(xiàn)復雜,對水利信息系統(tǒng)應用方的硬件要求高,對使用技術(shù)人員的技術(shù)要求高,水利應用系統(tǒng)開發(fā)和運維成本高的問題。
技術(shù)實現(xiàn)要素:
鑒于上述的分析,本發(fā)明旨在提供一種防汛、抗旱數(shù)據(jù)本地化的地圖發(fā)布、渲染方法和系統(tǒng),用以解決現(xiàn)有技術(shù)方案中地圖渲染和展現(xiàn)的技術(shù)復雜,對應用系統(tǒng)的硬件要求高,對技術(shù)人員的技術(shù)要求高,導致了研發(fā)和使用成本高的問題。
本發(fā)明的目的主要是通過以下技術(shù)方案實現(xiàn)的:
提供一種空間數(shù)據(jù)本地化的地圖發(fā)布和渲染方法,所述空間數(shù)據(jù)是防汛、抗旱的專題數(shù)據(jù),方法包括以下步驟:
步驟S1.數(shù)據(jù)讀取模塊根據(jù)預先配置信息讀取空間數(shù)據(jù),以及第三方發(fā)布的地圖服務API或本地文件數(shù)據(jù),其中API或本地文件數(shù)據(jù)用于獲取地圖底圖;
步驟S2.數(shù)據(jù)解析模塊對讀取的空間數(shù)據(jù)進行解析和轉(zhuǎn)換,并存儲到數(shù)據(jù)庫中;
步驟S3.地圖發(fā)布模塊基于上一步中存儲在數(shù)據(jù)庫中的空間數(shù)據(jù),和步驟S1中讀取的API或本地文件數(shù)據(jù),發(fā)布地圖服務;
步驟S4.地圖渲染模塊接收到地圖展現(xiàn)請求后,根據(jù)上一步中發(fā)布的地圖服務,獲取地圖服務所需的空間數(shù)據(jù)和地圖底圖,并進行地圖渲染和展現(xiàn)。
其中,所述預先配置信息包括:地圖服務的地址、本地文件路徑、數(shù)據(jù)庫名稱、數(shù)據(jù)庫地址、空間數(shù)據(jù)名稱、空間數(shù)據(jù)地址、各個數(shù)據(jù)來源項是否啟動、是否需要同步的元數(shù)據(jù)。
步驟S1中的讀取空間數(shù)據(jù),采用預加載、定時加載、或?qū)崟r加載。
步驟S2中對空間數(shù)據(jù)進行解析和轉(zhuǎn)換,具體是:通過空間數(shù)據(jù)解析程序,解析并提取出感興趣的屬性,將感興趣的屬性按列進行排列,并將排列后信息轉(zhuǎn)換為文本格式文件。
進一步的,在空間數(shù)據(jù)包括多個主題圖層的情況下,將每一個主題圖層作為一個項目,進行分別解析和轉(zhuǎn)換。
進一步的,通過列級別擴展,增加感興趣的屬性。
步驟S3中,發(fā)布的地圖服務是一種基于HTTP協(xié)議的網(wǎng)絡服務。
步驟S4中,獲取的空間數(shù)據(jù)需要經(jīng)過解析和轉(zhuǎn)換,轉(zhuǎn)換成空間數(shù)據(jù)。
進一步的,步驟S4中手持移動端向服務器端請求地圖服務,服務器端根據(jù)請求進行渲染,將渲染結(jié)果傳輸給手持移動端進行展現(xiàn)。
本發(fā)明還提供一種采用上述空間數(shù)據(jù)本地化的地圖發(fā)布和渲染方法進行空間數(shù)據(jù)本地化的地圖發(fā)布和渲染系統(tǒng),包括:數(shù)據(jù)讀取模塊、數(shù)據(jù)解析模塊、數(shù)據(jù)庫、數(shù)據(jù)發(fā)布模塊和地圖渲染模塊;
其中,數(shù)據(jù)讀取模塊,用于讀取數(shù)據(jù)庫中存儲的空間數(shù)據(jù),以及地圖服務所發(fā)布的API或本地文件數(shù)據(jù);
數(shù)據(jù)解析模塊,用于對讀取的空間數(shù)據(jù)進行解析和轉(zhuǎn)換;
數(shù)據(jù)發(fā)布模塊,用于基于解析和轉(zhuǎn)換的空間數(shù)據(jù),和讀取的API或本地文件數(shù)據(jù),發(fā)布地圖服務;
地圖渲染模塊,根據(jù)地圖展現(xiàn)請求,調(diào)用地圖服務,并獲取地圖展現(xiàn)所需的空間數(shù)據(jù)和地圖底圖,進行地圖渲染并輸出。
本發(fā)明有益效果如下:
本發(fā)明能減輕地圖服務請求方獲取數(shù)據(jù)的壓力,以及降低地圖渲染和展現(xiàn)復雜度;并且,地圖發(fā)布方利用第三方GIS系統(tǒng)發(fā)布的底圖API或者本地數(shù)據(jù)作為地圖底圖的數(shù)據(jù)源,能減輕軟件開發(fā)難度,降低硬件要求,方便技術(shù)人員維護和操作。此外,將空間數(shù)據(jù)本地化為文本格式的數(shù)據(jù),便于將不同空間數(shù)據(jù)進行統(tǒng)一化,方便不同格式數(shù)據(jù)源的信息提取、信息擴展和存儲。
本發(fā)明的其他特征和優(yōu)點將在隨后的說明書中闡述,并且,部分的從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
附圖說明
附圖僅用于示出具體實施例的目的,而并不認為是對本發(fā)明的限制,在整個附圖中,相同的參考符號表示相同的部件。
圖1為屬性排列的示意圖;
圖2為防汛、抗旱數(shù)據(jù)本地化的地圖發(fā)布和渲染系統(tǒng)的示意圖。
具體實施方式
下面結(jié)合附圖來具體描述本發(fā)明的優(yōu)選實施例,其中,附圖構(gòu)成本申請一部分,并與本發(fā)明的實施例一起用于闡釋本發(fā)明的原理。
本發(fā)明的一個具體實施例,公開了一種防汛、抗旱數(shù)據(jù)本地化的地圖發(fā)布和渲染方法,防汛、抗旱數(shù)據(jù)本地化的地圖發(fā)布和渲染是在水利信息系統(tǒng)中完成的,可以在水利信息系統(tǒng)上進行展示,也可以由手持移動端請求地圖服務并在手持移動端進行展示,此時水利信息系統(tǒng)作為手持移動端的服務器端。
防汛、抗旱數(shù)據(jù)本地化的地圖發(fā)布和渲染方法,具體包括以下步驟:
步驟S1.數(shù)據(jù)讀取模塊根據(jù)預先配置信息讀取數(shù)據(jù)庫中存儲的空間數(shù)據(jù),以及第三方發(fā)布的地圖服務API或本地文件數(shù)據(jù)。其中,API或本地文件數(shù)據(jù)用于獲取地圖底圖,空間數(shù)據(jù)是防汛、抗旱相關(guān)的專題數(shù)據(jù),可以是空間數(shù)據(jù)或地圖數(shù)據(jù)。
所述預先配置信息具體包括:地圖服務的地址、本地文件路徑、數(shù)據(jù)庫名稱、數(shù)據(jù)庫地址、空間數(shù)據(jù)名稱、空間數(shù)據(jù)地址、各個數(shù)據(jù)來源項是否啟動、是否需要同步的元數(shù)據(jù)等。
所述數(shù)據(jù)庫中存儲的空間數(shù)據(jù),是指針對防汛、抗旱的專題地理數(shù)據(jù),可以是湖泊、蓄水庫、農(nóng)田、森林、降水、氣溫、感興趣位置點等專題的數(shù)據(jù),描述了一主題的空間位置和空間分布。
所述地圖服務所發(fā)布的API是指第三GIS系統(tǒng)發(fā)布的底圖的API,也即基礎地理數(shù)據(jù)的API。所述本地文件數(shù)據(jù)是存儲在本地的地圖底圖。
進一步的,讀取數(shù)據(jù)庫中存儲的空間數(shù)據(jù)中的讀取,可以采用以下三種方式:預加載、定時加載、實時加載。
預加載方式:在系統(tǒng)初始化時(啟動時),數(shù)據(jù)讀取模塊會默認讀取一部分數(shù)據(jù)信息。一般情況下,初始化時讀取的數(shù)據(jù)信息是不會變動的,該類數(shù)據(jù)是常駐系統(tǒng)內(nèi)存的。
定時加載方式:在系統(tǒng)啟動后按照預先配置的讀取頻率,定時加載或更新數(shù)據(jù),該類數(shù)據(jù)也是常駐內(nèi)存的。
實時加載方式:當有頁面請求時,才根據(jù)請求獲取并加載對應的數(shù)據(jù),該類數(shù)據(jù)不常駐系統(tǒng)內(nèi)存。
步驟S2.數(shù)據(jù)解析模塊對讀取的防汛、抗旱數(shù)據(jù)進行解析和轉(zhuǎn)換,并存儲到數(shù)據(jù)庫中。
所述空間數(shù)據(jù)描述專題地理數(shù)據(jù),該數(shù)據(jù)可以是多種存儲格式,可以是coverage、shapefile、geodatabase、grid等。
針對空間數(shù)據(jù)進行解析和轉(zhuǎn)換,具體是:通過空間數(shù)據(jù)解析程序,解析出空間數(shù)據(jù)的經(jīng)緯度、地理名稱、地類、地理編號、屬性、面積、空間關(guān)系、空間分布等信息,提取其中對感興趣的屬性,按照緯度、經(jīng)度、名稱、地理編號的形式進行排列(圖1),并將排列后信息轉(zhuǎn)換為文本格式文件。所述文本格式可以是TXT或EXCEL。
具體的,非標題數(shù)據(jù)的具體數(shù)據(jù)結(jié)尾以“,”分割。標題數(shù)據(jù)以空格鍵或tab鍵分割。
優(yōu)選的,在空間數(shù)據(jù)包括多個主題圖層的情況下,可以將每一個主題圖層作為一個項目,進行解析和轉(zhuǎn)換。例如,當空間數(shù)據(jù)為蓄水地分布的地圖數(shù)據(jù),該地圖數(shù)據(jù)包括湖泊、蓄水池、小流域等多個圖層,則分別針對各圖層進行解析和轉(zhuǎn)換,得到多個對應的文本格式文件。
在針對解析和轉(zhuǎn)換后的文本文件有多個時,可以對文本文件進行組合封裝,封裝為一個空間數(shù)據(jù)包,再存儲在數(shù)據(jù)庫中。
優(yōu)選的,還可以增加感興趣屬性,通過列級別擴展,增加文本格式文件中排列的屬性。
步驟S3.地圖發(fā)布模塊基于上一步中經(jīng)過解析和轉(zhuǎn)換、并存儲在數(shù)據(jù)庫中的防汛、抗旱數(shù)據(jù),和步驟S1中讀取的API或本地文件數(shù)據(jù),發(fā)布地圖服務。
所述發(fā)布地圖服務,就是利用地圖發(fā)布程序,把整理好的地圖數(shù)據(jù)發(fā)布成網(wǎng)絡服務,這種服務是通過瀏覽器可以看得到一種網(wǎng)絡協(xié)議(如webservice、rest)。優(yōu)選的,發(fā)布的地圖服務可以是一種基于HTTP協(xié)議的網(wǎng)絡服務,通過瀏覽器即可展現(xiàn)。
步驟S4.地圖渲染模塊接收到地圖展現(xiàn)請求后,根據(jù)上一步中發(fā)布的地圖服務,獲取地圖服務所需的防汛、抗旱數(shù)據(jù)和地圖底圖,并進行防汛、抗旱地圖渲染和展現(xiàn)。其中,所述防汛、抗旱數(shù)據(jù)是文本格式的數(shù)據(jù),還需經(jīng)過解析和轉(zhuǎn)換,轉(zhuǎn)換成空間數(shù)據(jù),例如TIFF,shapefile等格式,才能進行渲染;所述底圖是通過步驟S1中的API或本地文件數(shù)據(jù)獲取的。
具體的,所述地圖渲染是在底圖上加載與防汛、抗旱數(shù)據(jù)相應的空間圖形,如點、線、多邊形。
這一步驟可以在水利信息系統(tǒng)實現(xiàn),還可以在手持移動端實現(xiàn)。手持移動端的實現(xiàn),具體由手持移動端向服務器端的水利信息系統(tǒng)請求基于防汛、抗旱數(shù)據(jù)的地圖服務,服務器端的水利信息系統(tǒng)根據(jù)請求進行相應的防汛、抗旱地圖的渲染,將渲染結(jié)果傳輸給手持移動端,通過瀏覽器即可展現(xiàn)。
通過上述方案,在手持移動端需要基于防汛、抗旱數(shù)據(jù)的地圖服務的時候,無需在手持移動端進行渲染,由服務器端的水利信息系統(tǒng)傳輸過來渲染結(jié)果就能實現(xiàn)地圖展現(xiàn)。此外,水利信息系統(tǒng)利用第三方GIS系統(tǒng)發(fā)布的底圖API或者本地數(shù)據(jù)作為底圖的數(shù)據(jù)源,能減輕水利信息系統(tǒng)的軟件開發(fā)難度,降低水利信息系統(tǒng)的硬件需求,方便技術(shù)人員維護和操作。
本發(fā)明的另一個具體實施例,公開了一種采用上述發(fā)布和渲染方法進行防汛、抗旱數(shù)據(jù)本地化的地圖發(fā)布和渲染系統(tǒng)(圖2),該系統(tǒng)可以內(nèi)嵌在水利信息系統(tǒng)中,具體包括數(shù)據(jù)讀取模塊、數(shù)據(jù)解析模塊、數(shù)據(jù)庫、數(shù)據(jù)發(fā)布模塊和地圖渲染模塊。
其中,數(shù)據(jù)讀取模塊,用于根據(jù)預先配置信息,讀取數(shù)據(jù)庫中存儲的空間數(shù)據(jù),以及地圖服務所發(fā)布的API或本地文件數(shù)據(jù)。
其中,所述預先配置信息具體包括:地圖服務的地址、本地文件路徑、數(shù)據(jù)庫名稱、數(shù)據(jù)庫地址、空間數(shù)據(jù)名稱、空間數(shù)據(jù)地址、各個數(shù)據(jù)來源項是否啟動、是否需要同步的元數(shù)據(jù)等。
API或本地文件數(shù)據(jù)用于獲取地圖底圖,地圖底圖描繪了地形或/和行政區(qū)劃等??臻g數(shù)據(jù)是防汛、抗旱中使用的空間數(shù)據(jù),可以是湖泊、蓄水庫、農(nóng)田、森林、降水、氣溫、感興趣位置點等專題地理數(shù)據(jù)。
數(shù)據(jù)解析模塊,用于對讀取的防汛、抗旱數(shù)據(jù)進行解析和轉(zhuǎn)換,并發(fā)送到數(shù)據(jù)庫中存儲。
防汛、抗旱數(shù)據(jù)作為一種空間數(shù)據(jù),其解析和轉(zhuǎn)換過程,具體是:通過空間數(shù)據(jù)解析程序,解析出空間數(shù)據(jù)的經(jīng)緯度、地理名稱、地類、地理編號、屬性、面積、空間關(guān)系、空間分布等信息,提取其中感興趣的屬性,將屬性按列進行排列(如圖1),并將排列后信息轉(zhuǎn)換為文本格式文件存儲。所述文本格式可以是TXT或EXCEL。
優(yōu)選的,在空間數(shù)據(jù)包括多個主題圖層的情況下,可以將每一個主題圖層作為一個項目,進行分別解析和轉(zhuǎn)換。
優(yōu)選的,可以將轉(zhuǎn)換后得到的多個文本文件進行組合封裝,封裝為一個數(shù)據(jù)包,再存儲在數(shù)據(jù)庫中。
優(yōu)選的,還可以增加感興趣屬性,通過列級別擴展,增加文本格式文件中排列的屬性。
數(shù)據(jù)發(fā)布模塊,用于基于解析和轉(zhuǎn)換的防汛、抗旱數(shù)據(jù),和讀取的API或本地文件數(shù)據(jù),發(fā)布地圖服務。所發(fā)布的地圖服務可以是一種基于HTTP協(xié)議的網(wǎng)絡服務。
地圖渲染模塊,根據(jù)接收到的地圖展現(xiàn)請求后,調(diào)用數(shù)據(jù)發(fā)布模塊所發(fā)布的地圖服務,并獲取地圖展現(xiàn)所需的防汛、抗旱數(shù)據(jù)和地圖底圖,進行地圖渲染并輸出。
其中,地圖渲染模塊所讀取的防汛、抗旱數(shù)據(jù)是文本格式的數(shù)據(jù),還需經(jīng)過解析和轉(zhuǎn)換,轉(zhuǎn)換成空間數(shù)據(jù),例如TIFF,shapefile等格式,才能進行渲染;地圖渲染模塊所需的地圖底圖是通過API或本地文件數(shù)據(jù)獲取的。
數(shù)據(jù)庫,用于進行空間數(shù)據(jù)和本地文件的存儲。
需要說明的是,本實施例以水利信息系統(tǒng)、防汛、抗旱數(shù)據(jù)為例進行示例性說明,但本發(fā)明并不限于此。防汛、抗旱數(shù)據(jù)可以替換為其他內(nèi)容的空間數(shù)據(jù),如農(nóng)業(yè)數(shù)據(jù)、林業(yè)資源數(shù)據(jù)等,這樣對應應用在農(nóng)業(yè)信息系統(tǒng)和林業(yè)信息系統(tǒng)中。凡是基于應用空間數(shù)據(jù)進行上述地圖發(fā)布、渲染并展現(xiàn)的方法,均在本發(fā)明的保護范圍內(nèi)。
綜上所述,本發(fā)明實施例提供了一種空間數(shù)據(jù)本地化的地圖發(fā)布和渲染方法和系統(tǒng),地圖服務請求方和地圖服務發(fā)布方可以是相同的設備,也可以是不同的設備。當?shù)貓D服務請求方采用手持終端向地圖服務發(fā)布方(作為服務器)進行地圖服務請求后,在地圖發(fā)布方進行地圖渲染,并可以將渲染結(jié)果傳輸給手持終端進行展現(xiàn),減輕了手持終端獲取數(shù)據(jù)和渲染的壓力。并且,地圖發(fā)布方利用第三方GIS系統(tǒng)發(fā)布的底圖API或者本地數(shù)據(jù)作為地圖底圖的數(shù)據(jù)源,能減輕軟件開發(fā)難度,降低硬件需求,方便技術(shù)人員維護和操作。此外,將空間數(shù)據(jù)本地化為文本格式的數(shù)據(jù),便于將不同空間數(shù)據(jù)進行統(tǒng)一化,方便不同格式數(shù)據(jù)源的信息提取、信息擴展和存儲,且文本格式數(shù)據(jù)占用空間小,能夠進一步節(jié)省存儲硬件。
本領域技術(shù)人員可以理解,實現(xiàn)上述實施例方法的全部或部分流程,可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于計算機可讀存儲介質(zhì)中。其中,所述計算機可讀存儲介質(zhì)為磁盤、光盤、只讀存儲記憶體或隨機存儲記憶體等。
以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。