• 关于天地图的瓦片下载


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

    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的完整底图了。至于具体的拼接方法,别人也已经总结过很多,在这里就不赘述了。

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

  • 相关阅读:
    C中的system函数
    结构体数组
    转载--C++的反思
    oracle临时表空间
    oracle行转列,列转行
    oracle查询表结构语句
    实例化内部类
    Java非静态内部类为什么不能有静态成员
    oracle显示转换字段类型cast()函数
    linux中vim常用命令
  • 原文地址:https://www.cnblogs.com/ssjxx98/p/10877692.html
Copyright © 2020-2023  润新知