天地图、谷歌地图、OSM地图


编写WMTS服务核心工作是什么?瓦片图地址模板、比例尺与分辨率、WGS84与瓦片图坐标的换算算法。还在找谷歌地图的比例尺和分辨率吗?还在用在用数学公式一点一点计算坐标吗?不用啦,我在这里把我已经计算好的分享给大家用。


天地图WGS84比例尺与分辨率,注意天地图WGS84地图已应用GCJ-02国家火星坐标系,坐标有偏移:


[cpp] view plain copy
18:5.36441802978515E-06,//街道   
17:1.07288360595703E-05,  
16:2.1457672119140625E-05,  
15:4.29153442382814E-05,  
14:8.58306884765629E-05,  
13:0.000171661376953125,  
12:0.00034332275390625,  
11:0.0006866455078125,  
10:0.001373291015625,  
9:0.00274658203125,  
8:0.0054931640625,  
7:0.010986328125,  
6:0.02197265625,  
5:0.0439453125,  
4:0.087890625,  
3:0.17578125,  
2:0.3515625,  
1:0.703125 //全球  


天地图的投影地图与OSM地图、谷歌地图的比例尺与分辨率实际上是相同的,如下所示:
[cpp] view plain copy
18:0.597164283559817,  
17:1.19432856685505,  
16:2.38865713397468,  
15:4.77731426794937,  
14:9.55462853563415,  
13:19.1092570712683,  
12:38.2185141425366,  
11:76.4370282850732,  
10:152.8740565704,  
9:305.7481128,  
8:611.49622628138,  
7:1222.99245256249,  
6:2445.98490512499,  
5:4891.96981024998,  
4:9783.93962049996,  
3:19567.8792409999,  
2:39135.7584820001,  
1:78271.5169639999  




还有一个用天地图跳过国家火星GCJ-02的捷径,就是把WGS84坐标换算成为WebMecator坐标,代码如下:


[cpp] view plain copy
void wgs84_to_webmercator(double xy[2])  
{  
    xy[0] = xy[0] * 20037508.3427892 / 180;  
    xy[1] = log(tan((90 + xy[1])*PI / 360)) / (PI / 180);  
    xy[1] = xy[1] * 20037508.3427892 / 180;  
}  


经过验证,天地图WebMecator投影与谷歌、OSM地图能够重合。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值