999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種WebGIS瓦片數據更新方法研究

2018-10-27 11:15:44穆星祝靜怡
科技創(chuàng)新與應用 2018年25期

穆星 祝靜怡

摘 要:由于電子地圖的快速發(fā)展以及城市建設的加速,許多電子地圖的瓦片數據急需更新,為了能夠實時的從客戶端更新瓦片數據,主要采用了WebGIS以及HTML、JavaScript的相關技術,通過對瓦片像素的讀取、修改和保存,來實現瓦片數據更新。實驗結果表明可以通過該方法快速實時的更新數據,該方法使瓦片更新方式更加靈活不需要在服務器進行維護,改變了以往數據更新需要全部重新切片的弊端。

關鍵詞:WebGIS;HTML5;JavaScript;瓦片數據;局部更新;像素讀取

中圖分類號:P208 文獻標志碼:A 文章編號:2095-2945(2018)25-0152-03

Abstract: Due to the rapid development of electronic map and the acceleration of city construction, the tile data of many electronic maps need to be updated urgently. In order to update the tile data in real time from the client, we mainly use WebGIS, HTML, and JavaScript related technology. Through reading, modifying and saving the tile pixels, the tile data can be updated. The experimental results show that the method can update the data quickly in real time. This method makes the tile updating more flexible and does not need to be maintained in the server, which changes the disadvantages of the previous data updating which need to be completely re-sliced.

Keywords: WebGIS; HTML5; JavaScript; tile data; local updating; pixel reading

引言

隨著國內各種數字城市的建成和使用,如何保持地理信息數據的現勢性以及如何更有效率的更新數據,成為現在電子地圖需要解決的核心問題[1]。傳統(tǒng)的瓦片更新方式通常是在后臺數據庫進行更新。而從用戶提出地圖的修改工作到數據庫的修改,其中的環(huán)節(jié)太多,周期太長[2]。傳統(tǒng)的更新方式是以瓦片為單位進行的更新,而如果小塊區(qū)域的點位變化,僅僅是為了修改一個點,而采用這種更新方式,有點顯得費時費力。從本質上說,瓦片其實是一張圖片,它是由像素組成的。只要有需要更新的地圖的位置信息,就可以計算獲得需要更新的瓦片的行列號[3]。從而讀取該圖片的像素,經過修改像素,就可以更新數據。或者可以根據提供的最底層的瓦片數據,計算得到對應的各個層級需要更新的對應的瓦片的位置經過像素的提取,重采樣,來得到新的瓦片,就可以對該瓦片進行替換。從而解決瓦片更新的聯(lián)動問題,減少瓦片的輸出量,提高瓦片的更新效率[4]。

1 地圖瓦片更新方法

地圖瓦片更新的思路主要是,首先根據地圖的坐標以及瓦片所在的層級信息,計算出地圖瓦片的行列號,并結合HTML的canvas工具,將圖片繪制在畫布中,通過context.getImageData();來獲得圖片的像素信息。通過對像素的遍歷和修改,實現指定行列位置處的瓦片更新。

1.1 底層瓦片的更新

首先計算瓦片的行列號,假設地圖切片的原點是(originX,originY),地圖的瓦片大小是tileSize,屏幕上1像素代表的實際距離是resolution。計算坐標點(x,y)所在的瓦片的行列號的公式是[5]:

col=(originX-x)/(resolution*tileSize);

row=(originY-y)/(resolution*tileSize);

通過canvas對圖片的像素進行讀取,一張256*256大小的圖片都是256*256個像素,每個像素都有r、g、b、a四個屬性。分別代表紅、綠、藍和透明度[6]。由于需要顯示待更新的數據,以及更新的數據,需要設計兩個canvas圖框。其中一個用來輸入更新的圖片,另一個用來傳入待更新的圖片。對于底層的更新,只需要把對應的像素進行替換。通過遍歷像素來修改圖片。

1.2 其它層瓦片的更新

各層瓦片之間的關系,呈現金字塔結構,上一層是下一層的兩倍。更新瓦片時先更新最下一層的瓦片,把它的像素改成更新后的瓦片的像素。對于它的上一層的瓦片,更新區(qū)域變?yōu)樵瓉淼乃姆种唬粋€像素代表的距離也變成原來的2倍,所以還需要對更新區(qū)域的像素進行重采樣。

首先需要獲得上一層瓦片的行列號,由前面已知了底層的瓦片的行列號,以及各層瓦片之間的關系。根據這種關系進行計算出上一層瓦片的行列號。計算步驟如下:

Intlv1x=parseInt((deta_x)/(2));

Intlv1y=parseInt(deta_y)/(2));

由于上一層和下一層是兩倍之間的關系,可以把畫布的寬和高平分,首先我們需要確定,待更新的區(qū)域所在的位置,在對像素進行操作。通過計算,可以根據計算的數值判斷瓦片的位置信息。上一層瓦片位置信息如圖2所示,可以根據計算得到的值與圖片一一對應,確定需要更新的部位。

由此,通過調整畫布的寬和高的范圍就可以實現想要更新的部分像素的替換。主要代碼如下:

for(m=0;m

for(n=0;n

data3[p3*4+0]=data1[p1*4+0];

data3[p3*4+1]=data1[p1*4+1];

data3[p3*4+2]=data1[p1*4+2];

data3[p3*4+3]=data1[p1*4+3];}}

2 瓦片地圖更新實現

根據前面的設計思路,以Visual Studio 開發(fā)平臺,采用Visual C#建立ASP.NET網站,并驗證設計思路的可行性。

2.1 底層瓦片的更新

首先在界面的左側區(qū)域,設計了一個div標簽,里面用來放置地圖。該地圖有地圖的放大縮小,平移等一般功能。右側設計了兩個畫布,分別用來接收待更新的瓦片,以及處理后的瓦片數據。通過添加一個input標簽,并限制文件屬性為圖片,來選擇加載一張用于更新的瓦片。自動計算出需要更新的瓦片的位置,計算出瓦片的行列號,并把圖片繪制在右邊的畫布框。如圖3,為更新之前的瓦片數據。

通過瓦片更新程序,實現圖片處理功能。這里主要是利用canvas的像素處理功能,把需要更新的瓦片的像素替換成待更新的瓦片的像素,并把得到的像素數組繪制到畫布上。利用畫布的toDataURL程序,將數據轉換成blob類型的數據,并可以保存到本地。實現把處理之后的圖片保存到本地的功能。如圖4為底層瓦片的更新后的瓦片數據。

2.2 其它各層瓦片的更新

然后根據各層級瓦片的聯(lián)系,可以計算出對應的上一級瓦片行列號,從而可以進行各層瓦片的數據更新。通過對像素的重采樣,以及像素的修改,并保存到本地,來替換原來的舊的瓦片[7]。在進行像素重采樣時,若使用采樣間距為上下左右各一個像素,會發(fā)現新得到的圖片會出現鋸齒,不平滑。原來的實線會變成虛線,這種方法不太理想。這里采用canas的圖像重繪的特性,調整瓦片的大小為原來的一半。得到的效果就沒有出現鋸齒,比較光滑。刷新頁面后就可以看到更新之后的地圖。可以看到更新之前右側沒有紅色的點要素,更新之后出現了紅色的點。如圖5及圖6,分別為對應的上一層瓦片,更新前后的數據。

3 結束語

通過本瓦片數據更新系統(tǒng),可以實現數據的更新自動化操作,實現了對電子地圖瓦片數據的系統(tǒng)化管理。豐富了數據更新方法,提高更新效率[8]。豐富以往瓦片數據只能從服務器更新的手段。這種通過更新地圖瓦片文件的方式,比傳統(tǒng)方式更加快捷高效,特別是重要點位要素的快速更新。解決了目前電子地圖更新遇到的一些問題,為數字城市,電子地圖數據維護提供保障。

參考文獻:

[1]李福洪,朱雪虹,張書亮.數字城市電子地圖瓦片更新系統(tǒng)的設計與實現[J].江蘇:地理空間信息,2016,14(8):38-41.

[2]李芙蓉.基于GIS的三維虛擬校園的設計與實現[D].西安:長安大學,2014.

[3]劉三民,王杰文.空間數據存儲管理研究綜述[J].電腦與信息技術,2006,14(3):19-22.

[4]祝云.基于ArcGIS Server的瓦片電子地圖數據更新機制研究[J].山東:測繪通報,2013,12(1):92-93.

[5]周婷婷.電子地圖局部更新方法研究[J].福建:地理空間信息,2014,12(4):162-164.

[6]張勝.WebGIS海量瓦片數據管理引擎的設計與實現[D].浙江:浙江師范大學,2009.

[7]蘇旭明.WebGIS瓦片地圖關鍵技術研究[J].北京:北京測繪,2012,2(2):9-12.

[8]李小光,王建.基于WebGIS的校園地理信息系統(tǒng)的設計與實現[J].礦山測量,2013,1(2):15-18.

主站蜘蛛池模板: 国产激情在线视频| 日本三级黄在线观看| 欧美激情视频二区| 亚洲丝袜中文字幕| 女人爽到高潮免费视频大全| 亚洲全网成人资源在线观看| 色综合a怡红院怡红院首页| 日韩一区二区在线电影| 毛片大全免费观看| 久久狠狠色噜噜狠狠狠狠97视色| 另类重口100页在线播放| 婷婷亚洲综合五月天在线| 亚洲av无码成人专区| 精品人妻系列无码专区久久| 91亚洲国产视频| 在线播放国产99re| 91系列在线观看| 91麻豆精品国产91久久久久| 亚洲最新地址| 91精品综合| 国产在线视频福利资源站| 国产91精品调教在线播放| 欧美日韩另类在线| 五月综合色婷婷| 国产十八禁在线观看免费| 国产无遮挡猛进猛出免费软件| 国产高清精品在线91| 狠狠色丁香婷婷| 欧美 亚洲 日韩 国产| 九月婷婷亚洲综合在线| 在线看片免费人成视久网下载| 波多野结衣一区二区三区AV| 国产原创自拍不卡第一页| 97久久人人超碰国产精品| 日韩欧美在线观看| 国产成人亚洲精品蜜芽影院| 色精品视频| 少妇露出福利视频| 伊人久久福利中文字幕| 日韩人妻无码制服丝袜视频| 伊人久久大香线蕉成人综合网| 午夜欧美理论2019理论| 久久免费成人| 免费国产高清视频| 国产流白浆视频| 亚洲第一区在线| 国产麻豆va精品视频| 91口爆吞精国产对白第三集| 大学生久久香蕉国产线观看| 日韩欧美国产精品| 午夜视频在线观看区二区| 色综合天天综合中文网| 激情午夜婷婷| 亚洲视频二| 国产剧情国内精品原创| av天堂最新版在线| 毛片免费视频| 精品视频在线观看你懂的一区| 亚洲精品黄| 欧美三级自拍| 欧美狠狠干| av在线无码浏览| 美臀人妻中出中文字幕在线| 香蕉视频在线精品| 一级毛片中文字幕| 欧美在线精品怡红院| 国产高清无码麻豆精品| 国产在线观看精品| 亚洲欧洲免费视频| 一本大道东京热无码av| 丝袜亚洲综合| 色综合五月婷婷| 五月婷婷丁香综合| 国产欧美日韩另类精彩视频| 国产精品无码一区二区桃花视频| 无码免费视频| 99视频在线精品免费观看6| 精品91在线| 99草精品视频| 重口调教一区二区视频| 99re在线视频观看| 久久精品丝袜高跟鞋|