專利名稱:一種動態(tài)地圖投影下的網(wǎng)絡(luò)地圖配準(zhǔn)及繪制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及大眾地圖網(wǎng)絡(luò)發(fā)布、城市規(guī)劃公眾參與、不同地理信息整合領(lǐng)域,具體涉及一種動態(tài)地圖投影下瓦片地圖配準(zhǔn)、加密繪制及更新方法。
背景技術(shù):
隨著網(wǎng)絡(luò)地圖在日常生活中的廣泛應(yīng)用,人們對于網(wǎng)絡(luò)地圖的速度、美觀性及時效性提出了更高的要求,對此,瓦片地圖是一種很好的解決方案,如Google在線WEB地圖、中國的天地圖WEB版。瓦片地圖采用了一種多分辨率層次模型,從瓦片金字塔的底層到頂層,分辨率越來越低,但表示的地理范圍不變。瓦片地圖的制作方法以ESRI公司的ArcGIS軟件為例做介紹首先用ArcGIS軟件對地圖數(shù)據(jù)進(jìn)行處理,配成需要的圖層方案,并保存方案。再用軟件自帶功能進(jìn)行切片,切片過程中選擇切片方案,根據(jù)所選方案不同,例如金字塔級別不同,地圖切片范圍不同等,都會影響到切片的速度。切片之后的數(shù)據(jù)稱為瓦片。每個瓦片可以按照行列號進(jìn)行唯一的編號,并具有一個唯一的地圖等級屬性,即所在的多分辨率層次模型中某一層數(shù)。切割規(guī)則一般是將一定區(qū)域的地圖按層次切割成大小相同的圖片,這個圖片一般是正方形,如像素為256X256的png格式圖像,這樣每個瓦片都會對應(yīng)一個固定的地理范圍值,如果給定一個地理范圍值和所在的層次數(shù),便可以求出所需要的所有瓦片,并按照所在的行列號進(jìn)行統(tǒng)計出來。由于不同的地圖服務(wù)供應(yīng)商和政府機構(gòu)所提供的地圖服務(wù)的地理參考系不同,地圖之間也存在幾何誤差。如果用戶希望能夠快速和高質(zhì)量地疊加各種不同地圖服務(wù),需要解決地理參考系動態(tài)轉(zhuǎn)換及幾何誤差的問題。當(dāng)前,主要是對瓦片地圖的發(fā)布、更新及緩存處理等方面的研究較多,而對瓦片地圖的幾何誤差及對每一個瓦片加密的研究工作較少,其中瓦片的加密問題在社會應(yīng)用中關(guān)注極少,不利于我國在線網(wǎng)絡(luò)地圖的廣泛應(yīng)用。另外實際應(yīng)用中,客戶端往往希望能夠在C/S環(huán)境下去訪問網(wǎng)絡(luò)瓦片地圖,因為在C/S環(huán)境下,用戶能夠?qū)⒆陨頂?shù)據(jù)和網(wǎng)絡(luò)瓦片數(shù)據(jù)很好地結(jié)合,分析的功能也更強大,在處理的速度上也會有大幅度的提升??蛻舳嗽谛枰獙F(xiàn)有的瓦片進(jìn)行更新時,應(yīng)當(dāng)能夠提供對所需瓦片的加密更新,且這種加密機制應(yīng)當(dāng)盡可能的涉及到每一個瓦片。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是是克服現(xiàn)有技術(shù)的不足,提出一種動態(tài)地圖投影下瓦片地圖配準(zhǔn)及繪制方法,以解決網(wǎng)絡(luò)瓦片地圖的幾何誤差和瓦片地理信息加密和客戶端更新數(shù)據(jù)的問題,這種方法不僅適用于B/S架構(gòu)的地圖服務(wù),也非常適合于C/S架構(gòu)的客戶端對網(wǎng)絡(luò)地圖的訪問。本發(fā)明為解決上述技術(shù)問題采用以下技術(shù)方案一種動態(tài)地圖投影下的網(wǎng)絡(luò)地圖配準(zhǔn)及繪制方法,包含以下步驟
步驟I)在客戶端,獲取并記錄當(dāng)前用戶所瀏覽地圖的地理范圍值和所采用的地圖投影類型;判斷用戶所采用地圖投影與服務(wù)器端地圖投影的類型是否一致若一致,直接進(jìn)入步驟2);若不一致,則進(jìn)行投影轉(zhuǎn)換計算,將用戶所請求的地理范圍值轉(zhuǎn)換為在服務(wù)器端地圖投影下的地理范圍值;步驟2)根據(jù)處理后用戶所請求的瓦片地圖的地理范圍,反算出需要在客戶端加載的所有瓦片行號、列號以及相應(yīng)地圖級別;新建一個三維數(shù)組,依次將所需瓦片的行號、列號以及相應(yīng)地圖級別存儲起來;步驟3)在客戶端和服務(wù)器端的地圖上,分別利用η個特征點取誤差平均值確定當(dāng)前瓦片地圖的待校準(zhǔn)值,即求取偏移量(Λχ,Ay),其中η為自然數(shù);步驟4)依次遍歷步驟2)中的三維數(shù)組,以多線程方式下載每個地圖瓦片;在每個地圖瓦片下載完成時,為其計算相應(yīng)的地理范圍值,并利用步驟3)中所確定的待校準(zhǔn)值(Δχ, Δγ)對這個地理范圍值進(jìn)行校準(zhǔn)處理,再利用DES加密算法對每個瓦片的地圖級別、行號、列號、校準(zhǔn)后的地理范圍值以及下載完成時間值進(jìn)行加密,最終將加密處理后地圖級另O、行號、列號、校準(zhǔn)后的地理范圍值以及下載完成時間值保存到一個與相應(yīng)地圖瓦片同名的ini格式文件中;步驟5)下載完所需全部瓦片后,通過解密每個相應(yīng)ini格式的加密文件,讀取到每個待繪制瓦片的地圖級別、行號、列號以及校準(zhǔn)后的地理范圍值,根據(jù)這四個值將地圖瓦片繪制到正確地理位置上。作為本發(fā)明的一種動態(tài)地圖投影下瓦片地圖配準(zhǔn)及加密繪制方法的進(jìn)一步優(yōu)化方案,還包括步驟6):當(dāng)需要更新一定區(qū)域和地圖級別下的客戶端瓦片地圖時,對于本地客戶端沒有存儲的瓦片,需要按步驟I)至4)進(jìn)行下載;對于本地客戶端已有的瓦片,需要將服務(wù)器端相關(guān)瓦片最新發(fā)布時間與通過步驟5)解密ini文件讀取的相關(guān)瓦片下載到客戶端時間值比較,如果下載到 客戶端時間值小于服務(wù)器最新發(fā)布時間值時,則需要重新下載,反之則不需要重新下載。作為本發(fā)明的一種動態(tài)地圖投影下瓦片地圖配準(zhǔn)及加密繪制方法的進(jìn)一步優(yōu)化方案,步驟3)所述的偏移量(ΛΧ,Ay)的求取步驟包括(I)分別獲取客戶端和服務(wù)器端地圖的η對特征點,即在客戶端選擇η個特征點,再在服務(wù)器端地圖上尋找到與這η個特征點具有相同位置的點,然后分別計算它們的橫坐標(biāo)與縱坐標(biāo)的差值,將所述差值分別表示為(ΛΧι,Ax2,..., Axi,... Δχη),
(ΔΥι, Ay2,…,Ayi, , Ayn);(2)比較每對特征點值,若出現(xiàn)時,則丟棄該特征點,重新選取另一個特征點,直至滿足+Ay,2 <5,其中,i e η,δ為用戶給定的閾值;
ηη(3)確定待校準(zhǔn)值(Λ X,Λ y),即Δτ = (J^Axj)Zn , Ay =η。
=\ =Ι本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果I)傳統(tǒng)網(wǎng)絡(luò)瓦片缺乏對幾何誤差的考慮,致使在數(shù)據(jù)疊加使用時出現(xiàn)很多錯誤,分析結(jié)果也產(chǎn)生很大的誤差,特別是一些社會經(jīng)濟設(shè)計圖與實際地圖誤差較大,給規(guī)劃設(shè)計和政府決策帶來了很大的困難,本發(fā)明實現(xiàn)了對網(wǎng)絡(luò)瓦片地圖的誤差校準(zhǔn)后再繪制,大大提高了數(shù)據(jù)的準(zhǔn)確性,增強了數(shù)據(jù)的可分析性。
2)利用ini文件存儲地圖級別、行列號、已校準(zhǔn)后的地理范圍以及瓦片下載到客戶端的時間值,并對存儲的內(nèi)容做了加密處理,這樣即使離線的瓦片數(shù)據(jù)包在被竊取后,也很難投入使用,大大提高了客戶端使用瓦片地圖的安全性。這種加密處理方式涉及到了每個具體的瓦片,當(dāng)在國家層面的使用時,可以推廣到按省、市、縣設(shè)置不同的加密方式,這樣對瓦片地圖的加密使用大大提高了安全性。
圖1是本發(fā)明的實施流程示意圖;圖2是三維數(shù)組瓦存儲地圖片信息示意圖;圖3是多個控制點校準(zhǔn)地圖示意圖;圖4是瓦片信息加密存儲示意圖。
具體實施例方式下面結(jié)合附圖對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)說明I)參見附圖1,當(dāng)客戶的C/S端請求瓦片地圖瀏覽和下載時,獲取并記錄當(dāng)前用戶所瀏覽地圖的地理范圍值和所采用的地圖投影類型;判斷用戶所采用地圖投影與服務(wù)器端地圖投影的類型是否一致,若不一致,則進(jìn)行投影轉(zhuǎn)換計算,將用戶所請求的地理范圍值轉(zhuǎn)換為在服務(wù)器端地圖投影下的地理范圍值;若一致,則不對用戶所請求的地理范圍進(jìn)行投影轉(zhuǎn)換計算;例如用戶所采用的地圖投影為高斯一克呂克投影,而服務(wù)器端所采用的地圖投影類型為WEB墨卡托投影,則需要通過投影轉(zhuǎn)換計算,將用戶所請求顯示的地理范圍值轉(zhuǎn)換為WEB在墨卡托投影下的地理范圍值。2)根據(jù)處理 后用戶所請求的地理范圍,反算出需要在客戶端加載的所有瓦片行號、列號以及相應(yīng)地圖級別。不同的瓦片地圖系統(tǒng)可能具有不同的瓦片切割規(guī)則,但只需要根據(jù)瓦片的切割規(guī)則(如每個瓦片的大小為256X256像素、每個瓦片地圖的級別所對應(yīng)的地圖比例尺范圍等),便可以將指定地圖級別和地理范圍內(nèi)所需瓦片反算出來。參見附圖2,新建一個三維數(shù)組,依次將所需瓦片的行號、列號以及相應(yīng)地圖級別存儲起來。3)參見附圖3,本實施例中η個控制點(特征點)取4個,具體步驟包括①在客戶端選擇4個易于分辨的控制點,再在服務(wù)器端地圖上尋找到與這4個控制點具有相同位置的點,分別計算這4對控制點的橫坐標(biāo)與縱坐標(biāo)的差值,這些差值可表示為(Ax1, Δχ2, Δχ3, Δχ4) , (Ay1, Ay2, Ay3, Ay4);其中,服務(wù)器端地圖的控制點可以通過服務(wù)器端地圖的WEB在線版或者人工請求詢問的方式獲得。②比較每對控制點距離值,若出現(xiàn)^/Δτ;2 +Δν; > 5時,則重新選取此控制點,直至滿足掏+ Ajf <厶,其中,i = 1,2,3,4,δ為用戶給定的閾值。③確定待校準(zhǔn)值(Δχ,Ay),ΒΡΔτ = (2^Δτ,.)/4 Ay = (IAyi)M;
;=1 =14)依次遍歷步驟2中的三維數(shù)組,以多線程方式下載每個地圖瓦片;在每個地圖瓦片下載完成時,為其計算相應(yīng)的地理范圍值,并利用步驟3)中所確定的待校準(zhǔn)值(Δχ, Δγ)對這個地理范圍值進(jìn)行校準(zhǔn)處理,再利用DES加密算法對每個瓦片的地圖級別、行號、列號、校準(zhǔn)后的地理范圍值以及下載完成時間值進(jìn)行加密,最終將加密處理后地圖級另|J、行號、列號、校準(zhǔn)后的地理范圍值以及下載完成時間值依次保存到一個與地圖瓦片同名的ini格式文件中,參見附圖3。5)下載完所需全部瓦片后,通過解密每個相應(yīng)ini格式的加密文件,讀取到每個待繪制瓦片的地圖級別、行號、列號以及校準(zhǔn)后的地理范圍值,根據(jù)這四個值可以將地圖瓦片繪制到正確地理位置上;例如,基于ESRI公司的ArcEngine組件的C/S客戶端軟件,只需要知道每個瓦片的地理范圍,便可以很容易將其正確的繪制在圖形界面上。6)當(dāng)需要更新一定區(qū)域和地圖級別下的客戶端瓦片地圖時,本地客戶端沒有存儲的瓦片需要按步驟I)至4)進(jìn)行下載,本地已有的瓦片需要將服務(wù)器端相關(guān)瓦片最新發(fā)布時間與通過解密ini文件讀取的相關(guān)瓦片下載到客戶端時間值比較,如果下載到客戶端時間值小于服務(wù)器最新發(fā)布時間值時,則需要重新下載,反之則不需要重新下載。具體在實施更新時,客戶端首先確定一個地圖級別數(shù)和一個地理范圍值,根據(jù)這兩個參數(shù)反計算得到所有的瓦片行列號并以.NET中集合的形式存儲起來,遍歷集合中的所有瓦片如果遍歷中某個瓦片在本地沒有存儲,則按步驟I)至4)下載到本地;如果本地已經(jīng)擁有這個瓦片,則通過解密與此瓦片相關(guān)ini文件讀取到其下載至客戶端時間值并與服務(wù)器最新發(fā)布此瓦片的時間值比較,若下載到客戶端時間值小于服務(wù)器最新發(fā)布時間值時,則需要重新下載,反之則不需要重新下載。以上只是對于本發(fā)明技術(shù)方案的一個簡單示例,本領(lǐng)域技術(shù)人員在本發(fā)明實施例的基礎(chǔ)上對本發(fā)明的方案所進(jìn)行的任何等效替換和變形,都應(yīng)屬于本發(fā)明公開的范圍之內(nèi)。
權(quán)利要求
1.一種動態(tài)地圖投影下的網(wǎng)絡(luò)地圖配準(zhǔn)及繪制方法,其特征在于,包含以下步驟 步驟I)在客戶端,獲取并記錄當(dāng)前用戶所瀏覽地圖的地理范圍值和所采用的地圖投影類型;判斷用戶所采用地圖投影與服務(wù)器端地圖投影的類型是否一致 若一致,直接進(jìn)入步驟2);若不一致,則進(jìn)行投影轉(zhuǎn)換計算,將用戶所請求的地理范圍值轉(zhuǎn)換為在服務(wù)器端地圖投影下的地理范圍值; 步驟2)根據(jù)處理后用戶所請求的瓦片地圖的地理范圍,反算出需要在客戶端加載的所有瓦片行號、列號以及相應(yīng)地圖級別;新建一個三維數(shù)組,依次將所需瓦片的行號、列號以及相應(yīng)地圖級別存儲起來; 步驟3)在客戶端和服務(wù)器端的地圖上,分別利用η個特征點取誤差平均值確定當(dāng)前瓦片地圖的待校準(zhǔn)值,即求取偏移量(Λχ,Ay),其中η為自然數(shù); 步驟4)依次遍歷步驟2)中的三維數(shù)組,以多線程方式下載每個地圖瓦片;在每個地圖瓦片下載完成時,為其計算相應(yīng)的地理范圍值,并利用步驟3)中所確定的待校準(zhǔn)值(Δχ, Δγ)對這個地理范圍值進(jìn)行校準(zhǔn)處理,再利用DES加密算法對每個瓦片的地圖級別、行號、列號、校準(zhǔn)后的地理范圍值以及下載完成時間值進(jìn)行加密,最終將加密處理后地圖級另O、行號、列號、校準(zhǔn)后的地理范圍值以及下載完成時間值保存到一個與相應(yīng)地圖瓦片同名的ini格式文件中; 步驟5)下載完所需全部瓦片后,通過解密每個相應(yīng)ini格式的加密文件,讀取到每個待繪制瓦片的地圖級別、行號、列號以及校準(zhǔn)后的地理范圍值,根據(jù)這四個值將地圖瓦片繪制到正確地理位置上。
2.根據(jù)權(quán)利要求1所述的一種動態(tài)地圖投影下的網(wǎng)絡(luò)地圖配準(zhǔn)及繪制方法,其特征在于,還包括步驟6):當(dāng)需要更新一定區(qū)域和地圖級別下的客戶端瓦片地圖時,對于本地客戶端沒有存儲的瓦片,需要按步驟I)至4)進(jìn)行下載;對于本地客戶端已有的瓦片,需要將服務(wù)器端相關(guān)瓦片最新發(fā)布時間與通過步驟5)解密ini文件讀取的相關(guān)瓦片下載到客戶端時間值比較,如果下載到客戶端時間值小于服務(wù)器最新發(fā)布時間值時,則需要重新下載,反之則不需要重新下載。
3.根據(jù)權(quán)利要求1所述的一種動態(tài)地圖投影下瓦片地圖配準(zhǔn)及加密繪制方法,其特征在于,步驟3)中所述偏移量(ΛΧ,Ay)的求取步驟包括 (O分別獲取客戶端和服務(wù)器端地圖的η對特征點,即在客戶端選擇η個特征點,再在服務(wù)器端地圖上尋找到與這η個特征點具有相同位置的點,然后分別計算它們的橫坐標(biāo)與縱坐標(biāo)的差值,將所述差值分別表示為(ΛΧι,Ax2,..., Axi,... Δχη), (2 )比較每對特征點值,若出Ax;+A)^ > 5時,則丟棄該特征點,重新選取另一個特征點,直至滿足^/δ^ + Ay12 <δ,其中,i e η, δ為用戶給定的閾值; (3)確定待校準(zhǔn)值(Λχ,= —
全文摘要
本發(fā)明公開了一種動態(tài)地圖投影下的網(wǎng)絡(luò)地圖配準(zhǔn)及繪制方法,首先根據(jù)客戶端與服務(wù)器端的投影類型比較,進(jìn)行地理范圍值投影轉(zhuǎn)換計算;然后利用瓦片地圖切割規(guī)則和所請求參數(shù),反計算獲得需加載的所有瓦片的行列號和地圖級別,并采用多個特征點獲取得到的瓦片地圖誤差偏移值對每個瓦片的地理范圍值進(jìn)行誤差校正。在下載完每個瓦片時候,利用DES加密算法進(jìn)行加密,并按順序保存到一個與此地圖瓦片同名的ini格式文件中。待所有所需地圖瓦片下載完成后,再解密ini文件,讀取到校正后地理范圍值等數(shù)值,實現(xiàn)每個地圖瓦片的繪制。本發(fā)明實現(xiàn)了對網(wǎng)絡(luò)瓦片地圖的誤差校準(zhǔn)后再繪制,大大提高了數(shù)據(jù)的準(zhǔn)確性,增強了數(shù)據(jù)的可分析性。
文檔編號H04L29/06GK103065544SQ201210555879
公開日2013年4月24日 申請日期2012年12月19日 優(yōu)先權(quán)日2012年12月19日
發(fā)明者韋勝 申請人:江蘇省城市規(guī)劃設(shè)計研究院