目标:(七十八)中的问题155
瓦片生成后,就是一堆图片。怎么对这堆图片进行编号,是目前主流互联网地图商分歧最大的地方。总结起来分为四个流派:
- 谷歌XYZ:Z表示缩放层级,Z=zoom;XY的原点在左上角,X从左向右,Y从上向下。
- TMS:开源产品的标准,Z的定义与谷歌相同;XY的原点在左下角,X从左向右,Y从下向上。腾讯地图是严格按照这个来的,只不过最小层级为3,也即z从3开始起算,0、1、2是读不到内容的,比如中国范围就是http://rt1.map.gtimg.com/realtimerender?z=3&x=6&y=4&type=vector&style=0。
- QuadTree:微软Bing地图使用的编码规范,Z的定义与谷歌相同,同一层级的瓦片不用XY两个维度表示,而只用一个整数表示,该整数服从四叉树编码规则
- 百度XYZ:Z从1开始,在最高级就把地图分为四块瓦片;XY的原点在经度为0纬度位0的位置,X从左向右,Y从下向上。
下图显示了前三个流派在zoom=1层级上的瓦片编号结果:
高德地图的瓦片划分方式
下表总结了中国主要地图商的瓦片编号流派,点击每个链接就可以获得一个对应编号的瓦片地图:
地图商 | 瓦片编码 | 图层 | 链接 |
---|---|---|---|
高德地图 | 谷歌XYZ | 道路 | http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x=105&y=48&z=7 |
高德地图 | 谷歌XYZ | 卫星 | http://webst04.is.autonavi.com/appmaptile?style=6&x=843&y=388&z=10 |
谷歌地图 | 谷歌XYZ | 道路 | http://mt2.google.cn/vt/lyrs=m&hl=zh-CN&gl=cn&x=105&y=48&z=7 |
谷歌地图 | 谷歌XYZ | 卫星 | http://mt2.google.cn/vt/lyrs=s&hl=zh-CN&gl=cn&x=105&y=48&z=7 |
谷歌地图 | 谷歌XYZ | 地形 |
|
OpenStreetMap | 谷歌XYZ | 道路 | http://a.tile.openstreetmap.org/7/105/48.png |
腾讯地图 | TMS | 道路 |
|
Bing地图 | QuadTree | 道路 | http://r1.tiles.ditu.live.com/tiles/r1321001.png?g=100&mkt=zh-cn |
百度地图 | 百度XYZ | 道路 | http://online4.map.bdimg.com/tile/?qt=tile&x=98&y=36&z=9&;styles=pl&scaler=1&udt=20170406 |
百度地图 | 百度XYZ | 交通 | http://its.map.baidu.com:8002/traffic/TrafficTileService?level=19&x=99052&y=20189&time=1373790856265&label=web2D&;v=017 |
谷歌地图中:z即为瓦片的层次,0层覆盖全球;y为行,从上往下为0~2^z-1;x为列,从左往右依次为0~2^z-1
地址中mt0.google.cn为服务器地址,可用的包括mt1.google.cn、mt2.google.cn、mt3.google.cn等。
lyrs=s为地图类型,如下:
- m:路线图
- t:地形图
- p:带标签的地形图
- s:卫星图
- y:带标签的卫星图
- h:标签层(路名、地名等)
补充一个新的瓦片地图资源:http://map.geoq.cn/,里面有彩色、灰色、暖色和夜色版的中国地图,坐标为GCJ02。举例:http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetWarm/MapServer/tile/{z}/{y}/{x}
earth文件配置和效果如下:
<map name="MBTiles" type="geocentric" version="2">
<options>
<profile>
<srs>wgs84</srs>
<xmin>-180.0</xmin>
<ymin>-90.0</ymin>
<xmax>180.0</xmax>
<ymax>90.0</ymax>
<num_tiles_wide_at_lod_0>1</num_tiles_wide_at_lod_0>
<num_tiles_high_at_lod_0>1</num_tiles_high_at_lod_0>
</profile>
<terrain driver="rex" color="#0000ffff">
<vertical_scale>1.0</vertical_scale>
</terrain>
</options>
<image name="mapbox_satellite" driver="xyz">
<url>http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetWarm/MapServer/tile/{z}/{y}/{x}</url>
<profile>
<srs>wgs84</srs>
<xmin>-180.0</xmin>
<ymin>-90.0</ymin>
<xmax>180.0</xmax>
<ymax>90.0</ymax>
<num_tiles_wide_at_lod_0>1</num_tiles_wide_at_lod_0>
<num_tiles_high_at_lod_0>1</num_tiles_high_at_lod_0>
</profile>
</image>
1) http://online0.map.bdimg.com/onlinelabel/?qt=tile&x=49310&y=10244&z=18
2) http://online1.map.bdimg.com/onlinelabel/?qt=tile&x=49310&y=10244&z=18
3) http://online2.map.bdimg.com/onlinelabel/?qt=tile&x=49310&y=10244&z=18
4) http://online3.map.bdimg.com/onlinelabel/?qt=tile&x=49310&y=10244&z=18
5) http://online4.map.bdimg.com/onlinelabel/?qt=tile&x=49310&y=10244&z=18
6) http://online5.map.bdimg.com/onlinelabel/?qt=tile&x=49310&y=10244&z=18
7) http://online6.map.bdimg.com/onlinelabel/?qt=tile&x=49310&y=10244&z=18
8) http://online7.map.bdimg.com/onlinelabel/?qt=tile&x=49310&y=10244&z=18
9) http://online8.map.bdimg.com/onlinelabel/?qt=tile&x=49310&y=10244&z=18
10) http://online9.map.bdimg.com/onlinelabel/?qt=tile&x=49310&y=10244&z=18
11) http://map.baidu.com/
12) http://wprd01.is.autonavi.com/appmaptile?style=7&x=427289&y=227618&z=19
13) http://wprd02.is.autonavi.com/appmaptile?style=7&x=427289&y=227618&z=19
14) http://wprd03.is.autonavi.com/appmaptile?style=7&x=427289&y=227618&z=19
15) http://wprd04.is.autonavi.com/appmaptile?style=