今天有个需求,要根据地名获取经纬度坐标值。

于是我第一想法:打开百度地图,手动输入地名,获取。显然当地名较少时,可实施。然而,当地名较多时,此方法显然工作量很大。

于是,第二想法:代码获取,请求百度地图api接口。

然后去这里申请了一个AK,登录自己的百度账号去申请即可。(下文代码中会用到,到时替换成自己申请的AK即可)

上代码:

import requests

def geocodeB(address):
"""
@ address: 名称字符串
@ 返回值:经度,纬度
"""
base_url = "http://api.map.baidu.com/geocoder?address={address}&output=json&key=AK直接粘贴在这里".format(address=address) response = requests.get(base_url)
answer = response.json()
latitude = answer['result']['location']['lng']
longitude = answer['result']['location']['lat'] return latitude, longitude print(geocodeB('泰安市')) # (117.094495, 36.205858)

现在有多个地名,我不可能每次去百度地图手动输入地名,再获取经纬度坐标值。于是,现在用上面的function:geocodeB,这个问题就解决了:

geolist = ['泰安市肥城市', '泰安市肥城市新城街道', '泰安市肥城市老城街道办事处', '泰安市肥城市王瓜店街道办事处', '泰安市肥城市仪阳街道', '泰安市肥城市潮泉镇', '泰安市肥城市桃园镇',
'泰安市肥城市王庄镇', '泰安市肥城市湖屯镇', '泰安市肥城市石横镇', '泰安市肥城市安临站镇', '泰安市肥城市孙伯镇', '泰安市肥城市安驾庄镇', '泰安市肥城市汶阳镇', '泰安市肥城市边院镇',
'泰安市新泰市', '泰安市新泰市青云街道', '泰安市新泰市新汶街道', '泰安市新泰市新甫街道', '泰安市新泰市东都镇', '泰安市新泰市小协镇', '泰安市新泰市翟镇', '泰安市新泰市泉沟镇',
'泰安市新泰市羊流镇', '泰安市新泰市果都镇', '泰安市新泰市西张庄镇', '泰安市新泰市天宝镇', '泰安市新泰市楼德镇', '泰安市新泰市禹村镇', '泰安市新泰市宫里镇', '泰安市新泰市谷里镇',
'泰安市新泰市石莱镇', '泰安市新泰市放城镇', '泰安市新泰市刘杜镇', '泰安市新泰市汶南镇', '泰安市新泰市龙廷镇', '泰安市新泰市岳家庄乡', '泰安市东平县', '泰安市东平县东平街道办事处',
'泰安市东平县州城街道办事处', '泰安市东平县彭集街道办事处', '泰安市东平县沙河站镇', '泰安市东平县老湖镇', '泰安市东平县银山镇', '泰安市东平县斑鸠店镇', '泰安市东平县接山镇',
'泰安市东平县大羊镇', '泰安市东平县梯门镇', '泰安市东平县新湖镇', '泰安市东平县戴庙镇', '泰安市东平县商老庄乡', '泰安市东平县旧县乡']
store_geo_list = []
dictvar = dict() for geo in geolist:
store_geo__dict = {}
listvar = list(geocodeB(geo))
store_geo__dict['经度'] = listvar[0]
store_geo__dict['纬度'] = listvar[1]
dictvar[geo] = store_geo__dict
print(dictvar)

输出结果:

{'泰安市肥城市': {'经度': 116.775401, '纬度': 36.188811}, '泰安市肥城市新城街道': {'经度': 116.773336, '纬度': 36.187907}, '泰安市肥城市老城街道办事处': {'经度': 116.790305, '纬度': 36.271545}, '泰安市肥城市王瓜店街道办事处': {'经度': 116.704445, '纬度': 36.228107}, '泰安市肥城市仪阳街道': {'经度': 116.830175, '纬度': 36.136343}, '泰安市肥城市潮泉镇': {'经度': 116.854098, '纬度': 36.242722}, '泰安市肥城市桃园镇': {'经度': 116.662438, '纬度': 36.137704}, '泰安市肥城市王庄镇': {'经度': 116.659128, '纬度': 36.067372}, '泰安市肥城市湖屯镇': {'经度': 116.629137, '纬度': 36.240288}, '泰安市肥城市石横镇': {'经度': 116.551839, '纬度': 36.206397}, '泰安市肥城市安临站镇': {'经度': 116.787931, '纬度': 36.076069}, '泰安市肥城市孙伯镇': {'经度': 116.690317, '纬度': 35.979649}, '泰安市肥城市安驾庄镇': {'经度': 116.789871, '纬度': 35.968685}, '泰安市肥城市汶阳镇': {'经度': 116.881022, '纬度': 35.948757}, '泰安市肥城市边院镇': {'经度': 116.906703, '纬度': 36.032744}, '泰安市新泰市': {'经度': 117.774606, '纬度': 35.91462}, '泰安市新泰市青云街道': {'经度': 116.278631, '纬度': 39.89268}, '泰安市新泰市新汶街道': {'经度': 117.681529, '纬度': 35.871952}, '泰安市新泰市新甫街道': {'经度': 117.747731, '纬度': 35.92406}, '泰安市新泰市东都镇': {'经度': 117.726484, '纬度': 35.830074}, '泰安市新泰市小协镇': {'经度': 117.610549, '纬度': 35.890562}, '泰安市新泰市翟镇': {'经度': 117.676167, '纬度': 35.940606}, '泰安市新泰市泉沟镇': {'经度': 117.683926, '纬度': 36.014032}, '泰安市新泰市羊流镇': {'经度': 117.547991, '纬度': 36.043853}, '泰安市新泰市果都镇': {'经度': 117.511693, '纬度': 35.966414}, '泰安市新泰市西张庄镇': {'经度': 117.599502, '纬度': 35.952972}, '泰安市新泰市天宝镇': {'经度': 117.396589, '纬度': 35.986555}, '泰安市新泰市楼德镇': {'经度': 117.325214, '纬度': 35.865823}, '泰安市新泰市禹村镇': {'经度': 117.400749, '纬度': 35.822107}, '泰安市新泰市宫里镇': {'经度': 117.439883, '纬度': 35.894781}, '泰安市新泰市谷里镇': {'经度': 117.515076, '纬度': 35.88934}, '泰安市新泰市石莱镇': {'经度': 117.532033, '纬度': 35.763376}, '泰安市新泰市放城镇': {'经度': 117.622121, '纬度': 35.710035}, '泰安市新泰市刘杜镇': {'经度': 117.598688, '纬度': 35.844846}, '泰安市新泰市汶南镇': {'经度': 117.786287, '纬度': 35.803161}, '泰安市新泰市龙廷镇': {'经度': 117.909856, '纬度': 35.932958}, '泰安市新泰市岳家庄乡': {'经度': 117.639826, '纬度': 35.79633}, '泰安市东平县': {'经度': 116.477594, '纬度': 35.941908}, '泰安市东平县东平街道办事处': {'经度': 116.444308, '纬度': 35.928458}, '泰安市东平县州城街道办事处': {'经度': 116.355454, '纬度': 35.900379}, '泰安市东平县彭集街道办事处': {'经度': 116.471835, '纬度': 35.87373}, '泰安市东平县沙河站镇': {'经度': 116.397424, '纬度': 35.835713}, '泰安市东平县老湖镇': {'经度': 116.288643, '纬度': 35.993555}, '泰安市东平县银山镇': {'经度': 116.155112, '纬度': 36.044391}, '泰安市东平县斑鸠店镇': {'经度': 116.178642, '纬度': 36.120069}, '泰安市东平县接山镇': {'经度': 116.58444, '纬度': 35.982179}, '泰安市东平县大羊镇': {'经度': 116.493654, '纬度': 36.033011}, '泰安市东平县梯门镇': {'经度': 116.383739, '纬度': 36.038138}, '泰安市东平县新湖镇': {'经度': 116.290665, '纬度': 35.861429}, '泰安市东平县戴庙镇': {'经度': 116.120482, '纬度': 35.982607}, '泰安市东平县商老庄乡': {'经度': 116.178614, '纬度': 35.930352}, '泰安市东平县旧县乡': {'经度': 116.241722, '纬度': 36.100532}}

参考大佬

Python使用百度地图API根据地名获取相应经纬度的更多相关文章

  1. 【百度地图API】自行获取区域经纬度的工具

    原文:[百度地图API]自行获取区域经纬度的工具 摘要:上一章教大家如何建立自己的行政区域地图.这次为大家提供一个,可视化选择区域,并且能自动生成经纬度代码的工具.工具的源代码完全公开,并且做了详尽的 ...

  2. 百度地图API根据地名获取经纬度

    运用了Geocoding API,它包括地址解析和逆地址解析功能. 地址解析是指,由详细到街道的结构化地址得到百度经纬度信息,且支持名胜古迹.标志性建筑名称直接解析返回百度经纬度.例如:“北京市海淀区 ...

  3. 【百度地图API】如何获取行政区域的边界?

    原文:[百度地图API]如何获取行政区域的边界? 摘要:以前教过大家如何自行获取行政区域,或者自定义获取一个区域的边界值.今天来教大家直接调用百度地图API1.3(目前最新版本)来获取行政区域的边界值 ...

  4. 百度地图API地点搜索-获取经纬度

    分享一下地图上的地点搜索和鼠标点击获取地点经纬度,这些都是地图比较基本和实用的代码,其中还包括了根据用户IP进行地图的显示.改变地图上的鼠标样式.启用滚轮缩放等,算是半入门吧,其他的一些可以自己参考百 ...

  5. 简单几行代码使用百度地图API接口分页获取信息

    首发于: 万能助手扩展开发:使用百度地图API接口分页获取信息_电脑计算机编程入门教程自学 http://jianma123.com/viewthread.aardio?threadid=426 使用 ...

  6. 百度地图api根据定位获取附近商家(只获取屏幕内)

    根据中心点坐标计算出屏幕2个点(一个最低经纬度,一个最高经纬度),判断这两个点中间的所有坐标的商家..考虑屏幕分辨率之类 移动地图中心点变动,如何异步刷新,判断商家是否已经存在..等... 百度地图a ...

  7. 百度地图API应用之获取用户的具体位置

    功能的大概:用户通过点击地图上面的位置,在地图上面进行描点,然后再把获取的到的地理位置保存到地图上面的地址栏目中. 主要是百度地图API的使用 .代码如下: var map = new BMap.Ma ...

  8. Python调用百度地图API实现批量经纬度转换为实际省市地点(api调用,json解析,excel读取与写入)

    1.获取秘钥 调用百度地图API实现得申请百度账号或者登陆百度账号,然后申请自己的ak秘钥.链接如下:http://lbsyun.baidu.com/apiconsole/key?applicatio ...

  9. 百度地图api使用,简单搜索+经纬度定位+自定义消息窗口

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

随机推荐

  1. 简要概括java技术体系

    以前一直在学java程序设计语言,学完了就以为自己已经把java学得差不多了,直到最近在看一本书<深入理解java虚拟机>,才发现自己以前学的只不过是冰山一角.相信很多小伙伴跟我一样,在没 ...

  2. 一文让你彻底了解大数据实时计算引擎 Flink

    前言 在上一篇文章 你公司到底需不需要引入实时计算引擎? 中我讲解了日常中常见的实时需求,然后分析了这些需求的实现方式,接着对比了实时计算和离线计算.随着这些年大数据的飞速发展,也出现了不少计算的框架 ...

  3. VMware问题--无法获得 VMCI 驱动程序的版本: 句柄无效

    关于VMware问题:无法获得 VMCI 驱动程序的版本: 句柄无效.驱动程序“vmci.sys”的版本不正确 问题截图: 解决 1.根据配置文件路径找到对应的.vmx文件: 2.用编辑器打开,找到v ...

  4. git 命令归纳版

    1.克隆: 单纯的克隆名字: git clone [url] 自定义新建项目名称: git clone [url] [项目名字]   2.跟踪文件: git add [文件名]   3.添加忽略文件 ...

  5. [2018-06-28] 创建第一个django项目

    1.创建一个名称为tmpl的项目 django-admin.py startproject tmpl 2.进入刚刚创建的tmpl目录 cd tmpl 3.创建一个名称为learn的应用 python ...

  6. 深度学习tensorflow实战笔记(2)图像转换成tfrecords和读取

    1.准备数据 首选将自己的图像数据分类分别放在不同的文件夹下,比如新建data文件夹,data文件夹下分别存放up和low文件夹,up和low文件夹下存放对应的图像数据.也可以把up和low文件夹换成 ...

  7. permu 莫队 总结

    由于每次询问静态区间里完整值域段的最大大小 貌似很好用莫队转移,所以考虑怎么转移 当给它扩展一个数时,就是给值域添加了一个值 这个值可能已经存在,也可能是新的 有的神仙做法是维护了一个并查集,然而我这 ...

  8. 超出隐藏兼容H5

    常用的字体超出隐藏不能兼容H5和ios 所以整理了两种用jquery来实现的方法,然后弊端是只能隐藏指定字数不能段落隐藏 方法一. //超出隐藏兼容iosfunction hide(text,nube ...

  9. 通俗地说逻辑回归【Logistic regression】算法(二)sklearn逻辑回归实战

    前情提要: 通俗地说逻辑回归[Logistic regression]算法(一) 逻辑回归模型原理介绍 上一篇主要介绍了逻辑回归中,相对理论化的知识,这次主要是对上篇做一点点补充,以及介绍sklear ...

  10. 深入理解@LoadBalanced注解的实现原理与客户端负载均衡

    前提 在阅读这篇博客之前,希望你对SpringCloud套件熟悉和理解,更希望关注下微服务开发平台 概述 在使用springcloud ribbon客户端负载均衡的时候,可以给RestTemplate ...