调用百度API将地名转为经纬度
最近做一道数据科学竞赛题,特征中有城市名和地名,需要转为经纬度来使用
故用python写了一个地名转经纬度的脚本,调用了百度地图的API,key在百度地图开放平台上申请
申请key的地方:http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding
import json
# import urllib#这么用会有问题
from urllib.request import urlopen,quote def p2l(name):
# 1、设置url和3个参数(输出格式,key,要翻译的地址)
url = 'http://api.map.baidu.com/geocoder/v2/'
output = 'json'
ak = 'sXZHPZahdMeK3Gy3uC7ZeRQrVbZDnP1G'
address = quote(name) # 2、拼接get请求(url?参数1=值1&参数2=值2&参数3=值3)
request = url + '?' + 'address=' + address + '&output=' + output + '&ak=' + ak # 3、urlopen发送请求,获得response
response_file = urlopen(request) # 4、读取response字符串
response_str = response_file.read().decode() # 5、str转json
response_json = json.loads(response_str)
print(response_json) # 6、读json,
lat=response_json['result']['location']['lat']
lng=response_json['result']['location']['lng'] return [lat,lng] name = input()
p2l(name)
测试一下:


免费的,定位精度还是挺高的,给百度点个赞
然后调用写好的函数将特征中的地名转为经纬度
list_place=list(set(dataframe2.iloc[:,1]))#注意要去重
list_loc=[]
for elem in list_place:
name='优衣库'+elem
print(name)
list_loc.append(p2l(name))#执行过程中有的地名可能还查不到,会报错,此时需要手动优化一下用来查询的字符串
print(list_loc)
调用百度API将地名转为经纬度的更多相关文章
- 调用百度API返回经纬度
后台调用百度API接口生成: import java.io.BufferedReader; import java.io.IOException;import java.io.InputStreamR ...
- 调用百度API进行文本纠错
毕设做的是文本纠错方面,然后今天进组见研究生导师 .老师对我做的东西蛮感兴趣.然后介绍自己现在做的一些项目,其中有个模块需要有用到文本纠错功能. 要求1:有多人同时在线编辑文档,然后文档功能有类似Wo ...
- 百度地图API根据地名获取经纬度
运用了Geocoding API,它包括地址解析和逆地址解析功能. 地址解析是指,由详细到街道的结构化地址得到百度经纬度信息,且支持名胜古迹.标志性建筑名称直接解析返回百度经纬度.例如:“北京市海淀区 ...
- Vue 通过调用百度API获取地理位置-经度纬度省份城市
一.首先在百度api注册获得ak密钥 二.新建js文件,我命名为loadBMap.js,里面创建script,代码如下: /** * 加载地图 * @param {Function} callback ...
- 前端调用百度API
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- 爬虫——python——百度地图经纬度查询——经纬度查看地点地名——利用百度API获取地名经纬度——爬取所有的中国地址
import requests address = '40.8587960,86.866991' url = 'http://api.map.baidu.com/geocoder?output=jso ...
- 调用百度API接口 正解析地址和逆解析
地址解析(结构化地址 解析得到 经纬度): public void SaveLocation(DataRequest<Location> request, DataResponse< ...
- PHP调用百度api生成短网址&根据短网址恢复长网址
接口api文档地址:http://dwz.cn/#/apidoc?_k=i9ev5p 代码demo header("Content-type: text/html; charset=utf- ...
- 怎样在自己的网页中调用百度API
https://blog.csdn.net/u010251278/article/details/52877370 以下内容转自上述网站,为了以后的学习方便,为此才特地将该网站内容转到自己的博客,多谢 ...
随机推荐
- 关于scut PersonalCacheStruct<>.foreach
经过测试PersonalCacheStruct<>.foreach并不会遍历所有数据,只会遍历有session的数据.又或者是缓存还没销毁的数据. 但ShareCacheStruct< ...
- Effective Java-第4章
第4章 类和接口 类和接口是Java程序设计语言的核心,它们也是Java语言的基本抽象单元.Java语言提供了许多强大的基本元素,供程序员用来设计类和接口. 13. 使类和成员的可访问性最小化 要区别 ...
- druid问题记录
1 {"error":"Instantiation of [simple type, class io.druid.indexing.kafka.supervisor.K ...
- php socket 模型及效率问题
// 创建套接字 socket_create(); // 绑定 socket_bind(); // 监听 socket_listen(); // 主体, 死循环 while(true){ // sel ...
- Django-model进阶(中介模型,查询优化,extra,整体插入)
QuerySet 可切片 使用Python 的切片语法来限制查询集记录的数目 .它等同于SQL 的LIMIT 和OFFSET 子句. ? 1 >>> Entry.objects.al ...
- Linux之手动设置IP地址
一.引言 有时候我们装好了机器却发现网络没有设置,而服务器的机器一般都是没有界面的,那么该如何设置IP呢? 二.步骤 root用户,#vi /etc/sysconfig/network-scripts ...
- 自己动手搞定支付宝手机Wap网站支付接口 FOR ECShop
支付宝WAP网站版本的支付接口网上整合的比较少,看到很多网站在卖,顿觉无语. 主要是得自己查看支付宝官方提供的SDK中的开发文档. 支付宝sdk下载地址:https://doc.open.alipay ...
- 进程间通信之WM_COPYDATA方式反思,回顾和总结
许多Windows程序开发者喜欢使用WM_COPYDATA来实现一些进程间的简单通信(笔者也正在学习共享内存的一些知识来实现一些更高级的通信),这篇文章描述了笔者在使用这项技术时候的一些总结以及所遇到 ...
- scheme 中的宏使用
#lang scheme ( define-syntax my-when ( syntax-rules () [ ( _ pred body ... ) ( if ...
- jquery js 动态加载 js文件
jquery方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...