转自:https://blog.csdn.net/youngkingyj/article/details/23365849

开源与成熟商业的瓦片地图服务(TMS  2  WMTS),都有如下共同的特性,基本成为了标准:

(1) 坐标系:WGS84

(2) 投影:墨卡托投影Marcator,正轴等角圆柱投影)

--------------------------------------------

注:均为弧度。

(3) 当经度范围在[-180,180],投影为正方形时,纬度范围:[-85.05113, 85.05113]

(4) 图片大小:256*256

(5) 图片格式:jpg[有损压缩率高、不透明]   png[无损、透明]

OpenStreetMap   格式:png

(1,0,0)    (1,1,0)

(1,0,1)    (1,1,1)

瓦片地址格式:http://a.tile.openstreetmap.org/9/420/193.png

Cycle Map:http://c.tile.opencyclemap.org/cycle/9/420/193.png

Transport Map:http://b.tile2.opencyclemap.org/transport/9/420/193.png

MapQuest Map:http://otile3.mqcdn.com/tiles/1.0.0/osm/9/420/193.png

z: [0-18]    x,y: [0-]

在第z级别,x,y方向的瓦片个数均为:

图片(z,x,y)像素(m,n)[注:像素坐标以左上角为原点,x轴向右,y轴向下]的经纬度[单位:度]分别为:

----------------------------------------------------------------------------

已知经纬度(单位:度),求瓦片编号x,y:

Google Map  卫星地图/地形图:jpg   地图:png

(0,0,1)    (1,0,1)

(0,1,1)    (1,1,1)

瓦片地址格式:http://mt2.google.cn/vt/lyrs=m@167000000&hl=zh-CN&gl=cn&x=420&y=193&z=9

z: [0-18]    x,y: [0-]

地图图层说明:

h skeleton map light  http://mt2.google.cn/vt/lyrs=h&hl=zh-CN&gl=cn&x=420&y=193&z=9
m 全地图   http://mt2.google.cn/vt/lyrs=m&hl=zh-CN&gl=cn&x=420&y=193&z=9
p terrain+map  http://mt2.google.cn/vt/lyrs=p&hl=zh-CN&gl=cn&x=420&y=193&z=9
r skeleton map dark   http://mt2.google.cn/vt/lyrs=r&hl=zh-CN&gl=cn&x=420&y=193&z=9
y hybrid satellite map   http://mt1.google.cn/vt/lyrs=y&hl=zh-CN&gl=cn&x=420&y=193&z=9
t 地形图   http://mt0.google.cn/vt/lyrs=t&hl=zh-CN&gl=cn&x=420&y=193&z=9
s 卫星地图   http://mt3.google.cn/vt/lyrs=s&hl=zh-CN&gl=cn&x=420&y=193&z=9
也可以进行组合,例如:s,r 或者 t,h   http://mt3.google.cn/vt/lyrs=t,h&hl=zh-CN&gl=cn&x=420&y=193&z=9

图片(x,y,z)像素(m,n)[注:像素坐标以左上角为原点,x轴向右,y轴向下]的经纬度[单位:度]与openmapstreet方法一致。

Bing Map   格式:png

0    1

2    3

瓦片地址格式:http://r1.tiles.ditu.live.com/tiles/r132122232001311321.png?g=100&mkt=zh-cn

级数:[1-18]

计算图片[为图片的code码,={0,1,2,3}]的像素(m,n)[注:像素坐标以左上角为原点,x轴向右,y轴向下]的经纬度

只需先计算出与x,y,z的关系,然后再套用openstreetmap的公式,就可以得到。

z = 的位数

Baidu Map  格式:jpg、png

(0,0,3)      (1,0,3)

(0,M1,3)    (1,M1,3)

瓦片地址格式:http://shangetu1.map.bdimg.com/it/u=x=99092;y=19997;z=19;v=017;type=web&fm=44&udt=20130712

百度地图赤道上的分辨率为:

z: [3-19]    x,y:     注:其中R为地球半径(R=6378137)

在第z级别,x,y方向的瓦片个数均为:

地图图层说明:

type=web 地图   http://shangetu0.map.bdimg.com/it/u=x=101237;y=37702;z=19;v=017;type=web&fm=44&udt=20130712
type=sate 卫星图  http://shangetu1.map.bdimg.com/it/u=x=101237;y=37702;z=19;v=009;type=sate&fm=46&udt=20130506

路网:http://online0.map.bdimg.com/tile/?qt=tile&x=101237&y=37702&z=19&styles=sl&v=017&udt=20130712

实时交通信息:http://its.map.baidu.com:8002/traffic/TrafficTileService?level=19&x=99052&y=20189&time=1373790856265&label=web2D&v=017

三维:http://d3.map.baidu.com/resource/mappic/bj/2/3/lv2/1251,1143.jpg?v=001  【z: [lv6-lv1]】

(lv6,76,70)    (lv6,77,70)

(lv6,76,71)    (lv6,77,71)

图片(x,y,z)像素(m,n)[注:像素坐标以左上角为原点,x轴向右,y轴向下]的经纬度[单位:度]分别为:

-----------------------------------------------------------------------------

已知经纬度(单位:度),求瓦片编号x,y:

瓦片下载工具

1.太乐地图:ArcTilerDesktopV3.5.rar,http://www.arctiler.com/

2.全能电子地图下载器:MapTileDownloader1.8.3.exe,http://code.google.com/p/maptiledownloader/

3.TileDownloader: http://www.softpedia.com/progDownload/Tile-Downloader-Download-198232.html
http://sourceforge.net/projects/tiledownloader/files/1.3/release1.3-bin.zip/download

坐标转换工具

http://rovertang.com/labs/tileindex/

http://rovertang.com/archives/545

http://rovertang.com/labs/GMAPIv3_Offline/

公式&代码实现:http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames

[转]OpenStreetMap/Google/百度/Bing瓦片地图服务(TMS)的更多相关文章

  1. OpenStreetMap/Google/百度/Bing瓦片地图服务(TMS)

    开源与成熟商业的瓦片地图服务(TMS  2  WMTS),都有如下共同的特性,基本成为了标准: (1) 坐标系:WGS84 (2) 投影:墨卡托投影(Marcator,正轴等角圆柱投影) ------ ...

  2. Leaflet 调用百度瓦片地图服务

    在使用 leaflet 调用第三方瓦片地图服务的项目,主要谷歌地图.高德地图.百度地图和 OSM 地图,与其他三种地图对比,百度地图的瓦片组织方式是不同的.百度从中心点经纬度(0,0)度开始计算瓦片, ...

  3. Bing Maps进阶系列一:初识Bing Maps地图服务

    Bing Maps进阶系列一:初识Bing Maps地图服务 Bing Maps提供了一组WCF的地图服务,使用这些服务我们可以方便的在自己的应用系统里实现地理位置搜索等相关功能.他们分别是地理编码服 ...

  4. OpenLayers加载百度离线瓦片地图(完美无偏移)

    本文使用OpenLayers最新版本V5.3.0演示:如何使用OpenLayer完美无偏移加载百度离线瓦片地图.OpenLayers 5.3.0下载地址为:https://github.com/ope ...

  5. Google Map API V3调用arcgis发布的瓦片地图服务

    由于最近项目需要用到CAD制作的地图,但之前一直使用的是用谷歌离线瓦片地图的方式,怎么样把CAD图像地图一样有缩放,移动的功能放到网页显示成了难题, 原先的谷歌地图的代码难道就不能用了?重新写一套代码 ...

  6. C++ 写的地图控件,支持google 百度 在线离线地图

    C++处理google  百度地图在网上查阅了很多都是通过浏览器方式显示地图信息, 跟我目前项目很不符合, 所以仔细研究了一下C++方式显示地图.通过地图投影以及墨卡托投影,在通过平面地图计算经纬度. ...

  7. WMS、WFS、WCS、WPS、WMTS、WMSC、TMS等常见地图服务的区别

    WebGIS的开发者经常需要面对各种地图服务规范,例如WMS.WFS.WCS.WPS.WMTS.TMS.WMSC等.因此了解这些服务的内容是相当重要的,这里对常见的服务进行了整理. OGC联盟: 开放 ...

  8. 快速搭建简单的LBS程序——地图服务

    很多时候,我们的程序需要提供需要搭建基于位置的服务(LBS),本文这里简单的介绍一下其涉及的一些基本知识. 墨卡托投影 地图本身是一个三维图像,但在电脑上展示时,往往需要将其转换为二维的平面图形,需要 ...

  9. 【BIGEMAP一键离线地图服务】

    地址:http://www.bigemap.com/offlinemaps/ 首页 离线地图 代码示例 项目案例 开发文档 关于我们     [BIGEMAP一键离线服务] 1.快速搭建离线地图服务2 ...

随机推荐

  1. php 解密小程序获取unionid

    小程序代码 php代码 public function login2() { $post = input(); if (!empty($post)) { $appid = $this->wxap ...

  2. feifeicms后台任意文件读取

    前台大略看了下,本身内容比较简单,经过“洗礼”后以及没什么问题了,基本上输入都过滤了. 这次审计找到了一个后台的任意文件读取,可以读取数据库配置文件. 在DataAction.class.php文件中 ...

  3. Java基础(Java补码)

    原码,反码,补码是java数值运算的基础,在计算机程序中,数值运算是基于二进制的,也就是说底层是二进制运算.而数值有正数与负数,二进制只有0和1,如何表示负数,如何进行正负数的运算,这就是原反补的意义 ...

  4. 2017-2018-2 20155228 《网络对抗技术》 实验九:Web安全基础

    2017-2018-2 20155228 <网络对抗技术> 实验九:Web安全基础 1. 实践内容 1.1 标理解常用网络攻击技术的基本原理 1.2 在Webgoat实验环境下实践相关实验 ...

  5. spring mvc get请求中文乱码问题

    使用Spring MVC进行get请求时发现get请求带上中文参数,后台收到的是乱码,即使加了encoding filter也没用. 原因是,encoding filter 是针对post请求的,to ...

  6. laravel 自动加载 自定义的文件/辅助函数

    需求 在 laravel 中自定义了一些 辅助函数,想要laravel框架自动加载这些函数 实现 将自定义的辅助函数放在helpers.php文件中,如下: 在compsoer.json 的 auto ...

  7. Flask-Migrate

    终于到了Flask-Migrate,之前在看Flask-SQLAlchemy的时候, Flask支持 makemigration / migrate 吗? 答案在这里该诉你,如果你同时拥有两个三方组件 ...

  8. oracle数据库开启与关闭

    先用CRT软件链接-——建立会话——telent/ssh——写服务器Ip——点击链接——输入密码  # su - oracle   打开数据库 # cmd   进入特权模式 $ sqlplus / a ...

  9. ASP.NET Core WebApi使用Swagger生成api

    引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者 ...

  10. c++的一些入门

    cout:对象名  <<:是一种插入运算符   endl:换行  :列如:count <<"Hello!"<<endl;  //把hello送到 ...