基于python的百度离线地图下载器
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的百度离线地图下载器相关推荐
- 基于Python的多平台音乐下载器(附源码软件)
写在前面 本软件所有功能均由Python实现 本软件由本人原创,所用的图标来自iconfont.cn 本软件仅供大家参考与学习,请支持正版音乐! 软件下载: https://wwx.lanzoux.c ...
- 单款地图下载器如何授权
一.概述 <谷歌卫星地图下载器>是单款地图下载器的典型代表. 这里讲的<谷歌卫星地图下载器>与<万能地图下载器>都是同一款软件产品,只是功能授权不同.在<万能 ...
- 学习路之gis--百度离线地图下载制作
在有些情况下需要使用地图,但又不能访问外网,这时你需要一个离线地图.本文介绍如何制作百度离线地图. 下面将介绍如何实现一个离线版百度地图: 1. 下载百度地图瓦片 下载网址:望远网-百度地图下载 首先 ...
- QT5.12.9 百度离线地图
1.百度离线地图下载 使用斑马鱼百度地图下载工具:下载地址 选中要下载的区域进行下载 我这里只下载普通地图,在下载目录生成tiles目录,如果选择混合地图会生成三个目录,并将目录内容拷贝斑马鱼对应目录 ...
- 百度离线地图开发,node实现地图瓦片下载
最近有个Web项目要用离线地图,项目是在内网环境,找了很多资料,踩了很多坑,好在已经实现了,下面把资料整理一下. 首先是百度离线地图开发包,原文地址是http://www.xiaoguo123.com ...
- Cesium - 地图下载器(python)
开发 需要卫星地图作为底图.百度.高德.谷歌.arcgis都提供在线服务,但在不能访问在线服务的地方就不适用了. 网上有不少地图下载器,BigeMap.水经注.太乐.91卫图.Google Maps ...
- 基于GMap.NET地图下载器的开发和研究
基于GMap.NET地图下载器的开发和研究 软件下载地址:https://pan.baidu.com/s/1ay0aOm3fiZ35vlfD8kFYFw 1.地图浏览功能 可以浏览谷歌地图.百度.ar ...
- 如何下载百度离线地图瓦片数据
离线地图分为两种:一种叫"金字塔瓦片"数据,一种叫"矢量地图数据".我们看的在线地图比如,百度,谷歌,高德等等网页上的地图,都是金字塔瓦片:另外一种是手机上用来 ...
- 怎么使用万能地图下载器制作百度个性化地图绿地水系陆地篇
1. 概述 水经注软件除了可以轻松下载无水印Google Earth卫星影像.有明确拍摄日期的历史影像.地方高清天地图.百度高德大字体打印地图,按1万/5千等国家标准图幅下载,对百度坐标与火星坐标进行 ...
- 加载调用本地百度地图资源,附地图下载器及黑龙江省1-16级瓦片地图,加载显示marker
业务适用场景说明 适用范围,需要局域网或者本地环境加载显示百度地图及展示marker的业务场景,可以根据业务使用场景下载不同地区等级的地图瓦片.由于瓦片文件过大,建议放在本地服务器上. 已有1-16级 ...
最新文章
- PCL谢谢笔记 体素栅格滤波(下采样)
- Docker创建 tomcat/weblogic 集群
- linux错误自动报告工具,linux – 关闭abrt的电子邮件通知(自动错误报告工具)
- 乖乖,腾讯天美研发20万月薪刷爆朋友圈,网友:小丑竟是我自己
- 关于 RGB 的颜色认知
- Windows服务器管理(4)——WinServer2008/2008R2系统 安装AD域控及DNS服务器
- 计算机应用论文投稿模板,标准期刊论文格式模板
- 计算机视觉之YOLO算法
- [从零开始学习FPGA编程-26]:进阶篇 - 基本组合电路-数据选择器(Verilog语言)
- Cameralink协议
- MD5摘要算法的几种解密方法,分享md5免费解密网站
- 一文排除R语言热力图所有的坑
- win10程序员软件列表(持续更新中...)
- beyond-compare 命令行工具
- 互联网+房地产最后拼什么?除了技术还是技术
- Clean Code 读书笔记四
- pg数据库numeric对应oracle,Oracle类型number与PG类型numeric对比和转换策略
- print()和println()的区别
- 元宇宙漫游指南-区块链构建元宇宙基础设施,一文搞清楚元宇宙和区块链
- cherry键盘alt+tab快捷键失效
热门文章
- [MRCTF2020]你传你马呢
- vue页面加载时闪现_Vue 闪现解决
- 德保罗大学计算机专业,2020年德保罗大学排名TFE Times美国最佳计算机科学硕士专业排名第75...
- ​UI自动化测试面试题及答案大全
- cad一直正在加载_CAD总是打开要加载好久,卡到不行。
- 注塑缺陷浮纤的原因及解决对策
- 中国地震断层分布(约495条)
- 问题G:卡布列克常数
- Heartbeat配置方案
- 小白linux学习[1]__虚拟机NAT方式共享电信拨号上网