import os,stat

import urllib.request

import math

import json

def downloadPicture(img_url,file_path,file_name,file_suffix):

try:

#是否有这个路径

if not os.path.exists(file_path):

#创建路径

os.makedirs(file_path)

#获得图片后缀

# file_suffix = '.png' #os.path.splitext(img_url)[1]

# file_name = time.clock()

# print(file_suffix)

#拼接图片名(包含路径)

filename = '{}/{}{}'.format(file_path,file_name,file_suffix)

print(filename)

#下载图片,并保存到文件夹中

urllib.request.urlretrieve(img_url,filename)

except IOError :

print("IOError")

except Exception :

print("Error")

# # 百度地图瓦片下载

def downloadBDtiles():

#坐标转换接口

# http://api.map.baidu.com/geoconv/v1/?coords=114.21892734521,29.575429778924&from=1&to=5&ak=

zList=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]

token="A4jr7kTCADiD4q6Iphl7zza1BEyYFAo8"

file_path_sl='D:/sl'

file_path_sl_label='D:/label_sl'

file_path_yx='D:/yx'

file_path_yx_label='D:/label_yx'

lefttop_point1=[118.12,33.8]#[118.12,33.8]           #左上角

rightbottom_point1=[119.4,33.019]       #右下角

lefttop_point_response = urllib.request.urlopen('{}{}{}{}{}{}'.format("http://api.map.baidu.com/geoconv/v1/?coords=",lefttop_point1[0],",",lefttop_point1[1],"&from=1&to=6&ak=",token))

rightbottom_point_response = urllib.request.urlopen('{}{}{}{}{}{}'.format("http://api.map.baidu.com/geoconv/v1/?coords=",rightbottom_point1[0],",",rightbottom_point1[1],"&from=1&to=6&ak=",token))

lefttop_point_json = json.loads(lefttop_point_response.read())["result"]

rightbottom_point_json = json.loads(rightbottom_point_response.read())["result"]

lefttop_point = [lefttop_point_json[0]["x"],lefttop_point_json[0]["y"]]

rightbottom_point = [rightbottom_point_json[0]["x"],rightbottom_point_json[0]["y"]]

zindex=0

for z in zList:

tile_x_min = int(lefttop_point[0] * math.pow(2,z-18)/256)

tile_x_max = int(rightbottom_point[0] * math.pow(2,z-18)/256)

while tile_x_min <= tile_x_max:

tile_y_max = int(lefttop_point[1] * math.pow(2,z-18)/256)

tile_y_min = int(rightbottom_point[1] * math.pow(2,z-18)/256)

while tile_y_min <= tile_y_max:

print(z)

print(tile_x_min)

print(tile_y_min)

img_url_sl='{}{}{}{}{}{}{}'.format("http://online1.map.bdimg.com/onlinelabel/?qt=tile&x=",tile_x_min,"&y=",tile_y_min,"&z=",z,"")

img_url_sl_label='{}{}{}{}{}{}{}'.format("http://online0.map.bdimg.com/tile/?qt=tile&x=",tile_x_min,"&y=",tile_y_min,"&z=",z,"&styles=sl&v=017")

img_url_yx ='{}{}{}{}{}{}{}'.format(" http://shangetu1.map.bdimg.com/it/u=x=",tile_x_min,";y=",tile_y_min,";z=",z,";v=009;type=sate&fm=46")

# img_url_yx_label='{}{}{}{}{}{}{}'.format("http://online1.map.bdimg.com/onlinelabel/?qt=tile&x=",tile_x_min,"&y=",tile_y_min,"&z=",z,"")

filepathsl ='{}/{}/{}'.format(file_path_sl,z,tile_x_min)

filepathsllabel ='{}/{}/{}'.format(file_path_sl_label,z,tile_x_min)

filepathyx ='{}/{}/{}'.format(file_path_yx,z,tile_x_min)

filepathyxlabel ='{}/{}/{}'.format(file_path_yx_label,z,tile_x_min)

filename = tile_y_min

file_suffix=".png"

downloadPicture(img_url_sl,filepathsl,filename,file_suffix)

downloadPicture(img_url_sl_label,filepathsllabel,filename,file_suffix)

downloadPicture(img_url_yx,filepathyx,filename,file_suffix)

# downloadPicture(img_url_yx_label,filepathyxlabel,filename,file_suffix)

tile_y_min +=1

tile_x_min +=1

zindex+=1

基于python的百度离线地图下载器相关推荐

  1. 基于Python的多平台音乐下载器(附源码软件)

    写在前面 本软件所有功能均由Python实现 本软件由本人原创,所用的图标来自iconfont.cn 本软件仅供大家参考与学习,请支持正版音乐! 软件下载: https://wwx.lanzoux.c ...

  2. 单款地图下载器如何授权

    一.概述 <谷歌卫星地图下载器>是单款地图下载器的典型代表. 这里讲的<谷歌卫星地图下载器>与<万能地图下载器>都是同一款软件产品,只是功能授权不同.在<万能 ...

  3. 学习路之gis--百度离线地图下载制作

    在有些情况下需要使用地图,但又不能访问外网,这时你需要一个离线地图.本文介绍如何制作百度离线地图. 下面将介绍如何实现一个离线版百度地图: 1. 下载百度地图瓦片 下载网址:望远网-百度地图下载 首先 ...

  4. QT5.12.9 百度离线地图

    1.百度离线地图下载 使用斑马鱼百度地图下载工具:下载地址 选中要下载的区域进行下载 我这里只下载普通地图,在下载目录生成tiles目录,如果选择混合地图会生成三个目录,并将目录内容拷贝斑马鱼对应目录 ...

  5. 百度离线地图开发,node实现地图瓦片下载

    最近有个Web项目要用离线地图,项目是在内网环境,找了很多资料,踩了很多坑,好在已经实现了,下面把资料整理一下. 首先是百度离线地图开发包,原文地址是http://www.xiaoguo123.com ...

  6. Cesium - 地图下载器(python)

    开发 需要卫星地图作为底图.百度.高德.谷歌.arcgis都提供在线服务,但在不能访问在线服务的地方就不适用了. 网上有不少地图下载器,BigeMap.水经注.太乐.91卫图.Google Maps ...

  7. 基于GMap.NET地图下载器的开发和研究

    基于GMap.NET地图下载器的开发和研究 软件下载地址:https://pan.baidu.com/s/1ay0aOm3fiZ35vlfD8kFYFw 1.地图浏览功能 可以浏览谷歌地图.百度.ar ...

  8. 如何下载百度离线地图瓦片数据

    离线地图分为两种:一种叫"金字塔瓦片"数据,一种叫"矢量地图数据".我们看的在线地图比如,百度,谷歌,高德等等网页上的地图,都是金字塔瓦片:另外一种是手机上用来 ...

  9. 怎么使用万能地图下载器制作百度个性化地图绿地水系陆地篇

    1. 概述 水经注软件除了可以轻松下载无水印Google Earth卫星影像.有明确拍摄日期的历史影像.地方高清天地图.百度高德大字体打印地图,按1万/5千等国家标准图幅下载,对百度坐标与火星坐标进行 ...

  10. 加载调用本地百度地图资源,附地图下载器及黑龙江省1-16级瓦片地图,加载显示marker

    业务适用场景说明 适用范围,需要局域网或者本地环境加载显示百度地图及展示marker的业务场景,可以根据业务使用场景下载不同地区等级的地图瓦片.由于瓦片文件过大,建议放在本地服务器上. 已有1-16级 ...

最新文章

  1. PCL谢谢笔记 体素栅格滤波(下采样)
  2. Docker创建 tomcat/weblogic 集群
  3. linux错误自动报告工具,linux – 关闭abrt的电子邮件通知(自动错误报告工具)
  4. 乖乖,腾讯天美研发20万月薪刷爆朋友圈,网友:小丑竟是我自己
  5. 关于 RGB 的颜色认知
  6. Windows服务器管理(4)——WinServer2008/2008R2系统 安装AD域控及DNS服务器
  7. 计算机应用论文投稿模板,标准期刊论文格式模板
  8. 计算机视觉之YOLO算法
  9. [从零开始学习FPGA编程-26]:进阶篇 - 基本组合电路-数据选择器(Verilog语言)
  10. Cameralink协议
  11. MD5摘要算法的几种解密方法,分享md5免费解密网站
  12. 一文排除R语言热力图所有的坑
  13. win10程序员软件列表(持续更新中...)
  14. beyond-compare 命令行工具
  15. 互联网+房地产最后拼什么?除了技术还是技术
  16. Clean Code 读书笔记四
  17. pg数据库numeric对应oracle,Oracle类型number与PG类型numeric对比和转换策略
  18. print()和println()的区别
  19. 元宇宙漫游指南-区块链构建元宇宙基础设施,一文搞清楚元宇宙和区块链
  20. cherry键盘alt+tab快捷键失效

热门文章

  1. [MRCTF2020]你传你马呢
  2. vue页面加载时闪现_Vue 闪现解决
  3. 德保罗大学计算机专业,2020年德保罗大学排名TFE Times美国最佳计算机科学硕士专业排名第75...
  4. ​UI自动化测试面试题及答案大全
  5. cad一直正在加载_CAD总是打开要加载好久,卡到不行。
  6. 注塑缺陷浮纤的原因及解决对策
  7. 中国地震断层分布(约495条)
  8. 问题G:卡布列克常数
  9. Heartbeat配置方案
  10. 小白linux学习[1]__虚拟机NAT方式共享电信拨号上网