跳到主要内容

WMTS图层服务

什么是栅格与矢量数据 中介绍了数据产品的两种形态,尽管如此,在实际应用中,出于开发便捷性和前端显示性能的考虑,大地量子并不推荐用户直接获取原始数据,而是使用大地量子的标准化WMTS图层服务。以下是WMTS的一个简单的介绍。

什么是WMTS

WMTS(OpenGIS Web Map Tile Service),即网络地图瓦片服务,提供了一种采用预定义图块方法发布数字地图服务的标准化解决方案。WMTS将更多的数据处理操作如图层叠加等放在客户端,从而缓解 GIS 服务器端数据处理的压力,改善用户体验。

WMTS是OGC (Open Geospatial Consortium) 提出的公开标准的地图服务对接格式,是WMS(网络地图服务)的改进版。它弥补了WMS不能提供分块地图的不足,因而越来越多的地理信息项目采用WMTS服务作为底图服务。例如在天地图,就使用WMTS提供地图服务。

为什么大地量子推荐WMTS

WMTS的最大优势,是更高效快速的加载渲染地图数据
WMTS在服务端将地图渲染好,并根据比例尺分割不同的瓦片图块,根据客户端的请求,传输这些图块,提供给客户端显示,一举避免了大量的网络流量消耗,同时降低了客户端的CPU负荷。
WMTS的瓦片图块是可缓存的
客户端请求WMTS服务时,服务端返回给客户端的是固定大小的瓦片,客户端根据索引号来获取每一张瓦片,而后拼接成地图进行展示。由于瓦片的规则是固定的,服务端可以预先缓存对应的瓦片,客户端需要时直接返回即可。
WMTS支持诸如分布式缓存的网络机制实现伸缩性,进一步提高加载效率。
WMTS通过提供静态数据来增强伸缩性,这些静态数据的范围框和比例尺被限定在各个图块内。一个仅简单返回已有文件的Web服务器即可处理这些固定的图块集来实现WMTS服务,同时也支持利用一些标准的诸如分布式缓存的网络机制实现伸缩性。
WMTS可支持多种坐标系和比例尺集,提高了服务兼容性。
- 大地量子可以根据用户的实际需求配置坐标系和比例尺集,以完全适配用户需求。常见的比例尺集有GlobalCRS84Scale、GlobalCRS84Pixel、GoogleCRS84Quad以及GoogleMapsCompatible。

常规WMTS的使用要点

地图瓦片的获取
  1. 瓦片为png格式
  2. 每个缩放层级是一个目录,每列是一个子目录,每个瓦片是一个文件
  3. 每个瓦片的文件命名格式为:/z(zoom level)/x/y.png,客户端通过拼接域名+文件名来请求瓦片
  4. 因为服务器对客户端的IP有连接数量的限制,所以地图瓦片的服务器通常会提供几个子域,浏览器均衡请求这些子域,来绕过IP限制
地图瓦片前端显示
  1. 地图瓦片在客户端的显示,就是网格平铺、装载对应瓦片的过程
  2. 首先,在HTML文档中,会建立一个装载地图容器的DIV。设定地图容器的中心坐标和zoom level,根据中心坐标、zoom level和DIV的长宽,计算出地理空间覆盖范围,进而计算出需要加载多少瓦片,加载哪些瓦片
  3. 然后,在这个DIV中创建一些与瓦片尺寸一致的DOM(文档对象模型),根据像素坐标与地理坐标的对应关系,计算出DOM与地图瓦片的对应关系,请求瓦片的URL,将瓦片图像加载进入DOM
  4. 最后,在前端,地图瓦片即可通过DOM的拼接呈现出来

使用大地量子的WMTS服务

大地量子为用户准备了详细的文档,还请移步API接口说明文档