OGC標准WMTS服務概念與地圖商的瓦片編號流派-web地圖切片加載
OGC主要目的就是制定與空間信息、基於位置服務相關的標准。WMTS是緩存技術標准,彌補了WMS不能提供分塊地圖的不足,犧牲了提供定制地圖的靈活性,代之以通過提供靜態數據來增強伸縮性。主流地圖商瓦片加載規則,構析
還不知道地圖柵格化切片等相關GIS原理的,推薦閱讀《webGIS底圖柵格化與實時數據合成處理原理,地圖API設計,xyz加載》
OGC概念
OGC全稱——開放地理空間信息聯盟(Open Geospatial Consortium), 它的主要目的就是制定與空間信息、基於位置服務相關的標准。而這些所謂的標准其實就是一些接口或編碼的技術文檔,不同的廠商、各種GIS產品都可以對照這些文檔來定義開放服務的接口、空間數據存儲的編碼、空間操作的方法。
OGC已經是一個比較“官方”的標准化機構了,它不但包括了ESRI、Google、Oracle等業界強勢企業作為其成員,同時還和W3C、ISO、IEEE等協會或組織結成合作伙伴關系。因此,OGC的標准雖然並不帶有強制性,但是因為其背景和歷史的原因,它所制定的標准天然地具有一定的權威性。
OGC目前提供的標准多達幾十種,包括我們常用到的WMS、WFS、WCS、WMTS等等,還有一些地理數據信息的描述文檔,比如KML、SFS(簡單對象描述)、GML、SLD(地理數據符號化)等。
-
WMS服務,全稱是Web Map Service (web地圖服務)
-
WFS服務,全稱是Web Feature Service (web 要素服務)
-
WCS服務,全稱為Web Coverage Service(web柵格服務)
-
WMTS服務,全稱是Web Map Tile Service (web地圖切片服務),WMTS是OGC首個支持restful風格的服務標准
以上就是OGC提供的四種常用服務接口介紹,我們主要講WMTS
WMTS 概念
WMTS 是 OGC 提出的緩存技術標准,即在服務器端緩存被切割成一定大小瓦片的地圖,對客戶端只提供這些預先定義好的單個瓦片的服務,將更多的數據處理操作如圖層疊加等放在客戶端,從而緩解 GIS 服務器端數據處理的壓力,改善用戶體驗。
WMTS提供了一種采用預定義圖塊方法發布數字地圖服務的標准化解決方案。WMTS彌補了WMS不能提供分塊地圖的不足。WMTS犧牲了提供定制地圖的靈活性,代之以通過提供靜態數據(基礎地圖)來增強伸縮性,這些靜態數據的范圍框和比例尺被限定在各個圖塊內。這些固定的圖塊集使得對WMTS服務的實現可以使用一個僅簡單返回已有文件的Web服務器即可,同時使得可以利用一些標准的諸如分布式緩存的網絡機制實現伸縮性。
WMTS接口支持的三類資源
-
一個服務元數據(ServiceMetadata)資源(面向過程架構風格下對GetCapabilities操作的響應)(服務器方必須實現)。ServiceMetadata資源描述指定服務器實現的能力和包含的信息。在面向過程的架構風格中該操作也支持客戶端與服務器間的標准版本協商。
-
圖塊資源(對面向過程架構風格下GetTile操作的響應)(服務器方必須實現)。圖塊資源表示一個圖層的地圖表達結果的一小塊。
-
要素信息(FeatureInfo)資源(對面向過程架構風格下GetFeatureInfo操作的響應)(服務器方可選擇實現)。該資源提供了圖塊地圖中某一特定像素位置處地物要素的信息,與WMS中GetFeatureInfo操作的行為相似,以文本形式通過提供比如專題屬性名稱及其取值的方式返回相關信息。
WMTS 使用瓦片矩陣集(Tile matrix set)
WMTS 使用瓦片矩陣集(Tile matrix set)來表示切割后的地圖,如圖1所示。瓦片就是包含地理數據的矩形影像,一幅地圖按一定的瓦片大小被切割成多個瓦片,形成瓦片矩陣,一個或多個瓦片矩陣即組成瓦片矩陣集。不同的瓦片矩陣具有不同的分辨率,每個瓦片矩陣由瓦片矩陣標識符(一般為瓦片矩陣的序號,分辨率最低的一層為第0層,依次向上排)進行標識。


每個瓦片矩陣具有:
-
自己的瓦片尺寸作為比例尺;
-
通過像素數來定義的每個瓦片的寬(TileWidth)和高(TileHeight),即瓦片的大小。SuperMap iServer 目前提供的瓦片大小是256*256個像素;
-
邊界框的左上角坐標(TileMatrixminX,TileMatrixmaxY);
-
以瓦片為單位來定義的矩陣的寬(MatrixWidth)和高(MatrixHeight),如瓦片數。
瓦片矩陣中的每個瓦片由瓦片的行(TileRow)列(TileCol)值進行標識,行列值分別從瓦片矩陣左上角點所在的瓦片開始算起,起始行列值是(0,0),依次向下向右增加
比例尺
WMTS 服務器只提供有限種坐標系和有限種比例尺的服務,為了提高客戶端和服務器的互操作能力,WMTS 提出通用比例尺集(Well-known scale set)的概念。通用比例尺集是 WMTS 服務器之間的一個協定,由一個公共的坐標參考系統和一組公共的比例尺集合組成。定義 Well-known scale set 僅僅是一個協議機制,對於互操作來說在技術上並不是必需的。
WMTS 服務支持發布的坐標參考系可參考iServer OGC 服務支持發布的坐標參考系。
WMTS 服務所提供的瓦片數據是基於一定的比例尺集合來生成的,目前支持的通用比例尺集請參考 WellknownScale。比例尺是通過如下公式來定義的:
比例尺=1: 地面分辨率(a)*屏幕分辨率(pixel/inch)/0.0254(m/inch)
此公式可以簡寫為:比例尺=0.0254/(a*dpi)。
其中,地面分辨率(a)是指一個像素所代表的實際地面距離,單位為米,屏幕分辨率(dpi)是指屏幕上每英寸長度內包含的像素數量,而0.0254(m/inch)是指米與英寸的單位轉換。
對於 WMTS 1.0.0 標准服務來說,其分辨率是通過像元大小(0.28mm=0.00028m)來界定的,轉換為屏幕分辨率,即每英寸像元數為:1inch/(0.00028m/0.0254(m/inch))=0.0254/0.00028≈90.714。
左上角 TopLeftCorner
WMTS 標准中,TopLeftCorner 是描述比例尺集(TileMatrixSet)的左上角坐標的字符序列,由坐標 X 和坐標 Y 組成。在地理坐標系中,經度在緯度之前的順序是不符合國際慣例的。航空和海運部門通常期望緯度在經度之前,在緊急情況下,不同的坐標顯示可能會導致不安全的因素。雖然沒有標准明確規定緯度必須在經度之前,但是一般來說都會采用緯度在經度之前的順序。
常見坐標系的 TopLeftCorner 順序
| 坐標系 | 4326 | 3857 | 4490 (國家大地坐標系) |
EPSG:0 (自定義坐標系) |
平面坐標系 |
| TopLeftCorner 坐標順序 | YX | XY | YX | XY | XY |
推薦參看超圖的 《WMTS 概述》。WMTS 概述,此段就是摘抄而來。
地圖底圖瓦片
使用XYZ這樣的坐標來精確定位一張瓦片。即XY表示某個層級內的平面,X為橫坐標,Y為縱坐標,類似於數學上常見的笛卡爾坐標系。Z一般表示縮放比率zoom,不同地圖商定義有分歧、這是目前主流互聯網地圖商分歧最大的地方。總結起來分為四個流派:
瓦片編號
谷歌XYZ:Z表示縮放層級,Z=zoom;XY的原點在左上角,X從左向右,Y從上向下。
TMS:開源產品的標准,Z的定義與谷歌相同;XY的原點在左下角,X從左向右,Y從下向上。
QuadTree:微軟Bing地圖使用的編碼規范,Z的定義與谷歌相同,同一層級的瓦片不用XY兩個維度表示,而只用一個整數表示,該整數服從四叉樹編碼規則
百度XYZ:Z從1開始,在最高級就把地圖分為四塊瓦片;XY的原點在經度為0緯度位0的位置,X從左向右,Y從下向上。
高德地圖WMS/WMTS
AMap.TileLayer.WMS 用於加載OGC標准的WMS圖層
AMap.TileLayer.WMTS 用於加載OGC標准的WMTS圖層
js-api接口案例:https://lbs.amap.com/api/javascript-api/reference/wms/
示列:https://lbs.amap.com/api/javascript-api/example/thirdlayer/wmts
xyz加載高德地圖:
目前高德的瓦片地址有如下兩種:
-
新版地址:http://wprd0{1-4}.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=7和
-
老版地址:http://webst0{1-4}.is.autonavi.com/appmaptile?style=7&x={x}&y={y}&z={z}
高德新版的參數設置:
-
lang可以通過zh_cn設置中文,en設置英文;
-
size基本無作用;
-
scl設置標注還是底圖,scl=1代表注記,scl=2代表底圖(矢量或者影像);
-
style設置影像和路網,style=6為影像圖,style=7為矢量路網,style=8為影像路網。
總結之:
http://wprd0{1-4}.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=7 為矢量圖(含路網、含注記)
http://wprd0{1-4}.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=2&style=7 為矢量圖(含路網,不含注記)
http://wprd0{1-4}.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=6 為影像底圖(不含路網,不含注記)
http://wprd0{1-4}.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=2&style=6 為影像底圖(不含路網、不含注記)
http://wprd0{1-4}.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=8 為影像路圖(含路網,含注記)
http://wprd0{1-4}.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=2&style=8 為影像路網(含路網,不含注記)
高德地圖舊版參數參數:
高德舊版可以通過style參數設置影像、矢量、路網。
總結之:
http://webst0{1-4}.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z} 為影像底圖(不含路網,不含注記)
http://webst0{1-4}.is.autonavi.com/appmaptile?style=7&x={x}&y={y}&z={z} 為矢量地圖(含路網,含注記)
http://webst0{1-4}.is.autonavi.com/appmaptile?style=8&x={x}&y={y}&z={z} 為影像路網(含路網,含注記)
天地圖WMTS
url地址:http://t0.tianditu.com/ter_c/wmts
-
ter為地形
-
img為影像
-
vec 為矢量
-
cia 影像注記
-
cva 矢量注記
-
cta 地形注記
-
c 為經緯度直投
-
w 為web墨卡托投影
案例:ter_c,經緯度投影
圖層列表:
| 圖層名稱 | 服務地址 | 投影類型 |
| 矢量底圖 | http://t0.tianditu.gov.cn/vec_c/wmts?tk=您的密鑰 | 經緯度投影 |
| http://t0.tianditu.gov.cn/vec_w/wmts?tk=您的密鑰 | 球面墨卡托投影 | |
| 矢量注記 | http://t0.tianditu.gov.cn/cva_c/wmts?tk=您的密鑰 | 經緯度投影 |
| http://t0.tianditu.gov.cn/cva_w/wmts?tk=您的密鑰 | 球面墨卡托投影 | |
| 影像底圖 | http://t0.tianditu.gov.cn/img_c/wmts?tk=您的密鑰 | 經緯度投影 |
| http://t0.tianditu.gov.cn/img_w/wmts?tk=您的密鑰 | 球面墨卡托投影 | |
| 影像注記 | http://t0.tianditu.gov.cn/cia_c/wmts?tk=您的密鑰 | 經緯度投影 |
| http://t0.tianditu.gov.cn/cia_w/wmts?tk=您的密鑰 | 球面墨卡托投影 | |
| 地形底圖 | http://t0.tianditu.gov.cn/ter_c/wmts?tk=您的密鑰 | 經緯度投影 |
| http://t0.tianditu.gov.cn/ter_w/wmts?tk=您的密鑰 | 球面墨卡托投影 | |
| 地形注記 | http://t0.tianditu.gov.cn/cta_c/wmts?tk=您的密鑰 | 經緯度投影 |
| http://t0.tianditu.gov.cn/cta_w/wmts?tk=您的密鑰 | 球面墨卡托投影 | |
| 境界(省級以上) | http://t0.tianditu.gov.cn/ibo_c/wmts?tk=您的密鑰 | 經緯度投影 |
| http://t0.tianditu.gov.cn/ibo_w/wmts?tk=您的密鑰 | 球面墨卡托投影 | |
| 矢量英文注記 | http://t0.tianditu.gov.cn/eva_c/wmts?tk=您的密鑰 | 經緯度投影 |
| http://t0.tianditu.gov.cn/eva_w/wmts?tk=您的密鑰 | 球面墨卡托投影 | |
| 影像英文注記 | http://t0.tianditu.gov.cn/eia_c/wmts?tk=您的密鑰 | 經緯度投影 |
| http://t0.tianditu.gov.cn/eia_w/wmts?tk=您的密鑰 | 球面墨卡托投影 |
天地圖地圖服務二級域名包括t0-t7,您可以隨機選擇使用,如http://t2.tianditu.gov.cn/vec_c/wmts?tk=您的密鑰
谷歌地圖WMTS
http://mt0.google.cn/vt/lyrs=s&x=0&y=0&z=1
z即為瓦片的層次,0層覆蓋全球;y為行,從上往下為02^z-1;x為列,從左往右依次為02^z-1
地址中mt0.google.cn為服務器地址,可用的包括mt1.google.cn、mt2.google.cn、mt3.google.cn等。
lyrs=s為地圖類型,如下:
-
m:路線圖
-
t:地形圖
-
p:帶標簽的地形圖
-
s:衛星圖
-
y:帶標簽的衛星圖
-
h:標簽層(路名、地名等)
OpenStreetMap
'http://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png'
雅虎地圖
https://{0-3}.base.maps.api.here.com/maptile/2.1/maptile/newest/normal.day/{z}/{x}/{y}/512/png8?lg=ENG&ppi=250&token=TrLJuXVK62IQk0vuXFzaig%3D%3D&requestid=yahoo.prod&app_id=eAdkWGYRoc4RfxVo0Z4B
中國主要地圖商的瓦片編號流派
有這個列表,可能再也不用擔心瓦片的問題了
| 地圖商 | 瓦片編碼 | 圖層 | 鏈接 |
|---|---|---|---|
| 高德地圖 | 谷歌XYZ | 道路 | http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x=105&y=48&z=7 |
| 高德地圖 | 谷歌XYZ | 衛星 | http://webst04.is.autonavi.com/appmaptile?style=6&x=843&y=388&z=10 |
| 谷歌地圖 | 谷歌XYZ | 道路 | http://mt2.google.cn/vt/lyrs=m&hl=zh-CN&gl=cn&x=105&y=48&z=7 |
| 谷歌地圖 | 谷歌XYZ | 衛星 | http://mt2.google.cn/vt/lyrs=s&hl=zh-CN&gl=cn&x=105&y=48&z=7 |
| 谷歌地圖 | 谷歌XYZ | 地形 | http://mt0.google.cn/vt/lyrs=t&hl=zh-CN&gl=cn&x=420&y=193&z=9 |
| OpenStreetMap | 谷歌XYZ | 道路 | http://a.tile.openstreetmap.org/7/105/48.png |
| 騰訊地圖 | TMS | 道路 | http://rt1.map.gtimg.com/realtimerender?z=7&x=105&y=79&type=vector&style=0 |
| Bing地圖 | QuadTree | 道路 | http://r1.tiles.ditu.live.com/tiles/r1321001.png?g=100&mkt=zh-cn |
| 百度地圖 | 百度XYZ | 道路 | http://online4.map.bdimg.com/tile/?qt=tile&x=98&y=36&z=9&;styles=pl&scaler=1&udt=20170406 |
| 百度地圖 | 百度XYZ | 交通 | |
maptalks WMTS 服務
maptalks加載瓦片地圖示例參考:
{
name: '谷歌地圖',
map: {
opacity: 1,
urlTemplate: 'http://mt2.google.cn/vt/lyrs=m@167000000&hl=zh-CN&gl=cn&x={x}&y={y}&z={z}&s=Galil',
subdomains: \[1, 2, 3, 4\]
}
},
{
name: 'OpenStreetMap',
map: {
urlTemplate: 'http://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png',
subdomains: \[1, 2, 3, 4\]
}
},
{
name: 'carto灰色',
map: {
urlTemplate: 'https://{s}.basemaps.cartocdn.com/light\_all/{z}/{x}/{y}.png',
subdomains: \['a', 'b', 'c', 'd'\]
}
},
{
name: 'yahoo',
map: {
urlTemplate: 'https://{0-3}.base.maps.api.here.com/maptile/2.1/maptile/newest/normal.day/{z}/{x}/{y}/512/png8?lg=ENG&ppi=250&token=TrLJuXVK62IQk0vuXFzaig%3D%3D&requestid=yahoo.prod&app\_id=eAdkWGYRoc4RfxVo0Z4B,
subdomains: \[1, 2, 3, 4\]
}
},
{
name: '百度地圖',
map: {
opacity: 1,
urlTemplate: 'http://api{s}.map.bdimg.com/customimage/tile?&x={x}&y={y}&z={z},
subdomains: \[0, 1, 2\],
spatialReference: {projection: 'baidu'}
}
},
{
name: '高德地圖',
map: {
opacity: 1,
urlTemplate: 'http://wprd0{s}.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh\_cn&size=1&scl=1&style=6',//'http://webst0{1-4}.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh\_cn&size=1&scale=1&style=6'
subdomains: \[1, 2, 3, 4\]
}
},
{
name: '騰訊地圖',
map: {
opacity: 1,
urlTemplate: 'http://rt{s}.map.gtimg.com/realtimerender?z={z}&x={x}&y={y}&type=vector&style=0',
tileSystem: 'tms-global-mercator',
subdomains: \[0, 1, 2, 3\]
}
}
}
arcgis使用 WMTS 服務
http://desktop.arcgis.com/zh-cn/arcmap/10.3/map/web-maps-and-services/using-wmts-services.htm
超圖使用 WMTS 服務
摘錄文章:
開源GIS(十七)——OGC標准 https://blog.csdn.net/xcymorningsun/article/details/86649604
WMTS服務初步理解與讀取 https://blog.csdn.net/supermapsupport/article/details/50423782
瓦片地圖原理 https://segmentfault.com/a/1190000011276788?utm_source=tag-newest
天地圖OGC WMTS服務規則 https://www.cnblogs.com/nodegis/p/10233259.html
谷歌地圖OGC WMTS服務規則 https://www.cnblogs.com/nodegis/p/10233235.html
本文轉自 https://www.zhoulujun.cn/html/GIS/GIS-Science/8217.html,如有侵權,請聯系刪除。
