由地图经纬度获得地图瓦片编号

参考文章  http://blog.csdn.net/youngkingyj/article/details/23365849

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

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

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




http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#Tile_servers  这里面有一些实现,经纬度得到瓦片编号等

https://www.cnblogs.com/jhlong/p/5394751.html   可以粗率算出瓦块大小,谷歌地图15级的时候瓦块长宽为1公里


http://blog.sina.com.cn/s/blog_969214bc0102vqds.html   里面有谷歌地图级别和瓦片长度代表的实际距离


级别


 
 

实际距离


 
 

像素


 
 

图上距离


 
 

图像分辨率


 
 

比例尺


 
 

空间分辨率


 
 第2级
 
 5000公里
 
 70
 
 2.47厘米
 
 72dpi
 
 2亿 :1
 
 71公里
 
 第3级
 
 2000公里
 
 55
 
 1.94厘米
 
 72dpi
 
 1亿 :1
 
 36公里
 
 第4级
 
 2000公里
 
 115
 
 4.06厘米
 
 72dpi
 
 5千万 :1
 
 17公里
 
 第5级
 
 1000公里
 
 115
 
 4.06厘米
 
 72dpi
 
 2.5千万 :1
 
 9公里
 
 第6级
 
 500公里
 
 115
 
 4.06厘米
 
 72dpi
 
 1.2千万 :1
 
 4公里
 
 第7级
 
 200公里
 
 91
 
 3.21厘米
 
 72dpi
 
 6百万 :1
 
 2公里
 
 第8级
 
 100公里
 
 176
 
 6.21厘米
 
 72dpi
 
 160万 :1
 
 568
 
 第9级
 
 50公里
 
 91
 
 3.21厘米
 
 72dpi
 
 155万 :1
 
 549
 
 第10级
 
 20公里
 
 72
 
 2.54厘米
 
 72dpi
 
 80万 :1
 
 278
 
 第11级
 
 10公里
 
 72
 
 2.54厘米
 
 72dpi
 
 40万 :1
 
 139
 
 第12级
 
 5公里
 
 72
 
 2.54厘米
 
 72dpi
 
 20万 :1
 
 69
 
 第13级
 
 2公里
 
 57
 
 2.01厘米
 
 72dpi
 
 10万 :1
 
 35
 
 第14级
 
 2公里
 
 118
 
 4.16厘米
 
 72dpi
 
 5万 :1
 
 17
 
 第15级
 
 1公里
 
 118
 
 4.16厘米
 
 72dpi
 
 2.5万 :1
 
 8
 
 第16级
 
 500
 
 118
 
 4.16厘米
 
 72dpi
 
 1.2万 :1
 
 4
 
 第17级
 
 200
 
 93
 
 3.28厘米
 
 72dpi
 
 2300 :1
 
 2.15
 
 第18级
 
 100
 
 93
 
 3.28厘米
 
 72dpi
 
 3000 : 1
 
 1.07
 
 第19级
 
 50
 
 93
 
 3.28厘米
 
 72dpi
 
 1500 : 1
 
 0.54
 
 第20级
 
 20
 
 74
 
 2.61厘米
 
 72dpi
 
 800 :1
 
 0.27
 


地图的地面分辨率与比例尺的关系  http://blog.csdn.net/zhushuaibing/article/details/40350247


(1)平面坐标系

Resolution,地面分辨率,类似Spatial Resolution(空间分辨率),我们这里主要关注用象元(pixel size)表示的形式:一个像素(pixel)代表的地面尺寸()天地图为例,Level1时,图片大小为256*2564Tile),那么赤道空间分辨率为:赤道周长/512。其他纬度的空间分辨率则为 纬度圈长度/512,极端的北极则为0Level2时,赤道的空间分辨率为 赤道周长/1024,其他纬度为 纬度圈长度除以1024。很明显,Ground Resolution取决于两个参数,缩放级别Level和纬度latitude Level决定像素的多少,latitude决定地面距离的长短。

以LEVEL为1级的时候为前提,取屏幕分辨率为96DPI(像素/英寸)

地面分辨率:一像素代表地面的距离(米),单位为像素/米;

Resolution = 实际距离/屏幕上的像素个数 = 实际距离(米)/512 (像素) 

比例尺:屏幕上的距离代表的地面的距离,无单位,仅为一个数值

Scale = 512(像素)/屏幕分辨率(像素/英寸) * 0.0254(米/英寸) /实际距离(米)

运算:天地图取屏幕分辨率为96(像素/英寸)

Resolution * Scale = 1/96 * 0.0254 = 0.0254 /96

Scale = 0.0254 / (96 * Resolution)

Scale = 1 : (96 * Resolution / 0.0254)

(2)经纬度

经纬度跟平面的思路差不多,不过由于经纬度的表征距离的时候用的是度数,所以在换算的时候,需要把度数
换成米,其换算公司如下:

Scale = 1 : (96 * 2 * Math.PI * 6378137 * resolution / 360 / 0.0254);

### 瓦片地图经纬度范围、地图投影与坐标系 瓦片地图通常采用的是基于球面墨卡托投影(Spherical Mercator Projection)的地图投影方式[^1]。这种投影方法能够有效地将地球表面映射到二维平面上,从而便于切分和展示。 #### 经纬度范围 在标准的瓦片地图系统中,地理坐标的经度范围通常是 [-180°, 180°],而纬度范围则被限定为大约 [-85.0511°, 85.0511°][^1]。这一特定的纬度范围是为了适应球面墨卡托投影的需求,在该范围内可以有效避免极点附近的畸变问题。 #### 地图投影 常用的球面墨卡托投影对应的 EPSG 编号为 `EPSG:3857` 或者 `EPSG:900913`。此投影通过将三维地球模型转换成二维平面来简化计算过程,并使得地图瓦片系统的实现更加高效。 #### 坐标系 对于编程接口而言,有时会涉及到不同坐标参考系统的相互转化操作。例如 Java 中可利用 Proj4J 库来进行此类变换: ```java // 使用Proj4J库进行坐标转换的一个简单例子 CoordinateReferenceSystem sourceCrs = CRS.decode("EPSG:4326"); // WGS84 (Lat/Lon) CoordinateReferenceSystem targetCrs = CRS.decode("EPSG:3857"); // Spherical Mercator Operation operation = new DefaultOperationFactory().createOperation(sourceCrs, targetCrs); MathTransform transform = operation.getMathTransform(); Point pointInLonLat = MGC.point(10d, 50d); // Example longitude and latitude values DirectPosition transformedPoint = transform.transform(pointInLonLat, null); ``` 上述代码展示了如何从地理坐标系 (`EPSG:4326`) 转换至球面墨卡托投影下的坐标系 (`EPSG:3857`)[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值