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

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

常用两种切片格式:
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的切片加载到球体上,南北极会有两个封不上的窟窿图片。
image.png
web mercator切片的第一级zoom=0,有些也从zoom=1开始,切片的大小设置256256,对应上边提到的web mercator坐标范围,换算第一级的分辨率是:
initialResolution=20037508.342789244
2/ 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

相关文章
|
存储 Java 定位技术
gis利器之Gdal(二)shp数据读取
本文首先简单介绍了空间数据shp数据的基本知识,其常见的文件组成形式。使用qgis软件对数据进行常规预览,最后重点介绍了使用gdal对矢量信息进行读取,​包括空间信息和属性信息
1563 0
gis利器之Gdal(二)shp数据读取
|
6月前
|
缓存 JavaScript 前端开发
mapbox没有token/token失效,地图闪烁后变空白,报错Error: A valid Mapbox access token is required to use Mapbox GL JS.
本博客介绍了mapbox如何去除token验证,暴力破解mapbox的token验证机制。一劳永逸解决mapbox地图闪现一下然后变成空白,报错Error: A valid Mapbox access token is required to use Mapbox GL JS.的方法,还介绍了类似问题的具体解决思路。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
数据可视化 大数据 定位技术
GIS:开源webgl大数据地图类库整理
GIS:开源webgl大数据地图类库整理
441 0
|
10月前
|
SQL 人工智能 JSON
XGrammar:陈天奇团队推出的LLM结构化生成引擎
XGrammar是由陈天奇团队推出的开源软件库,专为大型语言模型(LLM)设计,提供高效、灵活且可移植的结构化数据生成能力。基于上下文无关语法(CFG),XGrammar支持递归组合以表示复杂结构,适用于生成JSON、SQL等格式数据,并通过字节级下推自动机优化解释CFG,实现百倍加速。
407 0
XGrammar:陈天奇团队推出的LLM结构化生成引擎
|
12月前
|
存储 移动开发 算法
Quorum NWR:通过仲裁实现数据一致性
Quorum NWR:通过仲裁实现数据一致性
209 11
|
存储 SQL 定位技术
GIS开发:如何开发一个MBTiles Server
GIS开发:如何开发一个MBTiles Server
307 1
|
算法 定位技术
大地经纬度坐标系与Web墨卡托坐标系的转换
大地经纬度坐标系与Web墨卡托坐标系的转换
345 0
|
JavaScript 前端开发 定位技术
GIS开发:开源库计算经纬度坐标和瓦片坐标
GIS开发:开源库计算经纬度坐标和瓦片坐标
316 0
|
Java Maven
修改配置maven镜像仓库位置,将maven镜像更换成阿里镜像
修改配置maven镜像仓库位置,将maven镜像更换成阿里镜像
11398 1
|
Android开发
Android 中使用spinner实现下拉列表的两种方法和getItemAtPosition()方法的使用
Android 中使用spinner实现下拉列表的两种方法和getItemAtPosition()方法的使用
372 0