瓦片组织

通过《瓦片地图面面观》一中图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总是有一一对应的关系。

计算瓦片编号

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

其中:

  1. :瓦片列编号;
  2. :瓦片行编号;
  3. :瓦片列号增长方向,瓦片组织列号向右增长取值为1,反之取值-1;
  4. :瓦片行号增长方向,瓦片组织列号向上增长取值为1,反之取值-1;
  5. :投影平面坐标;
  6. :瓦片编号起算原点坐标;
  7. :为X轴方向分辨率,单位为m/p(米每像素);
  8. :为Y轴方向分辨率,单位为m/p(米每像素);

与缩放级别相关,有

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

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

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

 
1 (0.0, 0.0) 1 1 百度地图,搜狗地图
2 (-20037508.3427890167,20037508.3427890167) 1 -1 ArcGIS online,OpenStreetMap,MapQuest,必应地图、天地图(web墨卡托),高德地图,谷歌地图,超图,e都市
3 (-180.0, 180.0) 1 -1 谷歌地球
4 (-180.0, 90.0) 1  -1  天地图(经纬度直投)
5 (-20037508.3427890167, -20037508.3427890167) 1 1 腾讯地图、360地图

瓦片组织相关OGC标准

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

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

瓦片地图面面观之瓦片组织相关推荐

  1. 瓦片地图面面观之投影

    投影 对于地图制图:原面为地球的旋转椭球面,是三维的:承受面(对瓦片地图而言为瓦片)为二维平面的.如何在原面与承受面之间建立点.线.面的一一对应关系是地图制图的必须过程,这一过程通常称之为:地图投影. ...

  2. 瓦片地图面面观之缩放级别

    缩放级别 我们知道瓦片地图基于瓦片,而瓦片本身是栅格数据,无法再保证不损失图元数据的情况下对其连续缩放.因此瓦片地图一般通过定义缩放级别的方式来实现瓦片地图的层级缩放. 一般瓦片地图定义缩放级别在1~ ...

  3. Android访问瓦片地图 费流量,瓦片地图注意事项

    瓦片地图(Tiled Map)系列文章: 承接上一篇文章,再来聊聊一些coding方面的tips: TileMapAtlas.FastTMX和TMXTiledMap的选择 我们看到cocos2d-x提 ...

  4. Unity2D瓦片地图tilemap出现瓦片间间隙问题解决

    项目场景: Unity瓦片地图还是挺好用的,不过存在瓦片间间隙的问题 问题描述: 就比如这张图里方块间的蓝色线条,看着很是烦人. 原因分析: 肯定是有unity设置抗锯齿的问题,还有其他问题,就不太清 ...

  5. Android访问瓦片地图 费流量,瓦片地图服务在线资源访问总结

    在线资源包括:天地图.谷歌地图.BingMap.OSM.Mapbox等 以下url中: Z-瓦片层级,一般支持0-18级,越大代表越清晰: X-瓦片列号,从西向东(0->360),依次0,1,2 ...

  6. 【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

    目录 1 TileMap概念 主要思想 优点 创建的层级 2 Unity中的TileMap 2.1 自动父级Grid 网格 2.2 Sprite精灵 2.3 Tile 瓦片 2.4 Tile Pale ...

  7. 瓦片地图 cocos

    [前言] 还记得我们小时候玩的小霸王里面的游戏吗?大部分都是基于Tile地图的游戏,如坦克大战.冒险岛.魂斗罗.吞食天地等.而在手游中,基于瓦片地图的游戏也很常见.如:<保卫萝卜>. 瓦片 ...

  8. 矢量、栅格、瓦片地图傻傻分不清

    问: 在webgis应用中,什么是矢量栅格地图 答: 矢量地图和栅格地图是WebGIS中两种常见的地图类型. 矢量地图是基于矢量数据构建的地图.矢量数据是基于点.线.多边形等几何要素及其属性信息来描述 ...

  9. tiled素材_瓦片地图 Tiled Map

    瓦片地图(Tiled Map) 瓦片地图(Tile Map) 不但生成简单,并且可以灵活的用于Cocos2d-x引擎.不论你的游戏是角色扮演游戏, 平台动作游戏或仿打砖块游戏,这些游戏地图可以使用开源 ...

最新文章

  1. C++普通引用和常引用
  2. AUTOSAR从入门到精通100讲(二十八)-AutoSar之CAN网络管理
  3. 虚拟服务器选那个存储好,如何选择虚拟环境中的存储?
  4. 第一个自动化运维程序
  5. 老段51CTO会员卡 限时半价
  6. 简单Android app开发_个人如何开发手机app?做个app需要的技术?最简单app制作流程...
  7. Axure中级教程:管理后台内容模板(中继器全交互详解)
  8. 教你如何用bat程序给电脑清理缓存垃圾(普通版)
  9. 读书笔记:《从生活常识的角度看懂财务报表》
  10. PS技巧---提取线稿
  11. 大数据+物联网智能交通系统
  12. zigbee芯片方案和模组选型
  13. Swift:高级架构、流水线深度、内存延迟 转载
  14. 缓冲协议才是Python风靡全球的主要原因
  15. Mysql数据库命令大全(一)
  16. Python的皮肤的使用
  17. 科创板市价申报订单中拟用价格保护措施,买入申报的成交价不高于保护限价...
  18. 苹果向在巴西被盗的iPhone客户支付赔偿金
  19. Python基础(二)完结
  20. 王者荣耀s16服务器维护,王者荣耀维护s16新赛季开启 王者荣耀更新不了怎么办...

热门文章

  1. 店铺流量提升及推广方法
  2. 基于QT的简陋视频播放器
  3. 时间序列预测方法的使用(简单、加权时序,简单加权移动,一次二次三次指数平滑法)
  4. 微信公众平台网页开发实战-
  5. Java JDBC https://www.bilibili.com/video/BV1PE411i7CV?p=31spm_id_from=pageDriver
  6. 游戏建模一般使用什么软件?
  7. 清华EMBA课程系列思考之十六(1) -- 创新与企业转型
  8. C++ 算法设计与分析 地图着色问题(中国+美国)
  9. Win10 20H1及以上文件误删恢复
  10. 问卷调查系统搭建(一)