浅谈XYZTiles

在这里插入图片描述

XYZTiles是什么

将一定范围内的地图按照一定的尺寸和格式,按缩放级别或者比例尺,切成若干行和列的正方形栅格图片,切片后的正方形栅格图片被形象地称为瓦片(Tile)。

将一幅大图切成瓦片以后,需要对这些图片进行编号和检索。瓦片存在多种编号方式,各个互联网地图厂商标准不一。XYZTiles是目前比较主流的文件编号和命名规则,Z(Z=Zoom)表示地图缩放层级,X和Y表示当前层级的图片坐标。

在这里插入图片描述

XYZTiles实现原理

地图数据通常体量较大,对计算机的图形处理和渲染能力要求较高,所以早期的地图软件多是桌面GIS,数据的处理和传输大多数在局域网内进行。

互联网的迅猛发展,使得在浏览器端使用地图的需求越来越迫切。在浏览器端,地图应用并不是一开始就使用瓦片技术。浏览器端没有地图、投影、比例尺的概念,但是浏览器擅于处理图片,因此,早期互联网地图应用通常是在服务器端将地图渲染成图片,传送到浏览器端,浏览器负责显示图片。图片的大小根据浏览器窗口大小决定。这也是早期OGC标准WMS的设计思路。WMS的出现大大推进了互联网地图的进展。

根据浏览器窗口在服务器端生成一张大图,对服务器的渲染和网络传输能力要求较高,特别是互联网地图存在并发操作的情况下,对上述两个处理能力更是极大挑战。于是出现了缓存的思路,把地图按照特定的比例尺提前在服务器上生成图片,用户请求时,只需要按照请求返回图片即可,省去了渲染过程。在网络传输方面,单张大图对网络传输有一定要求,长时间的等待传输也使得互联网地图的体验大打折扣,这就催生了瓦片地图(Tile Map)。

瓦片地图是将一幅地图进行等级切分,通常最高层级时只包含一张瓦片,即一张256256像素的图片,在下一级,用4张像素256256的图片表示,以此类推,级别越低,瓦片越多,实际上,瓦片地图采用的金字塔模型是一种多分辨率层次模型,从瓦片金字塔的底层到顶层,分辨率越来越低,但表示的地理范围不变。

在这里插入图片描述

瓦片存储在服务器端,在浏览器看到的整张无缝衔接的地图,是根据地图范围、缩放级别、分辨率、地图中心点和地图控件大小等参数,计算出瓦片URL,将图片传送到浏览器,拼接后显示出来的。

例如OpenStreetMap地图请求URL:
https://www.openstreetmap.org/#map=5/28.208/113.489

https://www.openstreetmap.org/为地图服务器,#map=5/28.208/113.489为请求参数,5表示缩放级别,28.208/113.489表示地图中心点经纬度,将该地址输入到浏览器地址栏得到如下地图:

在这里插入图片描述

打开浏览器的网络监控可以看到,该地图由一系列以x、y、z参数构建得到的瓦片拼接而成:

在这里插入图片描述

典型的XYZTiles请求URL:

在这里插入图片描述

一般包括如下参数:

在这里插入图片描述

在QGIS中添加XYZTiles图层

QGIS从2.18版本开始支持XYZ Tiles,在QGIS中添加XYZ Tiles的操作非常便捷。

打开QGIS,在【浏览】面板中右键点击【XYZ Tiles】节点,从弹出菜单中选择【新建连接】。

在这里插入图片描述

在弹出的【XYZ Connection】对话框中,输入图层的名称“OSM”,网址填写OpenStreetMap的瓦片地址:https://tile.openstreetmap.org/{z}/{x}/{y}.png,其他保持默认,点击【OK】按钮,这样就建立了瓦片图层连接。

  • 18
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值