常用两种切片格式:
1、基于墨卡托坐标系(Web Mercator EPSG:3857)
地图厂家:谷歌地图、必应地图、高德、百度、Arcgis Online等
2、基于WGS84坐标系(WGS1984 EPSG:4326)
地图厂家:谷歌地球等
开源的地图框架Openlayers、Cesium、maptalks、Lealet等同时支持两种切片格式的服务加载。
详细的地图切片服务说明网址:
http://wiki.osgeo.org/wiki/Tile_Map_Service_Specification
http://wiki.osgeo.org/wiki/WMS_Tiling_Client_Recommendation
http://msdn.microsoft.com/en-us/library/bb259689.aspx
http://code.google.com/apis/maps/documentation/overlays.html#Google_Maps_Coordinates
Web Mercator EPSG:3857切片生成算法说明:
web mercator坐标系的范围:
[-20037508.342789244, -20037508.342789244, 20037508.342789244, 20037508.342789244],单位是米;
20037508.342789244来自于地球的周长
wgs84坐标系的范围:
[-180, -90, 180, 90],单位是度。
经纬度坐标 <->web mercator米制单位 <-> 像素 <-> 切片
LatLon <-> Meters <-> Pixels <-> Tile
首先要将经纬度换算成web mercator的米制单位,待切的影像是一张像素很大的图片,有一个经纬度的坐标范围,这样像素和米制的坐标范围,要进行一个换算,最后,生成对应的切片。
web mercator坐标和经纬度进行换算的时候,最大的纬度坐标是85.05112878,大于这个坐标或者小于这个负坐标的范围就被裁切掉了。
对应web mercator换算成经纬度的范围是:[-180, -85.05112878, 180, 85.05112878],所以,将web mercator的切片加载到球体上,南北极会有两个封不上的窟窿图片。
web mercator切片的第一级zoom=0,有些也从zoom=1开始,切片的大小设置256256,对应上边提到的web mercator坐标范围,换算第一级的分辨率是:
initialResolution=20037508.3427892442/ 256 = 156543.03392804062
之后每放大一级,对应的用第一级分辨率/2,这些分辨率的级别,是各个可以制作切片软件的方案(scheme),如Arcgis Server,Geoserver等。
切片的规则还存在TMS、Google Maps和QuadTree的方式,TMS定义切片的开始从地图左下角开始,即中心点(origin)在左下角,Google Maps的切片定义中心点在左上角,QuadTree是必应地图使用的一种切片命名格式,TMS和Google Maps是将地图以x\y\z的方式存储读取,QuadTree将x\y转换成二进制的形式,进行存储读取,原理是一样的,只是命名规则不同。
参考文章:
gdal2tiles地图切片
https://github.com/wclwksn/gdal2tiles/blob/master/gdal2tiles/gdal2tiles.py