关于使用X/Y/Z的方式加载地图Tile瓦片的知识总结

1、由经纬度计算谷歌卫星地图中瓦片Tile地址x/y/z

Google卫星地图是由256x256大小的jpg图片拼接而成,每块图片的URL格式为“http://kh.google.com/kh?v=3&t=trstrq”样。参数v与图片关系不大,主要是参数t起作用,它是“qrst”4个字符排列而成的字符串。为获取某经纬度的URL,就需要把经纬度转化为“qrst”字符串。 Google卫星地图在zoom=1时,全球就为一个256x256的图片,它的中心经纬度为(0,0),URL为“http://kh.google.com/kh?v=3&t=t”。zoom=2时裂化为4块,每块的编号为:左上”t=tq”,右上”t=tr”,右下“t=ts”,左下”t=tt”。依此类推,每放大一倍,每一小块都裂分为四,从左上到右下顺时针按qrst编号,裂分后的编码为裂分前的编号上小块的编号。

计算代码如下:

function GetQuadtreeAddress(long, lat)
{
    
    
var PI = 3.1415926535897;
var digits = 18; // how many digits precision
// now convert to normalized square coordinates
// use standard equations to map into mercator projection
var x = (180.0 + parseFloat(long)) / 360.0;
var y = -parseFloat(lat) * PI / 180; // convert to radians
y = 0.5 * Math.log((1+Math.sin(y)) / (1 - Math.sin(y)));
y *= 1.0/(2 * PI); // scale factor from radians to normalized
y += 0.5; // and make y range from 0 - 1
var quad = "t"; // google addresses start with t
var lookup = "qrts"; // tl tr bl br
while (digits–)
{
    
    
// make sure we only look at fractional part
x -= Math.floor(x);
y -= Math.floor(y);
quad = quad + lookup.substr((x >= 0.5 ? 1 : 0) + (y >= 0.5 ? 2 : 0), 1);
// now descend into that square
x *= 2;
y *= 2;
}
return quad;
}

2、中国主要地图商的瓦片编号流派

地图商 瓦片编码 图层 链接
高德地图 谷歌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 交通 http://its.map.baidu.com:8002/traffic/TrafficTileService?level=19&x=99052&y=20189&time=1373790856265&label=web2D&;v=017
在这里插入图片描述

3、地图底图瓦片

1)瓦片编号
使用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从下向上。

2)各种地图加载x/y/z路径
高德地图
目前高德的瓦片地址有如下两种:
新版地址: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 为影像路网(含路网,不含注记)

天地图
地图瓦片获取:
http://t0.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={x}&TILECOL={y}&tk=您的密钥

图层名称 服务地址 投影类型
矢量底图 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=您的密钥

谷歌地图
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

猜你喜欢

转载自blog.csdn.net/m0_37251750/article/details/119104828