关于天地图的瓦片下载

关于天地图的瓦片组织规则在这篇博客里面已经讲解得很清楚了

https://www.cnblogs.com/The-SEA/p/4364074.html

https://www.cnblogs.com/liweis/p/9752634.html

天地图的底图是原点在左上角,满足长宽比1:2的矩形地图。而OSM(Open Street Map)等地图则是正方形。百度地图的原点位于整幅地图的正中间。

这里主要使用了这篇博客  https://blog.csdn.net/u013323965/article/details/53154046  里的Java代码下载天地图瓦片。

我记录一下自己在天地图瓦片的下载和拼接过程遇到的问题。

一、天地图的URL

网络上大多数的博客都提到了,天地图的URL的形式是:http://t0.tianditu.com/DataServer?T=vec_c&x=0&y=0&l=1

其中每个URL包含四个参数,分别是:

T=vec_c ; x = ? ; y = ? ; l = ?;

T代表底图类型,x代表瓦片的列号(起始位0),y代表瓦片的行号(起始位0),l代表底图的级别(起始位1,最大为20)。

参考官网的文档,我们可以根据自己的需要,对URL中的地图类型进行替换。

 

 

但在实际操作过程中发现,仅仅这样一个URL还不够完整。根据天地图2019年新规,在实际应用时应当获得其开发授权,所以所有的URL请求也会对权限有所要求。从下面这张图,我们可以清晰地看到,在天地图更新各个Level的瓦片时,请求URL的格式如:

http://t0.tianditu.com/DataServer?T=img_c&x=0&y=0&l=1&tk=密钥

很明显tk=2ce94f67e58faa24beb7cb8a09780552这个密钥是可用的,所以我们只需要在Java源代码中使用这个带密钥的URL就可以实现下载了。当然,如果要在自己的工程中调用天地图API,大家还是需要去天地图官网注册并申请成为开发者的。

二、拼接天地图瓦片

最后就是将下载好的天地图瓦片拼接起来,我们就能得到各个Level的完整底图了。至于具体的拼接方法,别人也已经总结过很多,在这里就不赘述了。

 

这是本人的第一篇博客。不论是批评指正或者问题疑惑,都欢迎大家在下方留言。

 

posted @ 2019-05-16 20:05  自闭火柴的玩具熊  阅读(6121)  评论(0编辑  收藏  举报