美文网首页GIS相关
瓦片地图面面观之瓦片组织

瓦片地图面面观之瓦片组织

作者: cb2984cf5c3f | 来源:发表于2019-07-26 14:02 被阅读0次

    瓦片组织

    通过《瓦片地图面面观》一中图1瓦片网格的辅助,可直观感受到谷歌地图在第一级(缩放级别)的瓦片行列排列方式。可见谷歌地图第一级由四张瓦片构成了整个世界地图。

    我们将瓦片地图中,瓦片的行列排列方式称之为“瓦片组织”。事实上,瓦片组织还是比较容易理解的,三个条件即可唯一定义瓦片组织:

    1、瓦片列号增长方向;

    2、瓦片行号增长方向。

    3、瓦片编号起算原点在投影平面直角坐标系中的坐标。

    如图1所示,谷歌地图瓦片组织可概括为:列号向右增长(正东为右,以后博客中再涉及瓦片列号增长方向一律相对于正东为右而言),行号向下增长(正北为上,以后博客中再涉及瓦片行号增长方向一律相对于正北为上而言)。投影平面直角坐标系左上角(-20037508.3427890167, 20037508.3427890167)即为瓦片原点。

    瓦片地图在各个缩放级别必然有相同的瓦片组织。

    瓦片编号

    如图1所示,每个瓦片网格中央都有一个编号,我们称之为为瓦片编号,它由三个值组成,依次为:缩放级别、瓦片列号、瓦片行号。

    瓦片编号有瓦片组织和缩放级别共同决定,瓦片编号在瓦片地图工程实现体系中占据了非常重要的位置。瓦片编号直接决定了瓦片加载的url。比如,图1中1_0_1的瓦片url为:

    http://mt2.google.cn/vt/lyrs=s@802&hl=zh-CN&gl=cn&x=1&y=0&z=1&s=Gal

    该url指向一张256*256的jpg格式瓦片,如图2所示。

    图2 瓦片实例

    相信大家已找出瓦片编号与瓦片url之间的关系:x=1表示瓦片列号为1,y=0表示瓦片行号为0,z=1表示缩放级别为1。

    瓦片编号与瓦片加载url总是有一一对应的关系。

    计算瓦片编号

    唯一定义瓦片组织后,即可根据投影平面坐标计算不同缩放级别下的瓦片编号,计算公式如下:

    \left\{ \begin{aligned} col &=& floor(\frac {t_{x}\times \left ( x - x_{o} \right )}{r_{x}\times 256}) \\ row &=& floor(\frac {t_{y}\times \left ( y - y_{o} \right )}{r_{y}\times 256}) \\ \end{aligned} \right.

    其中:

    col:瓦片列编号;

    row:瓦片行编号;

    t_{x}:瓦片列号增长方向,瓦片组织列号向右增长取值为1,反之取值-1;

    t_{y}:瓦片行号增长方向,瓦片组织列号向上增长取值为1,反之取值-1;

    (x, y):投影平面坐标;

    (x_{o}, y_{o}):瓦片编号起算原点坐标;

    r_{x}:为X轴方向分辨率,单位为m/p(米每像素);

    r_{y}:为Y轴方向分辨率,单位为m/p(米每像素);

    r_{x}r_{y}与缩放级别相关,有

    \left\{ \begin{aligned} r_{x} &=& f_{1}(level)) \\ r_{y} &=& f_{2}(level)) \\ \end{aligned} \right.

    关于,更多信息,参见《瓦片地图面面观之缩放级别》。

    主流瓦片地图的瓦片组织汇总

    主流瓦片地图的瓦片组织可分以下几类:

    瓦片组织相关OGC标准

    对于瓦片组织,事实上OGC曾提过这一方面的标准:WMTS(Web Map Tile Service),有兴趣的朋友可以看看。WMTS包含了很多内容,对于瓦片组织方面的描述为:瓦片行号向上增长,瓦片列号向右增长,左下角即为瓦片原点。

    事实上,很多互联网大厂并未遵照这一标准,比如谷歌地图等。正因为如此,这里不对WMTS做过多讨论。

    相关文章

      网友评论

        本文标题:瓦片地图面面观之瓦片组织

        本文链接:https://www.haomeiwen.com/subject/vjgrrctx.html