WMS标准允许客户端请求任意区域。如果客户端请求返回瓦片,它可以使其请求用瓦片模式,但服务器无法知道发生了什么,如果服务器将地图存储为自己的瓦片,它不能让客户端知道瓦片布局。换句话来说,客户端不可以获得瓦片形式的返回值。
OSGeo想出了两种方法来解决这个问题。一个是扩展WMS协议与额外的信息,以便符合客户端可以发送正确排队的请求。这被称为WMS-C。另一种是TMS,一种全新的协议,专为瓦片而设计。特别地,它使用整数索引用于瓦片,而不是要求客户端请求与特定网格对齐的边界框。
最终,OGC提出了原来的WMS规范,决定制作一个磁贴协议,结果是WMTS。这就像TMS是在整数索引的瓦片,但它也支持一些相比WMS而言TMS缺乏的,如Dimensions和GetFeature。而且它也比TMS复杂得多。
预渲染的图块可以使用三种协议中的任何一种来提供,并且存在支持所有三种协议的图块服务器,一些在常规WMS服务器之前用作缓存代理(如在GeoServer和GeoWebCache的公共配对中)
WMS-C和TMS是成熟的,但在一些人的心中不够官方,因为它们不是OGC规范。WMS-C有点弱,而TMS缺乏一些有用的,但外围的功能。WMTS拥有OGC的支持,并结合了TMS的磁贴特定设计和WMS的额外功能,但它是复杂的,其实现往往不如其他两个更成熟,因为它是最新的。
总之,WMS非常灵活,可以提供定制地图服务。WMTS相比WMS,牺牲掉灵活性来换取性能,返回的都是基础地图,所有静态数据的范围框和比例尺统统被限定在各个图块(瓦片)中。然后这些图块集使得对WMTS的实现只需要一个仅仅返回简单已有文件的web服务器即可。
网友评论