通过百度地图API--获取全国地图的经纬度
因为要做一个前端画图需要经纬度,一个个的查询过麻烦,最终弄出这个,以备后查!
import threading , time
import requests
from decimal import Decimal
#爬取数据
def hq(address,name_id):
url = 'http://api.map.baidu.com/geocoder?output=json&key=f247cdb592eb43ebac6ccd27f796e2d2&location=' + str(address)
response = requests.get(url)
answer = response.json()
print('得到反解数据', answer)
lng = answer['result']['location']['lng']
lat = answer['result']['location']['lat']
formatted_address = answer['result']['formatted_address']
business = answer['result']['business']
city = answer['result']['addressComponent']['city']
direction = answer['result']['addressComponent']['city']
distance = answer['result']['addressComponent']['direction']
district = answer['result']['addressComponent']['district']
province = answer['result']['addressComponent']['province']
street = answer['result']['addressComponent']['street']
street_number = answer['result']['addressComponent']['street_number']
cityCode = answer['result']['cityCode']
lin_list = str('%6f' % lng) + '|' + str('%6f' % lat) + '|' + str(formatted_address) + '|' + str(business) + '|' + str(
city) + '|' + str(direction) + '|' + str(distance) + '|' + str(district) + '|' + str(province) + '|' + str(
street) + '|' + str(street_number) + '|' + str(cityCode)
if cityCode==0:
#print('外国')
pass
else: name=str(name_id)+'list'
print(name)
with open(name, 'a+', encoding=('utf-8')) as f:
f.write(lin_list+'\n')
print('文件写入完成') #经度纬度处理
def longitude_proces(longitude, interval, latitude, latitude_end, name_id):
while longitude >= latitude:
address = '%s,%s' % (longitude, latitude_end) # 请求时,经度,纬度,需要互换
hq(address, name_id)
longitude -= interval class Thre(threading.Thread):#继承线程中的类
def __init__(self,lists,interval,name_id,times):
super(Thre,self).__init__()
self.interval=interval
self.lists=lists
self.name_id=name_id
self.times=times
def run(self):
print('执行线程开始时间:',self.times,self.lists,'==================start=============================================')
slog,elog,slat,elat=self.lists
#print(slog,elog,slat,elat)
longitude = Decimal(slog)#经度longitude开始
longitude_end = Decimal(elog)#经度结束
latitude=Decimal(slat)# 纬度latitude开始
latitude_end=Decimal(elat)#纬度结束 while latitude>=latitude_end:
latitude -= self.interval
longitude_proces(longitude,self.interval,longitude_end,latitude,self.name_id)
else:
den_time=time.time()-self.times
print('执行线程所用时间:',den_time,self.lists,'==================end=============================================') def main():
itude_list=[
['42.000000', '30.000000', '105.000000', '79.800000'], #
['42.000000', '21.000000', '129.000000', '105.000000'], #
['50.000000', '42.000000', '135.000000','129.000000'], #
['54.000000', '42.000000', '129.000000', '115.000000'], #
['45.500000', '42.000000', '115.000000', '105.000000'], #
['49.200000', '42.000000', '91.500000', '79.800000'], #
['42.000000', '30.000000', '79.800000', '73.400000'], #
['45.500000', '42.000000', '105.000000', '91.500000'], #
['30.000000', '21.000000', '105.000000', '97.300000'], #
['42.000000', '30.000000', '97.300000', '79.800000'], #
['21.000000', '3.000000', '129.000000', '105.000000'], # (南海)
] interval = Decimal('3.0001000')#间隔
number = 0
thre_list=[] for itude in itude_list:
start_times=time.time()
number += 1
temp=Thre(itude_list,interval,number,start_times)
thre_list.append(temp) for thre in thre_list:
thre.start() if __name__ == '__main__':
main()
通过百度地图API--获取全国地图的经纬度的更多相关文章
- python实现百度地图API获取某地址的经纬度
申请百度API 1.打开网页 http://lbsyun.baidu.com/index.php?title=首页 选择功能与服务中的地图,点击左边的获取密匙,然后按照要求申请即可,需要手机和百度账号 ...
- 根据百度地图API获取指定地点的经纬度
做项目时,遇到对地点获取地图中对应的经纬度,作一下笔记,以备以后直接使用 package com.hpzx.data; import java.io.BufferedReader; import ja ...
- 记录开发基于百度地图API实现在地图上绘制轨迹并拾取轨迹对应经纬度的工具说明
前言: 最近一直在做数据可视化方面的工作,其中平面可视化没什么难度,毕竟已经有很多成熟的可供使用的框架,比如百度的echart.js,highcharts.js等.还有就是3D可视化了,整体来说难度也 ...
- HTML5调用百度地图API获取当前位置并直接导航目的地的方法
<!DOCTYPE html> <html lang="zh-cmn-Hans"> <meta charset="UTF-8&quo ...
- HTML5页面直接调用百度地图API,获取当前位置,直接导航目的地
<!DOCTYPE html> <html lang="zh-cmn-Hans"> <meta charset="UTF-8"&g ...
- Python 读取照片的信息:拍摄时间、拍摄设备、经纬度等,以及根据经纬度通过百度地图API获取位置
通过第三方库exifread读取照片信息.exifread官网:https://pypi.org/project/ExifRead/ 一.安装exifreadpip install exifread ...
- 百度地图API获取数据
目前,大厂的服务范围越来越广,提供的数据信息也是比较全的,在生活服务,办公领域,人工智能等方面都全面覆盖,相对来说,他们的用户基数大,通过用户获取的信息也是巨大的.除了百度提供api,国内提供免费AP ...
- PhoneGap Geolocation结合百度地图api获取地理位置api
一.使用百度地图API 1.地址:http://developer.baidu.com/map/ 2.在js DEMO中获取反地址解析的DEMO 3.修改这个DEMO的密钥,去创建应用就能创建密钥,然 ...
- 批量调用百度地图API获取地址经纬度坐标
1 申请密匙 注册百度地图API:http://lbsyun.baidu.com/index.php?title=webapi 点击左侧 “获取密匙” ,经过填写个人信息.邮箱注册等,成功之后在开放平 ...
- vue项目使用百度地图API获取经纬度
一.首先在百度api注册获得ak密钥 二.进行引入 (1).第一种方式: 直接在vue中index.html中用script标签引入. //你的ak密钥需要替换真实的你的ak码 <script ...
随机推荐
- Java中构造方法、实例方法、类方法的区别
1. 构造方法 构造方法负责对象的初始化工作,为实例变量赋予合适的初始值.必须满足以下的语法规则: 方法名与类名相同: 不要返回类型(例如return.void等): 不能被static.final. ...
- Linux如何配置想要的JDK
首先我声明下,对于linux系统我到现在学习不到一个星期,所以说很多地方不熟悉,还在学习当中,本文章中有什么技术错误请勿怪哈(PS:我第一次发表博客). 关于linux安装配置jdk,首先我用的是De ...
- FTP解决连接慢问题
今天发现程序报登录FTP超时,于是便手动登录发现真的慢,于是网上搜便获取大招亲测有效,于是怕忘的我马上记录下来,zzzzzzz!! 如下解决 vim /etc/vsftpd/vsftpd.conf 在 ...
- Zara带你快速入门WPF(2)---布局篇
一.章节目标 这几章节我们会创建一个完整的Window程序,包括使用DataGrid空间,数据绑定是把.NET类中的数据提供给用户界面的一个重要概念,还允许修改数据,包括.NET4.5新增的INoti ...
- qt4升级到qt5的一些问题
由于最近项目使用的qt版本从qt4.8升级到qt5.5,虽然从4到5的变化不大,不过还是有许多的问题需要记录一下,希望可以帮助到更多的人 1.由于Qt5将大部分桌面部件移到了Qt Widgets模块 ...
- 传统HTML页面实现模块化加载
对于网站来说很多页面之间都有着大量的共享模块,如页头,页脚和用户栏等.对于具备后端视图引擎的框架来说这些共享都比较容易抽取,如asp.net mvc来说就有统一布局的MasterPage,@Secti ...
- 互联网视频直播技术(广电总局、优酷土豆、XX直播)
互联网直播是目前最火的技术之一,涵盖了很多方面的知识(网络,CDN,GPU,算法,图像处理),以下我介绍互联网直播的大体框架和关键技术点: 一.前端视频流协议 前端流主要包括UDP.RTMP.RTSP ...
- Spring Boot 路由
多路由指向同一个方法 @GetMapping(value = {"/login","/index"}) 访问http://127.0.0.1/index 和 h ...
- ELK-安装logstash
注意:在下载tar包的时候需要注意下安装的es版本号,按照官网的说明版本是对应一致的. $ wget https://artifacts.elastic.co/downloads/logstash/l ...
- 4.计算机启动过程的简单介绍 计算机启动流程 计算机BIOS作用 POST 开机自检 计算机启动顺序 分区表 操作系统启动
计算机的启动