日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

WMTS服务解析

發(fā)布時間:2023/12/1 综合教程 32 生活家
生活随笔 收集整理的這篇文章主要介紹了 WMTS服务解析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

WMTS服務(wù)解析

1、基本思路

拼接地址,請求xml文件

處理獲取的xml文件,返回參數(shù)

獲取xml解析得到的參數(shù),組織結(jié)構(gòu)

2、對應(yīng)函數(shù)

requestWMTS?(olUrl)

handleWMTS(xml,fullName)

getWMTSparam(curRecord)

3、操作步驟

①點(diǎn)擊【添加服務(wù)】

②輸入名稱、鏈接、類型

③點(diǎn)擊【確定】(解析保存)

4、解析須知

(1)拼接地址結(jié)構(gòu)

添加服務(wù)地址:http://你的Geoserver網(wǎng)址/gwc/service/wmts/rest/csdn:CSDNDOM/{style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}?format=image/png

結(jié)構(gòu):

Geoserver地址/gwc/service/wmts/rest/切片名/{style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}?format=image/png

拼接地址結(jié)構(gòu):

geoserverUrl + "/gwc/service/wmts?service=WMTS&version=1.0.0&request=GetCapabilities"

geoserverUrl即為geoserver服務(wù)地址;

service = WMTS即為wmts服務(wù);

version=1.0.0即為geoserver版本,這個可以向下兼容;

request=GetCapability即為獲取wmts全部信息;

?

(2)xml節(jié)點(diǎn)中冒號:問題

基本解決思路為:

將xml轉(zhuǎn)為字符串,將:替換為規(guī)定符號(我用的C,后來直接將ows:替換為ows),再將string轉(zhuǎn)為xml便于解析;

還有一種思路為:將xml轉(zhuǎn)為字符串,使用正則表達(dá)式遍歷,得到結(jié)果;

法一:缺點(diǎn)為若正巧出現(xiàn)關(guān)于C的特殊情況(后來直接將ows:替換為ows),需注意,且不建議使用特殊符號,建議使用大寫字母。

法二:若熟練使用正則表達(dá)式還是建議使用正則表達(dá)式,更適合處理一些突發(fā)情況,但xml文件中內(nèi)容很多,可能耗費(fèi)時間。

(3)關(guān)于wmts參數(shù)

?

?

存儲參數(shù)結(jié)構(gòu)

?

?

加載需要參數(shù)結(jié)構(gòu)

Wmts的xml文件鏈接:http://你的geoserver/gwc/service/wmts?service=WMTS&version=1.0.0&request=GetCapabilities

參數(shù)注:

Format一般為image/png,但也可能為image/jpeg等,但不影響加載;

Projection的units即為單位一般為度,這個要讓他們發(fā)布服務(wù)時注意;

tilegrid中的extent和origin均用世界的,由于geoserver中openlayers的例子中是用的世界范圍,我也用的世界范圍,若有天需要范圍可在xml文件中中拿到,然后計算中心即可;

tilegrid中的resolution與matrixIds是對應(yīng)的,且xml文件中只能拿到matrixIds,拿不到resolution,我是將代碼中寫入了22級resolution,來與matrixIds對應(yīng),一般沒問題,但他的級別是有30級的,若果真用到了就再把剩下的8級給加上。

5、鏈接獲取

【添加服務(wù)】中鏈接的來源:

①geoserver發(fā)布wmts服務(wù)

②使用拼接地址拿到xml文件,用wmts名稱查找到Layer位置,然后去拿圖中地址

如圖:

注意是第一個鏈接地址。

6、代碼細(xì)節(jié)

其實(shí)在代碼中完全可以看懂,略顯繁瑣,可以不看。

①hadleWMTS的maxtrixSet參數(shù)即為切片方案的名稱,解析過程為拿到中的,之后去找下的對應(yīng)的內(nèi)容(即為切片方案名)進(jìn)行比對,再在上層,拿到對應(yīng)的級別的chidlren放在數(shù)組中。

?

②在現(xiàn)有的geoserver版本下,默認(rèn)的matrixIds級別模板為crs:1,利用這點(diǎn),利用split方法拿到坐標(biāo)系code;百度后發(fā)現(xiàn),大概在geoserver2.0后版本默認(rèn)的級別模板有所不同。

?

③加載wmts需要的參數(shù),最終組織在名為source的json對象中;像之前的【添加服務(wù)】功能是需要獲取中心Center和范圍Extent的,至于這點(diǎn)代碼我也寫了,若后期需要請自行取用(需要刪改),其中為了不進(jìn)行彈窗配置,在數(shù)據(jù)庫的remark字段中,將其全部作為raster處理。

?

④獲取的wmts的xml文件中有的對應(yīng)兩個切片方案,這個應(yīng)該是該圖層未進(jìn)行切片處理,也可能是geoserver中設(shè)置對應(yīng)了兩個切片方案(應(yīng)該不是),這點(diǎn)有待考證。

?

⑤還有一個點(diǎn)是,我只將解析的source,return了出來,至于formvalue我不知數(shù)據(jù)庫中將如何組織,便未將名稱鏈接等組織在內(nèi),其余暫時已無需要注意的點(diǎn)。

?

注:WMS服務(wù)解析類似,掌握WMTS服務(wù)解析,極易掌握WMS解析。

掃碼關(guān)注公眾號

總結(jié)

以上是生活随笔為你收集整理的WMTS服务解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。