admin管理员组

文章数量:1565292

2023年12月12日发(作者:)

关于使用XYZ的方式加载地图Tile瓦片的知识总结

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

计算代码如下:

function GetQuadtreeAddress(long, lat)

{

var PI = 3.97;

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 * ((1+(y)) / (1 - (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 -= (x);

y -= (y);

quad = quad + ((x >= 0.5 ? 1 : 0) + (y >= 0.5 ? 2 : 0), 1);

// now descend into that square

x *= 2;

y *= 2;

}

return quad;

}

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

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从下向上。

高德新版的参数设置:

lang可以通过zh_cn设置中文,en设置英文

size基本无作用;

scl设置标注还是底图,scl=1代表注记,scl=2代表底图(矢量或者影像);

style设置影像和路网,style=6为影像图,style=7为矢量路网,style=8为影像路网。

本文标签: 地图瓦片表示方式