WMTS,web map tile service,网络地图瓦片服务;TMS,tile map service,瓦片地图服务。名称虽然不一致,但指的都是地图瓦片服务,TMS形成更早,不过WMTS有官方OGC盖章认可。
WMTS的目的是,更高效快速的加载渲染地图数据。如果海量的地图数据以矢量的形式传输到客户端,在客户端渲染,首先需要消耗大量的网络流量,其次对客户端的CPU也是很大的负荷。考虑到这些情况,WMTS提出预渲染图块的模式,在服务端将地图渲染好,并根据比例尺分割不同的栅格图块,根据客户端的请求,传输这些图块,提供给客户端显示。
目前,大部分PC端、手机端的地图底图使用的都是这种栅格瓦片。
在有数据的前提下,瓦片地图的生产,大概要经过三个环节:
1.数据进行Web-Mercator投影,并进行配图。
2.分层级渲染数据,并切分渲染后的栅格成果为地图瓦片。
3.地图瓦片分发。
一、数据投影
在数据库中,地理数据都是以地心坐标系(如WGS84坐标系)存储的,首先需要将以经纬度形式存储的三维数据映射到二维平面上,映射方法既是Web-Mercator投影,它是一种正轴等角圆柱投影。
Web-Mercator投影,将世界坐标调整为左上角为(0, 0),右下角为(256, 256)的正方形,假设地图投影在一个256像素*256像素的图幅上:
其中x和y是像素坐标,λ是经度,φ是纬度,pixel是像素,zoom level是地图瓦片比例尺层级。
Web-Mercator投影的数据覆盖范围在经度[-180°,180°],纬度[-85.051129°, 85.051129°]之间,这有两个好处,其一是避免将极点投影到无穷远处,其二是能将整个投影地图变成正方形。
更多坐标系与投影相关内容,可以参阅:https://blog.csdn.net/sinat_41310868/article/details/115551276
二、地图配图
当对数据进行投影之后,就需要根据数据类型、比例尺等内容对数据进行风格配置,因为不同比例尺级别,显示的内容详略不一,也需要分层级对数据进行概化。
例如铁路需要显示为黑白相间的线段,水系需要显示为填充为浅蓝色,边线为深蓝色的面;当比例尺层级大于18的时候,才显示一些细部的道路和POI等。
地图数据分层级配图渲染比较复杂细致,更多内容这里就不赘述了,可以参阅《ARCGIS地图配图策略》文档:https://wenku.baidu.com/view/63dd06f1b0717fd5360cdc76.html
三、地图切片
地图切片是本文重点,各家图商地图切片方式基本一致。
地图瓦片的基本原理:
1.瓦片尺寸通常为256*256像素。
2.地图的最小zoom level是0,这时候,整个世界地图是一张瓦片,根据Web-Mercator投影公式可知,