瓦片地图面面观之瓦片组织
瓦片组织
通过《瓦片地图面面观》一中图1瓦片网格的辅助,可直观感受到谷歌地图在第一级(缩放级别)的瓦片行列排列方式。可见谷歌地图第一级由四张瓦片构成了整个世界地图。
我们将瓦片地图中,瓦片的行列排列方式称之为“瓦片组织”。事实上,瓦片组织还是比较容易理解的,三个条件即可唯一定义瓦片组织:
- 瓦片列号增长方向;
- 瓦片行号增长方向。
- 瓦片编号起算原点在投影平面直角坐标系中的坐标。
如图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,反之取值-1;
- :瓦片行号增长方向,瓦片组织列号向上增长取值为1,反之取值-1;
- :投影平面坐标;
- :瓦片编号起算原点坐标;
- :为X轴方向分辨率,单位为m/p(米每像素);
- :为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~ ...
- Android访问瓦片地图 费流量,瓦片地图注意事项
瓦片地图(Tiled Map)系列文章: 承接上一篇文章,再来聊聊一些coding方面的tips: TileMapAtlas.FastTMX和TMXTiledMap的选择 我们看到cocos2d-x提 ...
- Unity2D瓦片地图tilemap出现瓦片间间隙问题解决
项目场景: Unity瓦片地图还是挺好用的,不过存在瓦片间间隙的问题 问题描述: 就比如这张图里方块间的蓝色线条,看着很是烦人. 原因分析: 肯定是有unity设置抗锯齿的问题,还有其他问题,就不太清 ...
- Android访问瓦片地图 费流量,瓦片地图服务在线资源访问总结
在线资源包括:天地图.谷歌地图.BingMap.OSM.Mapbox等 以下url中: Z-瓦片层级,一般支持0-18级,越大代表越清晰: X-瓦片列号,从西向东(0->360),依次0,1,2 ...
- 【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01
目录 1 TileMap概念 主要思想 优点 创建的层级 2 Unity中的TileMap 2.1 自动父级Grid 网格 2.2 Sprite精灵 2.3 Tile 瓦片 2.4 Tile Pale ...
- 瓦片地图 cocos
[前言] 还记得我们小时候玩的小霸王里面的游戏吗?大部分都是基于Tile地图的游戏,如坦克大战.冒险岛.魂斗罗.吞食天地等.而在手游中,基于瓦片地图的游戏也很常见.如:<保卫萝卜>. 瓦片 ...
- 矢量、栅格、瓦片地图傻傻分不清
问: 在webgis应用中,什么是矢量栅格地图 答: 矢量地图和栅格地图是WebGIS中两种常见的地图类型. 矢量地图是基于矢量数据构建的地图.矢量数据是基于点.线.多边形等几何要素及其属性信息来描述 ...
- tiled素材_瓦片地图 Tiled Map
瓦片地图(Tiled Map) 瓦片地图(Tile Map) 不但生成简单,并且可以灵活的用于Cocos2d-x引擎.不论你的游戏是角色扮演游戏, 平台动作游戏或仿打砖块游戏,这些游戏地图可以使用开源 ...
最新文章
- 用AI创造可持续发展社会价值,第二届腾讯Light·公益创新挑战赛正式启动
- 什么是.a和.so文件?
- freertos源码详解与应用开发 pdf_互联网企业面试必问Spring源码?搞定Spring源码,看完这篇就够了...
- 将AX寄存器中的16位数据分成4组(从高到低),每组4位,然后把这4组数作为数当中的低4位分别放在AL,BL,CL,DL中。
- Socket编程总结—Android手机服务器与多个Android手机客户端之间的通信(非阻塞)
- 程序员,岂能被网站吞吐量难住?
- 微处理器OpenRisc、SPARC、RISC-V架构
- shell错位_shell脚本出错!来大神指出错误出处!!!!
- 打印时总跟出一页计算机主的纸,如何将多页PDF打印在一张纸上
- 圆锥曲线万能弦长公式_圆锥曲线焦点弦长公式.doc
- WPS for Linux添加字体
- 小米android通知栏图标不显示,MIUI开发版更新:已修复原生样式下部分通知图标不显示的问题...
- 知乎热榜的话题,为什么从阿里巴巴离职,大萌哥汇总了9大理由,看完我先柠檬酸了!
- 电动车充电桩显示无法连接服务器失败,电动车充电桩故障排除技巧
- 2021-2027全球与中国医疗物联网服务市场现状及未来发展趋势
- 【vue】vue实现用户长时间不操作,提示用户登录已过期重新登录
- Flume监控软件——Ganglia安装与部署
- xtrabackup 问题“Too many open files”system error number 24
- 颈椎不太好适合学计算机那,低头对颈椎不好,那仰头是不是有好处?保护颈椎要记住5个要点,10个动作!...
- PinnedListView分析二
热门文章
- 计算机鼓轮原理,数码裂隙灯显微镜光学系统的设计与实现
- 大环配体DOTA修饰Fe3O4磁性纳米颗粒定制-瑞禧小编
- java race condition_Java中的Race condition和Critical section(译)
- 08_Python算法+数据结构笔记-二叉搜索树查询/删除-AVL树旋转/插入/应用-贪心算法
- mothur trim.seqs 去除PCR引物
- 小说里的编程 【连载之二十三】元宇宙里月亮弯弯
- 快速上手 Flutter 空安全
- PHP纯手写正则爬取星座屋网站星座运势数据
- Android IPC机制之IPC概念、Android 多进程和相关基础知识
- 前端 js 上传excel表格、文件