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

GeoServer瓦片緩存機制研究

2011-06-12 08:55:18陽華劉振宇許文明
網絡安全技術與應用 2011年4期
關鍵詞:瓦片數據庫

陽華 劉振宇 許文明

南華大學計算機科學與技術學院 湖南 421001

0 引言

GeoWebCache通過存儲(緩存)地圖圖片或瓦片,當它們被請求時,GeoWebCache致力于充當客戶端(OpenLayer或Google Maps)服務端(GeoServer或其他WMS服務)間的代理。GeoWebCache(GWC)是一個采用Java實現用于緩存WMS(eb Map Service)Tile的開源項目。當地圖客戶端請求一張新地圖和Tile時,GeoWebCache將攔截這些調用然后返回緩存過的Tiles。如果找不到緩存再調用服務器上的Tiles,從而提高地圖展示的速度,實現更好的用戶體驗。如圖1所示,服務器中藍色的柱體就是瓦片的倉庫。事實上,我們只需直接請求瓦片倉庫而不需要咨詢WMS服務,就可以拼湊出龐大的地圖,因為GeoWebCache每秒鐘可以應答成百上千的請求。

圖1 eoWebCache在架構中所處的位置

1 實現的關鍵技術

1.1 金字塔模型

對于Web而言,將矢量圖層渲染為柵格數據是一個昂貴的計算過程。如果矢量圖層并不是經常修改,這樣一次次重復描繪同樣的線條就是在浪費寶貴的CPU。當Google Maps推出瓦片地圖后,大一些的地圖網站紛紛效仿,都是預先渲染好標注得很完美的海量圖片,然后將這些大圖片分割為256*256像素的瓦片,這些瓦片很小,以致它們下載很快,它們的文件名不會改變,以致瀏覽器能快速緩存起來。

研究Google Maps可以發現,google地圖有0~17共十八級縮放比例,其瓦片大小為256*256,當0級比例尺為1:10000公里時,是一副循環的世界地圖圖片,以后每放大一級,比例尺增大一倍,在上一級的瓦片基礎上再一分為四個256*256的瓦片,分辨率也越來越高,顯示的內容越來越豐富,17級最豐富。這就是WebGIS中常用的金字塔模型,如圖2所示。

圖2 字塔模型

1.2 地圖切割原理

創建地圖緩存之前先要設計地圖,在實際應用中Web地圖通常包含底圖和功能性的專題圖層,需要對它們分別切割。GeoServer也可采用類似google同樣的切割方法,切割完的圖片按照 c_r.png的格式進行編碼命名,存儲于名為EPSG_投影編碼_s的文件夾中,s為比例尺級別;r為行號,c 為列號,0<r<2s,0<c<2s,第一行行號為 00,第一列列號為:00。其命名規則如圖3所示。

圖3 片分割命名規則

根據以上圖片切割編碼規則,可以得到如下換算公式來完成圖片像素坐標和實際地理坐標之間的換算關系:

(1)已知條件和變量:

① 已知待切地圖范圍:左上角坐標 (Xmin,Ymax);右下角坐標 (Xmax,Ymin)。

② 已知切圖后圖片的高寬:width。

③ 地圖跨度: ΔX=Xmax-Xmin; ΔY=Ymax-Ymin。

④ 當前坐標:(X,Y) 。

⑤ 當前瓦片名:c_r.png,所在列cv= c;所在行rv=r;所在的文件夾名EPSG4326_b,比例尺級別loc=b。

⑥ 當前瓦片范圍:左上角坐標 (tileXmin,tileYmax);右下角坐標 (tileXmax,tileYmin)。

(2)根據當前瓦片名稱計算當前瓦片范圍:(3)根據坐標和比例尺計算當前圖片所在的行列號:

(4)當前坐標在當前圖片上的像素坐標( , )pXpY:

1.3 一致性機制

一致性維護機制保證 Web緩存庫中的地圖信息與底層空間數據庫中的地圖信息一致,各Web緩存數據庫之間信息一致。具體的一致性維護是通過并行的兩步實現的。

第一,客戶端修改地圖,向服務器發出修改信息,Web服務器在完成修改后,會計算出此次請求所改動的圖片,于是向應用服務器請求并獲得更新的圖片,然后用新圖片替代緩存中的舊圖片,從而使當前緩存數據庫與底層空間數據庫中的信息一致。

第二,Web服務器感知信息,當應用服務器成功響應客戶的修改地圖請求后,應用服務器會通知各Web服務器,各Web服務器判斷此更改是否影響本地Web緩存,如果不影響就不處理該消息,否則就向應用服務器發送新的獲取地圖請求,將緩存中原有地圖圖片替換。

2 部署與訪問

由于GeoWebCache是一個采用Java實現用于緩存WMS Tile的開源項目,開源的GWC和Geoserver均滿足J2EE規范,發布的時候只需將geowebcache.war文件復制于tomcat的webapp目錄下,可修改tomcat端口為8088,以中國地圖Chinese為例,將一副中國地圖發布至 GeoServer后,修改tomcat下WEB-INF/class目錄下的geoserver.xml,添加如下xml:

<wmsLayer>

<name>China</name>

<mimeFormats><string>image/png</string></mimeFormats>

<!-- Grid Subset Example -->

<gridSubsets>

<gridSubset>

<gridSetName>EPSG:4326</gridSetName>

<extent>

<coords>

<double>73.447</double>

<double>3.048</double>

<double>135.086</double>

<double>53.558</double>

</coords>

</extent>

</gridSubset>

</gridSubsets><

wmsUrl>

<string>http://localhost:8080/geoserver/wms</string>

</wmsUrl>

<wmsLayers>Chinese:bou2_41</wmsLayers>

<transparent>false</transparent>

<bgColor>0x0066FF</bgColor>

<expireCacheList>

<expirationRule minZoom="0" expiration="60" />

</expireCacheList>

<expireClientsList>

<expirationRule minZoom="0" expiration="500" />

</expireClientsList>

</wmsLayer>

在geowebcache目錄下新建Chinese.html,加入如下客戶端訪問代碼:

var map, layer;

function init(){

map = new OpenLayers.Map('map');

var bounds = new OpenLayers.Bounds(73.447,3.408,135.086,53.558);

layerpublic = new OpenLayers.Layer.WMS( "china",

"http://localhost:8088/geowebcache/service/wms?layers=China",

{

layers: 'China',

format: 'image/png',

tiled: false,

transparent: true

},

{

reproject: true,isBaseLayer: true

}

);

map.addLayer(layer);

map.zoomToExtent(bounds);

}

打開瀏覽器,輸入http://localhost:8088/geowebcache/Chinese.html,就可以訪問一副由瓦片構造的中國地圖了。

3 結語

目前,WebGIS整合Ajax客戶端的技術日趨成熟,客戶端框架也逐漸增多,隨著空間地圖數據的日益增多,空間交互也變得越來越復雜,單獨依賴開源的客戶端和成熟的WebGIS服務已經不能滿足大型 WebGIS系統開發的要求,所以在開發過程中需要整合第三方平臺,實現更高效的開發,本文通過對瓦片金字塔的創建、內部原理、發布等關鍵技術的描述,對多平臺整合有一定的幫助。

[1]GeoWebCache Documention[EB/OL]. http://geowebcache.org/docs/current/ntroduction/whatis.html.

[2]Scott Davis,蔣波濤譯.GIS for Web Developers[M].北京:電子工業出版社.2008.

[3]殷福忠,孫立民.基于瓦片金字塔技術的地圖發布平臺開發研究[J].測繪與空間地理信息.2010.

[4]張俊麗,李艷明,李欣.WebGIS地圖圖片緩存技術研究[J].微計算機信息.2009.

猜你喜歡
瓦片數據庫
河水
遼河(2025年7期)2025-07-25 00:00:00
慣性
揚子江(2019年1期)2019-03-08 02:52:34
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
基于NoSQL數據庫的瓦片地圖服務
主站蜘蛛池模板: 2021国产精品自拍| 大香网伊人久久综合网2020| 国产精品露脸视频| 亚洲欧美成人综合| 一本无码在线观看| 国产成人啪视频一区二区三区| 爆乳熟妇一区二区三区| 亚洲综合久久一本伊一区| 亚洲欧洲综合| 色一情一乱一伦一区二区三区小说| 国产香蕉在线| 国产激爽大片高清在线观看| 免费福利视频网站| 曰AV在线无码| 毛片免费观看视频| 日本精品影院| 亚洲永久色| 久久国产高清视频| 亚洲精品国产日韩无码AV永久免费网 | 久久99热66这里只有精品一| 国产精品夜夜嗨视频免费视频| 国产成在线观看免费视频 | 午夜性刺激在线观看免费| 国产在线观看一区二区三区| 日韩成人免费网站| 91精品国产自产在线老师啪l| 91在线精品免费免费播放| 亚洲综合极品香蕉久久网| 久久精品娱乐亚洲领先| 一本综合久久| 激情综合五月网| 久久99国产综合精品女同| 超薄丝袜足j国产在线视频| 亚洲热线99精品视频| 国产aⅴ无码专区亚洲av综合网| 亚洲乱码在线视频| 91国内视频在线观看| 日韩大乳视频中文字幕| 国产黄视频网站| 国产区91| 凹凸国产分类在线观看| 色有码无码视频| 国产成人区在线观看视频| 一级黄色欧美| 成年片色大黄全免费网站久久| 欧美国产综合视频| 自偷自拍三级全三级视频| 免费A级毛片无码免费视频| 黄色福利在线| 黄色网址免费在线| 在线观看精品国产入口| 国产真实二区一区在线亚洲| 日本精品αv中文字幕| 欧美在线观看不卡| 中文字幕在线日本| 日韩第九页| av一区二区三区高清久久| 欧美在线导航| 99久久精品免费观看国产| 国产精品一区二区不卡的视频| 国产激情无码一区二区免费| 婷婷午夜影院| 色视频久久| 亚洲天堂啪啪| 在线观看国产小视频| 亚洲av无码片一区二区三区| 欧美一级片在线| 免费精品一区二区h| 欧美19综合中文字幕| 97国内精品久久久久不卡| 国模极品一区二区三区| 成人在线第一页| 99热这里都是国产精品| 免费人欧美成又黄又爽的视频| 亚洲国产精品无码久久一线| 国产白浆在线| 亚洲婷婷六月| 婷婷综合缴情亚洲五月伊| 伊人久久久久久久久久| 亚洲日本中文字幕乱码中文| 国产午夜在线观看视频| 亚洲男人在线|