wmts格式说明_OGC标准介绍 19
I. WMTS-切片地圖Web服務
WMTS(OpenGIS? Web Map Tile Service)當前版本是1.0.0。WMTS標準定義了一些操作,這些操作允許用戶訪問切片地圖。WMTS可能是OGC首個支持RESTful訪問的服務標準。
· WMTS的原理和操作
WMTS的切片坐標系統和其組織方式可參考圖 17:
圖23 WMTS的坐標系統和組織方式
如果知道一個請求的邊界范圍,可以根據以下的算法獲取切片的序號:
// 計算切片序號范圍
epsilon = 1e-6[1] //一個不影響坐標精度的小數值
tileMinCol = floor((bBoxMinX – tileMatrixMinX) / tileSpanX + epsilon)
tileMaxCol = floor((bBoxMaxX – tileMatrixMinX) / tileSpanX – epsilon)
tileMinRow = floor((tileMatrixMaxY – bBoxMaxY) / tileSpanY + epsilon)
tileMaxRow = floor((tileMatrixMaxY – bBoxMinY) / tileSpanY – epsilon)
// 避免超出范圍
if (tileMinCol < 0) tileMinCol = 0
if (tileMaxCol >= matrixWidth) tileMaxCol = matrixWidth-1
if (tileMinRow < 0) tileMinRow = 0
if (tileMaxRow >= matrixHeight) tileMaxRow = matrixHeight-1
在一個WMTS服務中包括以下3個操作:
GetCapabilities(獲取服務的元信息)
GetTile(獲取切片)
GetFeatureInfo(可選,獲取點選的要素信息)
可以看到這些操作和WMS的操作非常的異曲同工。
GetCapabilities操作需要以下的參數:
參數
是否必須
默認值
SERVICE
是
WMTS
REQUEST=GetCapabilities
是
以下是一個WMTS使用KVP格式的GetCapabilities操作示例:
http://www.maps.bob/maps.cgi?
service=WMTS&
request=GetCapabilities
以下是一個WMTS使用SOAP格式的GetCapabilities操作示例:
xmlns="http://www.opengis.net/ows/1.1">
1.0.0Version>
AcceptVersions>
application/xmlOutputFormat>
AcceptFormats>
GetCapabilities>
soap:Body>
soap:Envelope>
GetCapabilities返回的就是服務的元信息(ServiceMetadata),因此RESTful格式請求就是一個指向元信息的資源地址,下面是一個WMTS使用RESTful格式的GetCapabilities操作示例:
http://www.maps.bob/1.0.0/WMTSCapabilities.xml
GetTile操作需要以下的參數:
參數
是否必須
默認值
SERVICE
是
WMTS
REQUEST=GetTile
是
VERSION
是
1.0.0
LAYER
是
STYLE
是
FORMAT
是
TILEMATRIXSET
是
TILEMATRIX
是
TILEROW
是
TILECOL
是
Sample dimensions參數
以下是一個WMTS使用KVP格式的GetTile操作示例:
http://www.maps.bob/maps.cgi?
service=WMTS&
request=GetTile&
version=1.0.0&
layer=etopo2&
style=default&
format=image/png&
TileMatrixSet=WholeWorld_CRS_84&
TileMatrix=10m&
TileRow=1&
TileCol=3
以下是一個WMTS使用SOAP格式的GetTile操作示例:
xmlns="http://www.opengis.net/wmts/1.0">
etopo2Layer>
image/pngFormat>
WholeWorld_CRS_84TileMatrixSet>
10mTileMatrix>
1TileRow>
3TileCol>
GetTile>
soap:Body>
soap:Envelope>
以下是一個WMTS使用RESTful格式的GetTile操作示例:
http://www.maps.bob/etopo2/default/WholeWorld_CRS_84/10m/1/3.png
GetFeatureInfo操作需要以下的參數:
參數
是否必須
默認值
SERVICE
是
WMTS
REQUEST=GetFeatureInfo
是
VERSION
是
1.0.0
GetTile請求參數
I
是
J
是
INFOFORMAT
是
以下是一個WMTS使用KVP格式的GetFeatureInfo操作示例:
http://www.maps.bob/maps.cgi?
service=WMTS&
request=GetFeatureInfo&
version=1.0.0&
layer=coastlines&
style=default&
format=image/png&
TileMatrixSet=WholeWorld_CRS_84&TileMatrix=10m&TileRow=1&TileCol=3&
J=86&I=132&
InfoFormat=application/gml+xml; version=3.1
以下是一個WMTS使用SOAP格式的GetFeatureInfo操作示例:
<?xml version="1.0" encoding="UTF-8"?>
xmlns="http://www.opengis.net/wmts/1.0">
xmlns="http://www.opengis.net/wmts/1.0">
etopo2Layer>
image/pngFormat>
WholeWorld_CRS_84TileMatrixSet>
10mTileMatrix>
1TileRow>
3TileCol>
GetTile>
86J>
132I>
application/gml+xml; version=3.1InfoFormat>
GetFeatureInfo>
soap:Body>
soap:Envelope>
以下是一個WMTS使用RESTful格式的GetFeatureInfo操作示例:
http://www.maps.bob/etopo2/ default/WholeWorld_CRS_84/10m/1/3/86/132.xml
[1] 標準文檔如是說,但我覺得這個地方應該取一負值。
總結
以上是生活随笔為你收集整理的wmts格式说明_OGC标准介绍 19的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我要快乐?
- 下一篇: Thinkpad E431 加 ssd