朱笑笑, 張豐, 杜震洪*, 劉仁義, 余華芬
(1.浙江大學(xué) 浙江省資源與環(huán)境信息系統(tǒng)重點(diǎn)實(shí)驗(yàn)室, 浙江 杭州 310028; 2.浙江大學(xué) 地理信息科學(xué)研究所,浙江 杭州 310027; 3.浙江省第二測繪院, 浙江 杭州 310012)
顧及要素空間分布特征的稠疏矢量瓦片構(gòu)建方法研究
朱笑笑1,2, 張豐1,2, 杜震洪1,2*, 劉仁義1,2, 余華芬1,3
(1.浙江大學(xué) 浙江省資源與環(huán)境信息系統(tǒng)重點(diǎn)實(shí)驗(yàn)室, 浙江 杭州 310028; 2.浙江大學(xué) 地理信息科學(xué)研究所,浙江 杭州 310027; 3.浙江省第二測繪院, 浙江 杭州 310012)
現(xiàn)行常用的金字塔模型構(gòu)建矢量瓦片方法普遍未考慮空間對象的分布特征,導(dǎo)致同一層級(jí)矢量瓦片之間的數(shù)據(jù)量不均衡,引起瓦片數(shù)據(jù)加載渲染效率差異和并發(fā)一致性問題.為此提出一種顧及要素空間分布特征的稠疏矢量瓦片構(gòu)建方法.該方法在保證矢量瓦片金字塔模型多分辨率特性的同時(shí),對每一層級(jí)中要素?cái)?shù)據(jù)量大的瓦片進(jìn)行層次分解,形成了稠疏空間格網(wǎng),從而實(shí)現(xiàn)同一層級(jí)矢量瓦片間的數(shù)據(jù)量相對均衡.實(shí)驗(yàn)表明,該方法實(shí)現(xiàn)了矢量瓦片訪問時(shí)的負(fù)載均衡,提升了矢量瓦片的加載渲染效率,獲得了更好的用戶體驗(yàn).
金字塔;矢量瓦片;空間分布特征;數(shù)據(jù)量
矢量數(shù)據(jù)是對現(xiàn)實(shí)空間世界中各類地理事物和現(xiàn)象進(jìn)行抽象表達(dá)的一種空間數(shù)據(jù)結(jié)構(gòu),在地理信息系統(tǒng)中具有極其重要的作用.隨著GIS應(yīng)用和WebGIS的快速發(fā)展,矢量數(shù)據(jù)量不斷增大,用戶對系統(tǒng)的交互性要求也越來越高.矢量地圖將矢量地理數(shù)據(jù)在前端繪制成不同要素,能夠?qū)崿F(xiàn)地圖的動(dòng)態(tài)交互,但矢量地圖傳輸?shù)氖侨繑?shù)據(jù),當(dāng)數(shù)據(jù)量較大或者網(wǎng)絡(luò)速度較慢時(shí),內(nèi)存開銷大,響應(yīng)時(shí)間長,影響了地圖服務(wù)的質(zhì)量.目前,通用的互聯(lián)網(wǎng)地圖服務(wù)網(wǎng)站(Google地圖、天地圖、百度地圖等)主要采用多級(jí)柵格與影像金字塔模型,通過在服務(wù)器端建立多分辨率層次模型,在不同顯示層級(jí)預(yù)先生成地圖瓦片來大幅減少數(shù)據(jù)訪問量,減輕服務(wù)器負(fù)載和網(wǎng)絡(luò)傳輸負(fù)擔(dān),提高地圖生成、發(fā)布、顯示和瀏覽的效率[1-3].
矢量瓦片技術(shù)將瓦片服務(wù)的高效與矢量地圖的靈活結(jié)合在一起,使得矢量瓦片擁有切片優(yōu)勢的同時(shí)能夠?qū)崿F(xiàn)地圖的交互顯示.對于矢量瓦片技術(shù),不少學(xué)者做了相應(yīng)研究,ANTONIOU等[4]提出了矢量數(shù)據(jù)瓦片化方法.孫璐等[5]利用矢量瓦片技術(shù),實(shí)現(xiàn)了全國路網(wǎng)等大規(guī)模矢量數(shù)據(jù)可視化.王亞平等[6]利用開源應(yīng)用程序TileStache,得到適用于多源投影矢量地理數(shù)據(jù)的瓦片生成工具OTileTool.孫晨龍等[7]以矢量瓦片作為矢量數(shù)據(jù)的載體,利用金字塔思想,實(shí)現(xiàn)了基于LOD的矢量瓦片調(diào)度.以上學(xué)者均是基于金字塔模型,對每一層級(jí)按照均勻格網(wǎng)劃分方式對地理坐標(biāo)范圍內(nèi)的地圖進(jìn)行切分,構(gòu)建矢量瓦片.然而,由于要素空間分布的不均勻性,矢量數(shù)據(jù)往往存在要素空間稠密度不一致的現(xiàn)象,例如人口分布,在人口稠密地區(qū),每km2可能包含兆級(jí)數(shù)量的數(shù)據(jù),而在稀疏地區(qū)數(shù)據(jù)可能很少甚至沒有.采用均勻格網(wǎng)劃分的方式,會(huì)導(dǎo)致每一層級(jí)矢量瓦片間數(shù)據(jù)量不均衡,客戶端在請求瓦片數(shù)據(jù)時(shí),數(shù)據(jù)量小的瓦片能夠快速加載渲染,而數(shù)據(jù)量大的瓦片加載渲染慢,用戶等待時(shí)間長,體驗(yàn)效果差.
綜上所述,當(dāng)前對矢量瓦片構(gòu)建技術(shù)的相關(guān)研究普遍未考慮矢量數(shù)據(jù)空間分布不均勻?qū)ν咂虞d渲染的影響.針對此問題,本文提出了一種顧及要素分布特征的稠疏矢量瓦片優(yōu)化構(gòu)建方法,使得同一分辨率下的矢量瓦片數(shù)據(jù)量趨于均衡,以優(yōu)化矢量地圖瓦片的加載速度,提高渲染效率,獲得更好的用戶體驗(yàn).
瓦片是隨著互聯(lián)網(wǎng)地圖服務(wù)不斷發(fā)展以及高性能地圖服務(wù)需求而出現(xiàn)的一種新型的面向可視化的地理空間數(shù)據(jù)表達(dá)方式[8].傳統(tǒng)意義上的地圖瓦片是指將基礎(chǔ)地圖按照既定的規(guī)則分割成一定單元大小的圖片,這些圖片即柵格瓦片,其本身不含空間數(shù)據(jù)內(nèi)容,且樣式固定.文獻(xiàn)[4]所述的矢量瓦片與柵格瓦片類似,是將用于傳輸?shù)氖噶繑?shù)據(jù)按照一定大小的數(shù)據(jù)單元進(jìn)行切分,形成一定數(shù)量級(jí)的小數(shù)據(jù)單元進(jìn)行傳輸,但與柵格瓦片不同的是,矢量瓦片的每個(gè)數(shù)據(jù)單元中包含的是該數(shù)據(jù)單元范圍內(nèi)的所有要素的信息.矢量瓦片不僅擁有瓦片地圖高效的請求和傳輸,成熟的緩存、縮放比例技術(shù)的優(yōu)勢,而且具有矢量數(shù)據(jù)靈活的地圖交互顯示、自由的樣式配色及快速的地圖映射等特點(diǎn).目前,在瀏覽器端,矢量瓦片正逐漸占據(jù)越來越重要的地位.
矢量瓦片數(shù)據(jù)需要一種合適的格式進(jìn)行傳輸.目前,主要的地理信息交換格式有GeoJSON、SVG、GML、KML等.本文采用GeoJSON格式承載矢量瓦片數(shù)據(jù),GeoJSON是基于JSON擴(kuò)展的用于表示各種地理數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)格式,遵循OGC簡單要素模型,可以對地理要素進(jìn)行編碼,較SVG、GML、KML等地理信息交換格式簡潔,有利于地理數(shù)據(jù)的傳輸[9-10].GeoJSON使得矢量瓦片保留了原始矢量數(shù)據(jù)的全部空間和屬性信息,客戶端可以直接實(shí)現(xiàn)要素查詢、動(dòng)態(tài)符號(hào)渲染,甚至空間分析等復(fù)雜操作,減輕服務(wù)端矢量數(shù)據(jù)計(jì)算的壓力.
數(shù)據(jù)劃分,又稱為數(shù)據(jù)分簇(data declustering),其目的是將一塊完整的數(shù)據(jù)分割為相對小而獨(dú)立的多塊數(shù)據(jù).數(shù)據(jù)劃分策略的優(yōu)劣將直接影響系統(tǒng)的吞吐能力和I/O性能.
空間數(shù)據(jù)廣泛采用格網(wǎng)劃分,即使用平行于數(shù)據(jù)空間坐標(biāo)軸的分割線將數(shù)據(jù)空間劃分成多個(gè)均勻或不均勻的子數(shù)據(jù)空間,并將空間數(shù)據(jù)集壓縮到劃分的格網(wǎng)空間中,從而生成一定數(shù)量的網(wǎng)格單元.空間格網(wǎng)劃分的主要目的是將空間數(shù)據(jù)集離散化,用少數(shù)網(wǎng)格單元代表多數(shù)數(shù)據(jù)對象,從而降低處理的復(fù)雜度[11].空間格網(wǎng)劃分的主要方法有:一維散列劃分、采樣劃分、輪轉(zhuǎn)劃分,這類方法是利用Geohash編碼、空間填充曲線(Z曲線、Hilbert曲線等)等技術(shù)對空間格網(wǎng)先降維后進(jìn)行空間數(shù)據(jù)劃分,在一定程度上滿足了劃分區(qū)域內(nèi)要素對象的空間聚集性,保證了劃分區(qū)域的數(shù)據(jù)量均衡.
圖1 瓦片金字塔模型Fig.1 Tile-pyramid model
瓦片地圖采用的金字塔模型組織是一種多分辨率層次模型,如圖1所示,從金字塔底層至頂層,分辨率逐級(jí)降低,但表示的地圖范圍不變[12].金字塔模型每一分辨率層級(jí)都采用均勻格網(wǎng)劃分結(jié)構(gòu)對數(shù)據(jù)進(jìn)行劃分,每個(gè)網(wǎng)格單元的容積相等,即將地理坐標(biāo)范圍內(nèi)的地圖分割為大小相同(如128*128pixel,256*256pixel等)的正方形地圖瓦片,這種劃分方式的計(jì)算與索引方法簡便快捷.
矢量瓦片保留了空間要素的全部空間和屬性信息,當(dāng)空間要素分布不均勻時(shí),采用均勻格網(wǎng)的劃分方式,將會(huì)導(dǎo)致不同瓦片間存在較大的數(shù)據(jù)量差異,引起訪問時(shí)負(fù)載不均衡,影響瓦片地圖整體的加載渲染效率.此外,某些數(shù)據(jù)量大的瓦片易受到網(wǎng)絡(luò)傳輸不確定性因素的干擾導(dǎo)致加載失敗,這在一定程度上影響了用戶的體驗(yàn)感.如圖2所示,數(shù)據(jù)分布不均勻時(shí),采用均勻格網(wǎng)劃分的方式,各矢量瓦片間較大的數(shù)據(jù)量差異導(dǎo)致了瓦片間的加載渲染存在較長的時(shí)間差,易于使用戶產(chǎn)生數(shù)據(jù)已經(jīng)加載完畢或者加載失敗的錯(cuò)覺,影響用戶的體驗(yàn),而當(dāng)數(shù)據(jù)分布均勻時(shí),矢量瓦片間具有相對均衡的數(shù)據(jù)量,使得瓦片的加載速率幾乎一致,加載渲染時(shí)間差異小,瀏覽顯示效果更優(yōu).由此可知,在保證瓦片計(jì)算與索引簡單便捷的同時(shí),保證瓦片間的數(shù)據(jù)量均衡,將更能優(yōu)化瓦片的加載渲染效率,提升用戶體驗(yàn).本文借鑒此思想,將矢量數(shù)據(jù)在縱向上按照瓦片金字塔模型進(jìn)行分層,橫向上根據(jù)子瓦片數(shù)據(jù)量的差異進(jìn)行一次或多次四等分劃分,如圖3所示,保證同一層級(jí)瓦片間的數(shù)據(jù)量相對均衡,從而實(shí)現(xiàn)矢量瓦片的加載均衡化,提升加載渲染效率,改善用戶體驗(yàn).
圖2 不同空間數(shù)據(jù)分布情況的矢量瓦片加載渲染對比Fig.2 Loading and rendering contrast of vector tiles with different spatial distribution data
圖3 瓦片金字塔模型的橫向切分Fig.3 Transverse segmentation of tile-pyramid model
圖4 稠疏矢量瓦片F(xiàn)ig.4 Dense-sparse vector tiles
要素空間分布的情況直接影響矢量瓦片的數(shù)據(jù)量,針對矢量瓦片地圖金字塔模型未考慮空間要素分布不均引起的矢量地圖瓦片加載渲染效率差異和并發(fā)一致性問題,本文提出一種稠疏矢量瓦片的構(gòu)建方法,即對金字塔每一層級(jí),在空間要素密集區(qū)則格網(wǎng)密集,空間要素稀疏區(qū)則格網(wǎng)稀疏,如圖4所示.
在稠疏矢量瓦片的構(gòu)建過程中,既要保證瓦片對象間的空間鄰近性,同時(shí)要保證瓦片間數(shù)據(jù)量大致均衡,因此,需要解決以下2個(gè)關(guān)鍵問題:(1)確定數(shù)據(jù)劃分的起始層級(jí)和每一層級(jí)中子格網(wǎng)劃分的終止層級(jí);(2)對劃分后生成的瓦片對象如何進(jìn)行編碼,保證瓦片的唯一性.其中,稠疏矢量瓦片構(gòu)建過程中涉及的變量有:按照金字塔模型構(gòu)建的矢量瓦片數(shù)據(jù)集D;D對應(yīng)的最大層級(jí)號(hào)maxlevel;層級(jí)號(hào)i(0≤i≤maxlevel);每一層級(jí)的瓦片數(shù)據(jù)集Di;Di的瓦片個(gè)數(shù)Num;Di中每個(gè)瓦片的數(shù)據(jù)量Qm(0 稠疏矢量瓦片構(gòu)建過程中的初始層級(jí)與金字塔模型的層級(jí)一一對應(yīng),子格網(wǎng)由父格網(wǎng)進(jìn)行一次或者多次四等分得到,每一層級(jí)中子瓦片劃分的終止層級(jí)影響稠疏矢量瓦片構(gòu)建的質(zhì)量,過低則無法保證該層級(jí)中瓦片數(shù)據(jù)量的均衡,過高則造成不必要的過密劃分.每一層級(jí)中子瓦片劃分的終止層級(jí)可以通過比較瓦片數(shù)據(jù)量Qm與Qi,及比較劃分前后的CVbefore與CVafter確定,比較方式如下: (1)若劃分后Di中所有瓦片的Qm小于Qi,則當(dāng)前劃分層級(jí)為子瓦片的終止層級(jí); (2)若劃分后CVbefore小于CVafter,則CVbefore所處的層級(jí)為子瓦片的終止層級(jí); 只要滿足以上2個(gè)條件之一便可確定是否終止劃分.此比較方式為迭代劃分提供了依據(jù). 對于生成的稠疏矢量瓦片對象,需要采用唯一的編碼進(jìn)行標(biāo)識(shí),本文采用Geohash編碼方式對構(gòu)建的稠疏矢量瓦片進(jìn)行降維編碼.Geohash編碼是由GUSTAVO提出的一種全球性的基于經(jīng)緯度的地理編碼系統(tǒng)[13],通過將經(jīng)緯度轉(zhuǎn)換為字符串實(shí)現(xiàn)地理編碼,其核心思想是利用空間二分無限逼近方法,即將空間范圍按照經(jīng)度和緯度方向交替進(jìn)行二分,直至劃分后的空間精度滿足要求,再通過Base32字符編碼對劃分的空間分區(qū)進(jìn)行表述.具體算法如下: (1)空間二分.Geohash編碼的對象是全球的經(jīng)緯度坐標(biāo),因此,Geohash編碼的空間范圍為:緯度[-90°,90°],經(jīng)度[-180°,180°].空間劃分方式是先將經(jīng)度范圍進(jìn)行二分,左半部分范圍編碼為0,右半部分范圍編碼為1,再將緯度范圍進(jìn)行二分,下半部分范圍編碼為0,上半部分范圍編碼為1,空間范圍被一分為四.2次劃分后全球空間被劃分為編碼00、01、10、11四等份,劃分后的編碼是2次劃分編碼的拼接,第1位為經(jīng)度范圍編碼,第2位為緯度范圍編碼.按照上述方式繼續(xù)劃分,對劃分后每一空間區(qū)塊進(jìn)行空間二分,并追加編碼.劃分與編碼過程如圖5所示,可知Geohash編碼符合Z曲線編碼的特性. (2)Base32字符編碼.Geohash編碼采用0-9、b-z(去掉a、i、l、o,避免與數(shù)字混淆)這32個(gè)字符進(jìn)行編碼. Geohash編碼具有唯一性、遞歸性、空間包含性、空間鄰近性等特點(diǎn)[14],通過Geohash編碼可提高瓦片查詢檢索的速度.根據(jù)Geohash核心思想,可知Geohash編碼符合Z曲線編碼的特性,可以按照Z曲線編碼的計(jì)算方式計(jì)算Geohash二進(jìn)制編碼.因此本文通過Z曲線填充稠疏格網(wǎng),計(jì)算對應(yīng)格網(wǎng)的二進(jìn)制編碼值,如圖6所示.Geohash二進(jìn)制編碼的位數(shù)反映了空間劃分的層級(jí),位的具體數(shù)值則反映了數(shù)據(jù)的空間范圍. 圖6 Z曲線填充Fig.6 Z space-filling curve 稠疏矢量瓦片構(gòu)建流程如圖7所示,其中流程中涉及的變量含義與上一節(jié)中所述相同.具體的構(gòu)建步驟如下: (1)計(jì)算空間數(shù)據(jù)集的空間范圍,按照瓦片金字塔模型構(gòu)建矢量瓦片,得到均勻劃分的矢量瓦片數(shù)據(jù)集D; (2)瓦片劃分從第0層級(jí)開始,即i為0; (3)判斷i是否小于等于maxlevel,若是,則執(zhí)行步驟(4)~(9);否則執(zhí)行步驟(10); (4)計(jì)算第i層級(jí)的瓦片數(shù)據(jù)集Di的瓦片數(shù)據(jù)量初始平均值Qi; (5)計(jì)算Di中瓦片數(shù)據(jù)量大小的變異系數(shù)CVbefore; (6)選擇Di中瓦片數(shù)據(jù)量最大的瓦片dmax,將其平均劃分為四等分; (7)計(jì)算此時(shí)Di中瓦片數(shù)據(jù)量大小的變異系數(shù)CVafter. (8)判斷CVbefore和CVafter的大小,若CVafter小于CVbefore且Di中存在瓦片的Qm不小于Qi,則重復(fù)上述步驟(5)~(8);若CVafter大于CVbefore,則恢復(fù)dmax瓦片為未切分時(shí)的狀態(tài),直到CVbefore達(dá)到最小或者每份瓦片數(shù)據(jù)量都小于Qi時(shí)停止切分; (9)層級(jí)i加上1,執(zhí)行步驟(3); (10)完成稠疏矢量瓦片的構(gòu)建. 實(shí)驗(yàn)所用數(shù)據(jù):以寧波市行政區(qū)劃為空間范圍,鄉(xiāng)鎮(zhèn)為基本單元,模擬了各個(gè)鄉(xiāng)鎮(zhèn)不同數(shù)據(jù)量級(jí)的隨機(jī)點(diǎn)分布,共包含了783 440個(gè)點(diǎn)要素,如圖8所示. 為進(jìn)行對比分析,將實(shí)驗(yàn)數(shù)據(jù)按照2種方式進(jìn)行劃分:(1)按照傳統(tǒng)金字塔模型瓦片構(gòu)建方式構(gòu)建矢量瓦片.(2)按照本文提出的稠疏矢量瓦片構(gòu)建方式構(gòu)建矢量瓦片.然后選取2種劃方式對應(yīng)的矢量瓦片結(jié)構(gòu)的第8~13級(jí)瓦片為實(shí)驗(yàn)數(shù)據(jù),每一層級(jí)瓦片的數(shù)據(jù)情況見表1. 記錄和對比不同格網(wǎng)劃分方式下矢量瓦片的加載顯示時(shí)間.為了減少實(shí)驗(yàn)過程中網(wǎng)絡(luò)及硬件狀態(tài)產(chǎn)生的隨機(jī)誤差,矢量瓦片加載重復(fù)20次,將20次加載時(shí)間的平均值作為實(shí)驗(yàn)結(jié)果進(jìn)行分析. 圖7 稠疏矢量瓦片構(gòu)建流程Fig.7 Process of dense-parse vector tile generation 圖8 實(shí)驗(yàn)數(shù)據(jù)Fig.8 Experimental data 瓦片層級(jí)等間隔矢量瓦片數(shù)量數(shù)據(jù)量最小值/Byte數(shù)據(jù)量最大值/Byte數(shù)據(jù)量平均值/Byte稠疏矢量瓦片數(shù)量數(shù)據(jù)量最小值/Byte數(shù)據(jù)量最大值/Byte數(shù)據(jù)量平均值/Byte833826051447547635754869583826054006743121580841975056185474716246638002050561242960948632414102034724006743186324146434728459324269771811545832647964531972721508331488161151100121765801357011698107043458097352739793013625354100517152763621441354275615119938 服務(wù)器硬件環(huán)境:處理器:Intel(R) Core(TM) i7-4790 CPU @ 3.60 GHz;內(nèi)存:8 GB;操作系統(tǒng):Window 7 64位.客戶端硬件環(huán)境為:處理器:Intel(R) Core(TM)2 Duo CPU E4500 @ 2.20 GHz;內(nèi)存:4 GB;操作系統(tǒng):Windows 7 32位. 為驗(yàn)證本文提出的稠疏格網(wǎng)構(gòu)建方法的有效性,首先對基于均勻格網(wǎng)劃分方式構(gòu)建的第8~13層級(jí)的瓦片進(jìn)行加載實(shí)驗(yàn),并將實(shí)驗(yàn)結(jié)果進(jìn)行記錄.在保證各層級(jí)請求中心點(diǎn)不變的前提下,對基于稠疏格網(wǎng)劃分方式構(gòu)建的第8~13層級(jí)的瓦片數(shù)據(jù)進(jìn)行2組不同的實(shí)驗(yàn),記錄實(shí)驗(yàn)結(jié)果,并與基于均勻格網(wǎng)劃分方式的實(shí)驗(yàn)結(jié)果進(jìn)行對比.其中,實(shí)驗(yàn)1保證各層級(jí)請求的瓦片數(shù)據(jù)范圍與均勻格網(wǎng)劃分方式下各層級(jí)請求的瓦片數(shù)據(jù)范圍一致,得到的實(shí)驗(yàn)結(jié)果如表2所示;實(shí)驗(yàn)2保證瓦片請求的視窗范圍與均勻格網(wǎng)劃分方式實(shí)驗(yàn)的視窗范圍一致,得到的實(shí)驗(yàn)結(jié)果如表3所示. 從表2中可以看出,稠疏矢量瓦片的請求數(shù)據(jù)量總體上略大于均勻矢量瓦片,但差異并不顯著,這是由于GeoJSON格式包含一部分非要素屬性信息,同一請求空間范圍內(nèi)稠疏矢量瓦片數(shù)量大于等于均勻矢量瓦片,從而引起稠疏矢量瓦片的請求數(shù)據(jù)量略大于均勻矢量瓦片;2種瓦片構(gòu)建方式的瓦片請求繪制時(shí)間都隨請求數(shù)據(jù)量的增加而增加,但采用本文提出的稠疏矢量瓦片的請求繪制時(shí)間優(yōu)于均勻矢量瓦片的請求繪制時(shí)間.分析其原因,本文瓦片的請求繪制采用多線程方式,稠疏矢量瓦片各瓦片間的數(shù)據(jù)量均衡,使得瓦片請求繪制達(dá)到負(fù)載均衡,從而提升了瓦片的渲染效率.由表2中的時(shí)間比可知,在8~11級(jí),均勻矢量瓦片與稠疏矢量瓦片加載的時(shí)間比隨著層級(jí)的增加而增大,而在11~13級(jí),時(shí)間比隨著層級(jí)的增加而減小,說明瓦片的劃分粒度對稠疏瓦片的加載有影響,過小的粒度增加了瓦片的讀取和加載時(shí)間. 表2 同一空間范圍內(nèi)的矢量瓦片加載情況對比Table 2 Performance of vector tiles loading in the same spatial scope 表2中2種劃分方式下各層級(jí)請求的瓦片數(shù)據(jù)空間范圍是一致的,如圖9所示,在視窗范圍內(nèi)請求基于均勻格網(wǎng)劃分的瓦片(見圖9(a))為瓦片1~6,請求基于稠疏格網(wǎng)劃分的瓦片為瓦片a~k和瓦片1~30.但實(shí)際應(yīng)用中,往往是請求視窗范圍內(nèi)的瓦片,因此,請求基于稠疏格網(wǎng)劃分的瓦片得到的應(yīng)為瓦片1~30.由此可知,同一視窗范圍內(nèi)請求的稠疏矢量瓦片的數(shù)據(jù)范圍小于等于均勻格網(wǎng)矢量瓦片,即采用稠疏矢量瓦片可在一定程度上減少瓦片請求的數(shù)據(jù)量.表3即為同一視窗范圍內(nèi)2種劃分方式下瓦片請求的實(shí)驗(yàn)結(jié)果. 由表3知,采用稠疏格網(wǎng)劃分方式構(gòu)建的矢量瓦片可以減少瓦片加載的數(shù)據(jù)量,最高可減少近一半的數(shù)據(jù)量,數(shù)據(jù)量的減少程度與空間數(shù)據(jù)的實(shí)際分布情況有關(guān).同時(shí),采用稠疏格網(wǎng)構(gòu)建矢量瓦片的方式能夠大幅度縮短瓦片加載時(shí)間,最高可縮短一半時(shí)間. 表3 同一視窗范圍內(nèi)的矢量瓦片加載情況對比Table3 Performance of tiles loading in the same web window 圖9 視窗范圍內(nèi)2種矢量瓦片請求加載情況Fig.9 Performance of tiles loading in the web window 圖10 稠疏矢量瓦片與均勻矢量瓦片加載對比Fig.10 Loading contrast between dense-sparse vector tiles and uniform divided tiles 圖10為同一份矢量數(shù)據(jù)采用不同劃分方式構(gòu)建的矢量瓦片加載對比圖,展示了隨著時(shí)間的變化,不同劃分方式的矢量瓦片的加載情況.從圖10中可以看出,采用本文提出的稠疏格網(wǎng)劃分方法構(gòu)建的矢量瓦片在加載渲染時(shí)比均勻格網(wǎng)劃分方式下構(gòu)建的矢量瓦片更加平滑,所需時(shí)間更少,用戶體驗(yàn)更佳. 與傳統(tǒng)的金字塔模型矢量瓦片構(gòu)建方法相比,本文提出的顧及要素空間分布的矢量瓦片優(yōu)化構(gòu)建方法能夠在保證金字塔模型多層次分辨率特性的同時(shí),保證各層級(jí)矢量瓦片的數(shù)據(jù)量相對均衡化.并采用Geohash編碼方式對生成的瓦片進(jìn)行編碼,維持了瓦片間的空間鄰近性,提升了瓦片的索引效率.實(shí)驗(yàn)結(jié)果表明,該方法能夠保證數(shù)據(jù)訪問時(shí)的負(fù)載相對均衡化,減少數(shù)據(jù)傳輸量,避免出現(xiàn)單個(gè)瓦片由于數(shù)據(jù)量過大造成瓦片加載慢甚至無法加載的現(xiàn)象. 本文提出的稠疏矢量瓦片的構(gòu)建方法可提高瓦片加載渲染效率,提升用戶體驗(yàn)感. 在未來的研究中,對于非均衡數(shù)據(jù)量的矢量瓦片優(yōu)化構(gòu)建仍需深入探索.主要從兩方面考慮:一方面是優(yōu)化稠疏矢量瓦片的索引調(diào)度策略,由于稠疏矢量瓦片的構(gòu)建對每一層級(jí)中的子瓦片進(jìn)行了層次劃分,金字塔模型的瓦片索引方式在一定程度上增加了矢量瓦片查詢的復(fù)雜度,增加了瓦片調(diào)度消耗的時(shí)間;另一方面是在稠疏矢量瓦片生成過程中,結(jié)合制圖綜合理論及方法,考慮簡化要素,以減少每一層級(jí)的數(shù)據(jù)量. [1] 周侗,龍毅.我國近期移動(dòng)地圖與互聯(lián)網(wǎng)地圖發(fā)展綜述[J].地理信息與地理信息科學(xué),2012,28(5):1-5. ZHOU T, LONG Y. Review about recently development of mobile map and internet map in China[J].GeographyandGeo-InformationScience,2012,28(5):1-5. [2] 蘇旭明,譚建成.WebGIS中瓦片地圖關(guān)鍵技術(shù)研究[J].北京測繪,2012(2):9-12. SU X M, TAN J C. The research of key technologies for the tile map in WebGIS[J].BeijingSurveyingandMapping,2012(2):9-12. [3] 朱光,楊耀東.靜態(tài)多分辨率層次模型技術(shù)的研究與實(shí)踐[J].測繪通報(bào),2014(2):55-58. ZHU G, YANG Y D. Research and practice of static multi-resolution level model technology[J].BulletinofSurveyingandMapping,2014(2):55-58. [4] ANTONIOU V, MORELEY J, HAKLAY M. Tiled vectors: A method for vector transmission over the web[C]//InternationalSymposiumonWeb&WirelessGeographicalInformationSystems.Heidelberg: Springer,2009,5886:56-71. [5] 孫璐,陳犖,劉露,等.一種面向服務(wù)器制圖可視化的矢量數(shù)據(jù)多尺度組織方法[J].計(jì)算機(jī)工程與科學(xué),2014,36(2):226-232. SUN L, CHEN L, LIU L, et al. A muti-scale management method for visualization of vector data on server cluster[J].ComputerEngineering&Science,2014,36(2):226-232. [6] 王亞平,蒲英霞,劉大偉,等.基于TileStache的多源投影矢量數(shù)據(jù)瓦片生成技術(shù)研究[J].地理信息世界,2015,22(1):77-81. WANG Y P, PU Y X, LIU D W, et al. Research on the tile generation of multi-projections vector data based on TileStache[J].GeomaticsWorld,2015,22(1):77-81. [7] 孫晨龍,霍亮,高澤輝.基于矢量瓦片的矢量數(shù)據(jù)組織方法研究[J].測繪與空間地理信息,2016,39(4):122-124. SUN C L, HUO L, GAO Z H. A method of vector data organization based on vector tile[J].Geomatics&SpatialInformationTechnology,2016,39(4):122-124. [8] SAMPLE J T, IOUP E.Tile-BasedGeospatialInformationSystem[M]. Berlin:Springer-Verlag,2010. [9] BUTLER H, DALY M, DOYLE A, et al. The GeoJSON format specification[EB/OL]. [2008-06-01]. http://geojson.org/geojson-spec.html. [10] 陳德權(quán).基于GeoJSON的WFS實(shí)現(xiàn)方式[J].測繪科學(xué)技術(shù)學(xué)報(bào),2011,28(1):66-69. CHEN D Q. The realization of WFS based on GeoJSON[J].JournalofGeomaticsScienceandTechnology,2011,28(1):66-69. [11] 黃明.基于空間分區(qū)的空間聚類研究[D].武漢:武漢大學(xué),2010. HUANG M.TheResearchonSpatialDataClusteringbasedonSpacePartition[D]. Wuhan: Wuhan University,2010. [12] 郭寧,吳秋云,熊偉,等.大規(guī)模柵格數(shù)據(jù)集的瓦片金字塔快速構(gòu)建方法[J].地理信息世界,2015,22(6):43-50. GUO N, WU Q Y, XIONG W, et al. An efficient method of building tile-pyramid for massive raster dataset[J].GeomaticsWorld,2015,22(6):43-50. [13] WIKIPEDIA.Geohash[EB/OL].[2015-06-06]. http://en.wikipedia.org/wiki/Geohash. [14] 侯志通.條帶狀公路運(yùn)營管理空間大數(shù)據(jù)降維組織及混合存儲(chǔ)關(guān)鍵技術(shù)研究[D].杭州:浙江大學(xué),2007. HOU Z T.ResearchonKeyTechnologiesofDimensionReductionStorageandHybridManagementforStripingspatialBigDatainHighwayoperationManagement[D]. Hangzhou: Zhejiang University,2007. ZHU Xiaoxiao1,2, ZHANG Feng1,2, DU Zhenhong1,2, LIU Renyi1,2, YU Huafen1,3 (1. Zhejiang Provincial Key Lab of GIS, Zhejiang University, Hangzhou 310028, China; 2. Department of Geographic Information Science, Zhejiang University, Hangzhou 310027, China; 3. The Second Surveying and Mapping Institute of Zhejiang Province, Hangzhou 310012, China) The current approaches of the vector tile pyramid generation usually overlook the spatial distribution of features, resulting in data imbalance of vector tiles at the same level, hence leading to problems on tile data loading and rendering concurrency. This paper proposes a new method for the dense-sparse vector tile generation considering the spatial distribution of features. The method hierarchically decomposes vector tiles with large amount of data to achieve the relative balance of the data quantity of vector tiles in the same level. Experimental results show the efficiency of loading and rendering of the proposed method. pyramid; vector tiles; spatial distribution characteristics; data quantity P 208 :A :1008-9497(2017)05-591-08 2016-12-14. 國家自然科學(xué)基金資助項(xiàng)目(41671391,41471313,41101356,41101371,41171321);國家科技基礎(chǔ)性工作專項(xiàng)(2012FY112300);浙江省科技攻關(guān)項(xiàng)目(2014C33072,2013C33051); 國家海洋公益性行業(yè)科研專項(xiàng)經(jīng)費(fèi)資助項(xiàng)目(201505003-6). 朱笑笑(1992-),ORCID:http://orcid.org/0000-0003-0743-2298,女,碩士研究生,主要從事WebGIS應(yīng)用和時(shí)空數(shù)據(jù)建模研究. *通信作者,ORCID:http://orcid.org/0000-0001-9449-0415,E-mail:duzhenhong@zju.edu.cn. 10.3785/j.issn.1008-9497.2017.05.015 Amethodofthedense-sparsevectortilegenerationaccountingforthespatialdistributionoffeatures. Journal of Zhejiang University (Science Edition),2017, 44(5):591-5983.2 稠疏矢量瓦片的構(gòu)建
4 實(shí)驗(yàn)與分析
4.1 實(shí)驗(yàn)數(shù)據(jù)及實(shí)驗(yàn)方法
4.2 實(shí)驗(yàn)結(jié)果
5 結(jié) 論