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为影像路网。
版权声明:本文标题:关于使用XYZ的方式加载地图Tile瓦片的知识总结 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1702356898a2808.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论