亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于五層十五級(jí)的遙感影像瓦片式加載方法與流程

文檔序號(hào):11134184閱讀:2370來(lái)源:國(guó)知局
一種基于五層十五級(jí)的遙感影像瓦片式加載方法與制造工藝

本發(fā)明涉及遙感影像瓦片式加載方法,具體涉及一種基于五層十五級(jí)的遙感影像瓦片式加載方法。用于實(shí)現(xiàn)多時(shí)相、多來(lái)源的五層十五級(jí)瓦片數(shù)據(jù)的快速加載。



背景技術(shù):

遙感影像瓦片式加載是GIS領(lǐng)域中的重要研究?jī)?nèi)容,傳統(tǒng)的瓦片金字塔模型不能將多源異構(gòu)的遙感影像數(shù)據(jù)進(jìn)行統(tǒng)一的存儲(chǔ)和管理,不能良好的支持的多時(shí)相、來(lái)源的遙感影像的同時(shí)加載,五層十五級(jí)瓦片數(shù)據(jù)組織模型可以很好的解決多源異構(gòu)遙感影像統(tǒng)一存儲(chǔ)和管理的難題,同時(shí)瓦片緩存置換策略通常被用于提高瓦片的加載效率,常用的瓦片緩存置換策略包括FIFO(先進(jìn)先出),LFU(最近最少使用),LRU(近期最少使用)等。

本發(fā)明中涉及到的名詞解釋。

GIS(Geographic Information System)有時(shí)又稱(chēng)為“地學(xué)信息系統(tǒng)”。它是一種特定的十分重要的空間信息系統(tǒng)。它是在計(jì)算機(jī)硬、軟件系統(tǒng)支持下,對(duì)整個(gè)或部分地球表層(包括大氣層)空間中的有關(guān)地理分布數(shù)據(jù)進(jìn)行采集、儲(chǔ)存、管理、運(yùn)算、分析、顯示和描述的技術(shù)系統(tǒng)。

瓦片金字塔模型是一種多分辨率層次模型,每層細(xì)分為大小相等的矩陣瓦片,瓦片包含固定數(shù)據(jù)的采樣點(diǎn)。目前絕大多數(shù)金字塔模型采用倍率的方法進(jìn)行構(gòu)建,使用此種構(gòu)建方法可以形成多個(gè)分辨率或者多個(gè)比例尺。金字塔模型中,在一定的地理范圍內(nèi),隨著層級(jí)的不斷降低,其所代表的分辨率也越來(lái)越高,各層分辨率與層級(jí)的關(guān)系可以用一個(gè)公式來(lái)表示。

五層十五級(jí)數(shù)據(jù)組織模型是傳統(tǒng)的瓦片金字塔模型的一種改進(jìn),該數(shù)據(jù)組織方式摒棄了傳統(tǒng)金字塔模型中四叉樹(shù)的切分標(biāo)準(zhǔn),制定了五層十五級(jí)的分級(jí)標(biāo)準(zhǔn),該分級(jí)標(biāo)準(zhǔn)從大的范圍劃分為五層,每一層又從小的范圍劃分為三個(gè)層級(jí),總共十五級(jí)。

瓦片緩存置換策略是指示系統(tǒng)緩存中哪些緩存應(yīng)該被刪除的策略。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是為克服現(xiàn)有技術(shù)存在的問(wèn)題,提供一種基于五層十五級(jí)的遙感影像瓦片式加載方法。

本發(fā)明所采用的技術(shù)方案如下:

基于五層十五級(jí)的多時(shí)相遙感影像瓦片式加載方法,包括如下步驟:

步驟1:客戶(hù)端發(fā)送包含顯示范圍及層級(jí)的瓦片元數(shù)據(jù)請(qǐng)求;

步驟2:客戶(hù)端接收返回的瓦片元數(shù)據(jù)信息并生成瓦片選擇控件;

步驟3:客戶(hù)端依據(jù)用戶(hù)選擇的瓦片確定瓦片數(shù)據(jù)來(lái)源;

步驟4:客戶(hù)端加載瓦片數(shù)據(jù)并更新緩存索引。

上述技術(shù)方案中,各步驟可采用如下優(yōu)選方式:

所述的步驟1)包括:

1.1)獲取地圖容器當(dāng)前地圖顯示范圍以及顯示層級(jí):地圖左上角坐標(biāo)為(LeftLat,LeftLon),右下角坐標(biāo)為(RightLat,RightLon),顯示層級(jí)為Z;

1.2)計(jì)算地圖顯示范圍的起訖行列號(hào):根據(jù)步驟(1)中的左上角和右下角坐標(biāo)得到當(dāng)前屏幕范圍的起訖行列號(hào)startx、starty、endx和endy,計(jì)算公式為:

row=(x+90°)/d

col=(y+180°)/d

其中row代表行號(hào),col代表列號(hào),x、y分別代表坐標(biāo)點(diǎn)的經(jīng)度、緯度,d代表分割間度;

1.3)客戶(hù)端向服務(wù)器發(fā)送包含層級(jí)、行列號(hào)信息的元數(shù)據(jù)請(qǐng)求。

所述的步驟2)包括:

2.1)客戶(hù)端接收服務(wù)器返回的瓦片元數(shù)據(jù)信息;

2.2)客戶(hù)端依據(jù)瓦片元數(shù)據(jù)信息中每個(gè)瓦片的產(chǎn)品名稱(chēng)和生產(chǎn)時(shí)間生成瓦片選擇控件。

所述的步驟3)包括:

3.1)客戶(hù)端根據(jù)瓦片名稱(chēng)檢索本地緩存索引,判斷是否存在客戶(hù)端緩存;

3.2)若客戶(hù)端存在瓦片緩存,讀取緩存瓦片文件;若不存在,向服務(wù)器端請(qǐng)求該瓦片。

所述的步驟4)包括:。

4.1)客戶(hù)端加載顯示上一步驟返回的瓦片數(shù)據(jù);

4.2)若上一步驟加載的瓦片來(lái)自本地緩存,更新本地緩存索引;更新last_access_time為客戶(hù)端系統(tǒng)當(dāng)前時(shí)間,access_times自增1;

4.3)若上一步加載的瓦片數(shù)據(jù)來(lái)自服務(wù)器,判斷緩存空間是否已滿(mǎn),若未滿(mǎn),將瓦片數(shù)據(jù)本地化緩存,并插入緩存索引,其中row_num為瓦片的行號(hào),column為列號(hào),level_num為瓦片層級(jí),product為瓦片產(chǎn)品類(lèi)型,tile_size為瓦片文件大小,data_time為瓦片生產(chǎn)時(shí)間,create_time為瓦片首次存儲(chǔ)時(shí)間,last_access_time為瓦片最后一次讀取時(shí)間,access_times為瓦片讀取次數(shù),geometry為瓦片顯示范圍;

4.4)繼續(xù)上一步,若緩存空間已滿(mǎn),則執(zhí)行瓦片緩存置換,刪除部分瓦片數(shù)據(jù),具體為根據(jù)瓦片價(jià)值公式,計(jì)算每個(gè)瓦片的緩存價(jià)值,對(duì)所有緩存瓦片進(jìn)行排序,刪除瓦片緩存價(jià)值較低瓦片,然后插入服務(wù)器返回瓦片索引,瓦片價(jià)值公式為:V(i)=0.03×Vspatial(i)+0.03×Vtime(i)+0.7×Vsize(i)+0.12×Vproduct(i)+0.12×Vdata_time(i)

上式中,V(i)代表瓦片的空間數(shù)據(jù)價(jià)值,Vspatial(i)、Vtime(i)、Vsize(i)分別代表瓦片的空間價(jià)值、時(shí)間價(jià)值、文件大小價(jià)值,Vproduct(i)代表瓦片的產(chǎn)品類(lèi)型價(jià)值,Vdata_time(i)代表瓦片的生產(chǎn)時(shí)間價(jià)值;各變量值計(jì)算方法如下:

Vspatial(i)=Area(i)/D(i)

其中:Area(i)為瓦片數(shù)據(jù)有效范圍的面積,D(i)為瓦片的數(shù)據(jù)距離,并且0≤Area(i)<1時(shí),設(shè)定Area(i)為1,當(dāng)0≤D(i)<1時(shí),設(shè)定D(i)=1;

Vtime(i)=1/(current_time-store_time(i))/(access_count(i))

其中:current_time為系統(tǒng)當(dāng)前時(shí)間,store_time(i)為瓦片首次存儲(chǔ)時(shí)間,access_count(i)為瓦片被訪(fǎng)問(wèn)次數(shù);

Vsize(i)=1/(size(i))/(benchmark_size)+1

其中:size(i)為瓦片數(shù)據(jù)大小,benchmark_size為基準(zhǔn)數(shù)據(jù),基準(zhǔn)數(shù)據(jù)為緩存瓦片數(shù)據(jù)的平均值;

Vproduct(i)=(count(p))/count

其中:count代表瓦片緩存總個(gè)數(shù),count(p)代表該產(chǎn)品類(lèi)型在緩存中的總個(gè)數(shù);

Vdata_time(i)=(count(d))/count

其中:count(d)代表同一生產(chǎn)時(shí)間的瓦片在緩存中的總個(gè)數(shù)。

本發(fā)明與現(xiàn)有技術(shù)相比具有有益效果:

第一,實(shí)現(xiàn)了多時(shí)相、多來(lái)源的遙感影像瓦片式加載,使得用戶(hù)同時(shí)瀏覽、獲取不同來(lái)源、時(shí)期的遙感影像成為可能;

第二,提高了五層十五級(jí)瓦片在客戶(hù)端的加載效率,降低了客戶(hù)端內(nèi)存和流量的消耗;

附圖說(shuō)明

圖1為本發(fā)明基于五層十五級(jí)的遙感影像瓦片式加載流程示意圖;

圖2為本發(fā)明客戶(hù)端五層十五級(jí)瓦片緩存索引示意圖;

具體實(shí)施方式

下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式作進(jìn)一步詳細(xì)描述。

圖1是本發(fā)明的基于五層十五級(jí)的遙感影像瓦片式加載流程圖。如圖1所示,本發(fā)明的方法包括以下步驟:

而本實(shí)施例中,各步驟的具體實(shí)現(xiàn)如下:

步驟1:客戶(hù)端發(fā)送包含顯示范圍及層級(jí)的瓦片元數(shù)據(jù)請(qǐng)求;具體包括:

1.1)獲取地圖容器當(dāng)前地圖顯示范圍以及顯示層級(jí)。假定地圖左上角坐標(biāo)為(LeftLat,LeftLon)右下角坐標(biāo)為(RightLat,RightLon),顯示層級(jí)為Z;

1.2)計(jì)算地圖顯示范圍的起訖行列號(hào)。將步驟(1)中的左上角和右下角坐標(biāo)代入下面公式,得到當(dāng)前屏幕范圍的起訖行列號(hào)startx,starty,endx,endy

row=(x+90°)/d

col=(y+180°)/d

其中row代表行號(hào),col代表列號(hào),x、y代表坐標(biāo)點(diǎn)的經(jīng)緯度,d代表分割間度,d可由五層十五級(jí)標(biāo)準(zhǔn)層級(jí)模式表(如表1)根據(jù)層級(jí)Z獲得;

表1 五層十五級(jí)標(biāo)準(zhǔn)層級(jí)模式

1.3)客戶(hù)端向服務(wù)器發(fā)送包含層級(jí)、行列號(hào)信息的元數(shù)據(jù)請(qǐng)求;

步驟2:客戶(hù)端接收返回的瓦片元數(shù)據(jù)信息并生成瓦片選擇控件;具體包括:

2.1)客戶(hù)端接收服務(wù)器返回的瓦片元數(shù)據(jù)信息。服務(wù)器端返回的數(shù)據(jù)示例:["GF1_WFV3_20141220_1_8_478_1199.png","GF1_WFV3_20141220_1_8_477_1199.png","GF1_WFV3_20141220_1_8_478_1200.png","GF1_WFV3_20141225_1_8_477_1199.png"];

2.2)客戶(hù)端依據(jù)瓦片元數(shù)據(jù)信息中每個(gè)瓦片的產(chǎn)品名稱(chēng)和生產(chǎn)時(shí)間生成瓦片選擇控件。如GF1_WFV3_20141220_1_8_478_1199.png,其產(chǎn)品類(lèi)型為GF-1,生產(chǎn)時(shí)間為2014年12月20日。

步驟3:客戶(hù)端依據(jù)用戶(hù)選擇的瓦片確定瓦片數(shù)據(jù)來(lái)源;具體包括:

3.1)客戶(hù)端根據(jù)瓦片名稱(chēng)檢索本地緩存索引,緩存索引如附圖2所示,判斷是否存在客戶(hù)端緩存;

3.2)若客戶(hù)端存在瓦片緩存,讀取緩存瓦片文件;若不存在,向服務(wù)器端請(qǐng)求該瓦片。

步驟4:客戶(hù)端加載瓦片數(shù)據(jù)并更新緩存索引;具體包括:

4.1)客戶(hù)端加載顯示上一步驟返回的瓦片數(shù)據(jù);

4.2)若上一步驟加載的瓦片來(lái)自本地緩存,更新本地緩存索引;更新last_access_time為客戶(hù)端系統(tǒng)當(dāng)前時(shí)間,access_times自增1;

4.3)若上一步加載的瓦片數(shù)據(jù)來(lái)自服務(wù)器,判斷緩存空間是否已滿(mǎn),若未滿(mǎn),將瓦片數(shù)據(jù)本地化緩存,并插入緩存索引,其中row_num為瓦片的行號(hào),column為列號(hào),level_num為瓦片層級(jí),product為瓦片產(chǎn)品類(lèi)型,tile_size為瓦片文件大小,data_time為瓦片生產(chǎn)時(shí)間,create_time為瓦片首次存儲(chǔ)時(shí)間,last_access_time為瓦片最后一次讀取時(shí)間,access_times為瓦片讀取次數(shù),geometry為瓦片顯示范圍;

4.4)繼續(xù)上一步,若緩存空間已滿(mǎn),則執(zhí)行瓦片緩存置換,刪除部分瓦片數(shù)據(jù),具體方法為:根據(jù)瓦片價(jià)值計(jì)算公式,計(jì)算每個(gè)瓦片的緩存價(jià)值,對(duì)所有緩存瓦片進(jìn)行排序,刪除瓦片緩存價(jià)值較低瓦片,然后插入服務(wù)器返回瓦片索引。瓦片價(jià)值公式:V(i)=0.03×Vspatial(i)+0.03×Vtime(i)+0.7×Vsize(i)+0.12×Vproduct(i)+0.12×Vdata_time(i)

上式中,V(i)代表瓦片的空間數(shù)據(jù)價(jià)值,Vspatial(i)、Vtime(i)、Vsize(i)分別代表瓦片的空間價(jià)值、時(shí)間價(jià)值、文件大小價(jià)值,Vproduct(i)代表瓦片的產(chǎn)品類(lèi)型價(jià)值。Vdata_time(i)代表瓦片的生產(chǎn)時(shí)間價(jià)值。各變量值計(jì)算方法如下:

Vspatial(i)=Area(i)/D(i)

Area(i)為瓦片數(shù)據(jù)有效范圍的面積,D(i)為瓦片的數(shù)據(jù)距離,并且規(guī)定0≤Area(i)<1時(shí),設(shè)定Area(i)為1,當(dāng)0≤D(i)<1時(shí),設(shè)定D(i)=1。Vtime(i)=1/(curr

ent_time-store_time(i))/(access_count(i))

current_time為系統(tǒng)當(dāng)前時(shí)間,store_time(i)為瓦片首次存儲(chǔ)時(shí)間,access_count(i)為瓦片被訪(fǎng)問(wèn)次數(shù)。

Vsize(i)=1/(size(i))/(benchmark_size)+1

size(i)為瓦片數(shù)據(jù)大小,benchmark_size為基準(zhǔn)數(shù)據(jù),基準(zhǔn)數(shù)據(jù)為緩存瓦片數(shù)據(jù)的平均值。

Vproduct(i)=(count(p))/count

count代表瓦片緩存總個(gè)數(shù),count(p)代表該產(chǎn)品類(lèi)型在緩存中的總個(gè)數(shù)。

Vdata_time(i)=(count(d))/count

count代表瓦片緩存總個(gè)數(shù),count(d)代表同一生產(chǎn)時(shí)間的瓦片在緩存中的總個(gè)數(shù)。

本發(fā)明提出的方法利用五層十五級(jí)瓦片數(shù)據(jù)組織模型,實(shí)現(xiàn)了多時(shí)相、來(lái)源的遙感影像瓦片式加載,并且針對(duì)五層十五級(jí)瓦片的數(shù)據(jù)特點(diǎn),設(shè)計(jì)了一套瓦片緩存置換策略,其提高了瓦片加載的效率。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1