GIS开发:切片格式说明(翻译)-墨卡托

原创
01/10 19:07
阅读数 105
常用两种切片格式:
      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开始,切片的大小设置256*256,对应上边提到的web mercator坐标范围,换算第一级的分辨率是:

initialResolution=20037508.342789244*2/ 256 = 156543.03392804062

之后每放大一级,对应的用第一级分辨率/2,这些分辨率的级别,是各个可以制作切片软件的方案(scheme),如Arcgis Server,Geoserver等。
切片的规则还存在TMS、Google Maps和QuadTree的方式, T MS定义切片的开始从地图左下角开始,即中心点(origin)在左下角, Google Map s的切片定义中心点在左上角, QuadTree是必应地图使用的一种切片命名格式,TMS和Google Maps是将地图以x\y\z的方式存储读取, QuadTree将x\y转换成二进制的形式,进行存储读取,原理是一样的,只是命名规则不同。


参考文章:
gdal2tiles地图切片

https://github.com/wclwksn/gdal2tiles/blob/master/gdal2tiles/gdal2tiles.py


本文分享自微信公众号 - 技术几句杂谈(tecsimplepoint)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部