baidu地图api , 地理位置转 经纬度接口
更多可以查看 http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding
地理编码示例:
以下是关于地理编码参数使用方法的示例。发送请求显示结果的JavaScript代码此处查看。
请求示例:对北京市百度大厦进行地理编码查询;
http://api.map.baidu.com/geocoder/v2/?callback=renderOption&output=json&address=百度大厦&city=北京市&ak=您的ak
地理编码返回结果字段:
| 名称 | 类型 | 说明 | |
|---|---|---|---|
| status | Int | 返回结果状态值, 成功返回0,其他值请查看下方返回码状态表。 | |
| location | object | 经纬度坐标 | |
| lat | float | 纬度值 | |
| lng | float | 经度值 | |
| precise | Int | 位置的附加信息,是否精确查找。1为精确查找,即准确打点;0为不精确,即模糊打点。 | |
| confidence | Int | 可信度,描述打点准确度 | |
| level | string | 地址类型 | |
json格式的返回值:
renderOption&&renderOption({"status":0,"result":{"location":{"lng":116.30775539540982,"lat":40.05685561073758},"precise":1,"confidence":80,"level":"商务大厦"}})

这对一条两条的转可以, 要大批量的呢??? 一堆位置,都还没对应的经纬度,只有一个位置名称....
思路:
1. 在原位置功能上,增加1个设置经纬度的,手工编辑下,录入入库;
2. 把位置这个转成经纬度, 看看有没批量的,批量操作拿到后,先入到库;
后面直接调用接口,数据返回用就行..
怎么用程序通过百度地图API批量获取具体地址的经纬度
搬过来的,没试过,后面试试看
https://zhidao.baidu.com/question/2078225436147396308.html?fr=iks&word=js%B0%D9%B6%C8%B5%D8%CD%BCapi+%CE%BB%D6%C3%C5%FA%C1%BF%D7%AA%CE%AC%B6%C8&ie=gbk
方法一

建议使用xGeocoding工具,可以批量获得Google Earth/Google Map/百度/腾讯/高德等地图的经纬度。工具地址如下:http://www.gpsspg.com/xgeocoding/
方案二
使用Python程序,直接嵌入即可。代码如下:(需要注意的是百度API获取的是墨卡托坐标,而实际使用的是WGS84坐标。代码已添加转换,只要设定语言一致即可实现。)
#!/usr/bin/python
#coding:utf-8 import xlrd
import xlwt
import requests
import urllib
import math
import re pattern_x=re.compile(r'"x":(".+?")')
pattern_y=re.compile(r'"y":(".+?")') def mercator2wgs84(mercator):
#key1=mercator.keys()[0]
#key2=mercator.keys()[1]
point_x=mercator[0]
point_y=mercator[1]
x=point_x/20037508.3427892*180
y=point_y/20037508.3427892*180
y=180/math.pi*(2*math.atan(math.exp(y*math.pi/180))-math.pi/2)
return (x,y) def get_mercator(addr):
quote_addr=urllib.quote(addr.encode('utf8'))
city=urllib.quote(u'<a href="https://www.baidu.com/s?wd=%E9%BD%90%E9%BD%90%E5%93%88%E5%B0%94%E5%B8%82&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YznHndPHNBrjfYryR1mH9B0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnW0LrjczPHf1PWDYP1n4PWnsr0" target="_blank" class="baidu-highlight">齐齐哈尔市</a>龙'.encode('utf8'))
province=urllib.quote(u'<a href="https://www.baidu.com/s?wd=%E9%BB%91%E9%BE%99%E6%B1%9F%E7%9C%81&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YznHndPHNBrjfYryR1mH9B0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnW0LrjczPHf1PWDYP1n4PWnsr0" target="_blank" class="baidu-highlight">黑龙江省</a>'.encode('utf8'))
if quote_addr.startswith(city) or quote_addr.startswith(province):
pass
else:
quote_addr=city+quote_addr
s=urllib.quote(u'北京市'.encode('utf8'))
api_addr="http://api.map.baidu.com/?qt=gc&wd=%s&cn=%s&ie=utf-8&oue=1&fromproduct=jsapi&res=api&callback=BMap._rd._cbk62300"%(quote_addr
,s)
req=requests.get(api_addr)
content=req.content
x=re.findall(pattern_x,content)
y=re.findall(pattern_y,content)
if x:
x=x[0]
y=y[0]
x=x[1:-1]
y=y[1:-1]
x=float(x)
y=float(y)
location=(x,y)
else:
location=()
return location def run():
data=xlrd.open_workbook('Book2.xls')
rtable=data.sheets()[0]
nrows=rtable.nrows
values=rtable.col_values(0) workbook=xlwt.Workbook()
wtable=workbook.add_sheet('data',cell_overwrite_ok=True)
row=0
for value in values:
mercator=get_mercator(value)
if mercator:
wgs=mercator2wgs84(mercator)
else:
wgs=('NotFound','NotFound')
print "%s,%s,%s"%(value,wgs[0],wgs[1])
wtable.write(row,0,value)
wtable.write(row,1,wgs[0])
wtable.write(row,2,wgs[1])
row=row+1 workbook.save('data.xls') if __name__=='__main__':
run()
baidu地图api , 地理位置转 经纬度接口的更多相关文章
- ***微信LBS地理位置开发+百度地图API(地理位置和坐标转换)
微信公众平台开发 - 获取用户地理位置 本文介绍在微信公众平台上如何使用高级接口开发获取用户地理位置的功能. 一.获取用户地理位置接口 开通了上报地理位置接口的公众号,用户在关注后进入公众号会话时,会 ...
- Python调用百度地图API实现批量经纬度转换为实际省市地点(api调用,json解析,excel读取与写入)
1.获取秘钥 调用百度地图API实现得申请百度账号或者登陆百度账号,然后申请自己的ak秘钥.链接如下:http://lbsyun.baidu.com/apiconsole/key?applicatio ...
- 利用百度地图API,获取经纬度坐标
利用百度地图API,获取经纬度坐标 代码很简单,但在网上没找到现成的获取地图经纬度的页面. 就是想,给当前页面传递一个经纬度,自动定位到此经纬度.然后可以重新选择,选择完返回经纬度. 效果如下: 源代 ...
- 批量调用百度地图API获取地址经纬度坐标
1 申请密匙 注册百度地图API:http://lbsyun.baidu.com/index.php?title=webapi 点击左侧 “获取密匙” ,经过填写个人信息.邮箱注册等,成功之后在开放平 ...
- 百度地图API,根据经纬度实现车辆移动轨迹绘制
百度地图,实现车辆轨迹绘制 实现思路: 1.根据经纬度实现车辆轨迹绘制 2.使用百度地图API的两个覆盖物实现,Polyline(折线)绘制轨迹,Marker(图标)绘制小车图标 3.将每两个坐标间连 ...
- 百度地图API地理位置和坐标转换
1.由地名(省份.城市.街道等)得到其对应的百度地图坐标: http://api.map.baidu.com/geocoder/v2/?output=json&ak=你从百度申请到的Key&a ...
- JAVA地址通过百度地图API转化为经纬度
public static Map getLngAndLat(String address) { Map map = new HashMap(); String url = "http:// ...
- Python3爬虫 利用百度地图api得到城市经纬度
有2种方式,第一种是利用urllib , 方法1:利用urllib , 先把url 转成urlcode,然后读取网页,读到网页再用json读取内容,比较麻烦. 可以在浏览器输入,看一下格式. http ...
- 记录开发基于百度地图API实现在地图上绘制轨迹并拾取轨迹对应经纬度的工具说明
前言: 最近一直在做数据可视化方面的工作,其中平面可视化没什么难度,毕竟已经有很多成熟的可供使用的框架,比如百度的echart.js,highcharts.js等.还有就是3D可视化了,整体来说难度也 ...
随机推荐
- JavaScript DOM编程艺术 笔记(三)函数
函数function 是在你的代码里随时调用的语句 每个函数是个短小的脚本,arguments,传递的参数 function name(arguments){ statements; } functi ...
- js 的概念和声明-js 的变量-js 的运算符和逻辑结构-js 的数组
js 的概念和声明Js的概念和声明:问题:在网页的发展历程中,发现网页不能对用户的数据进行自动校验,和提供一些特效造成用户体验极差解决:使用JavaScript作用:可以让网页和用户之间进行直接简单的 ...
- 毫秒查询9位数qq号码是否存在-BitMap算法应用
实现详情请查看博客园 https://www.cnblogs.com/caoke/p/10793885.html 随机注册10万个放入BitMap,然后查询qq号码是否已存在,算法复杂度O(1). / ...
- 牛客OI周赛8-提高组A-用水填坑
牛客OI周赛8-提高组A-用水填坑 题目 链接: https://ac.nowcoder.com/acm/contest/403/A 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制: ...
- 解决FTPClient linux环境下FTPClient调用retrieveFileStream导致线程挂起(防火墙问题);下载文件小于实际文件问题
FTPClient调用retrieveFileStream导致线程挂起(防火墙问题):下载文件小于实际文件问题解决 实际是因为FTP的两种传输模式:主动模式和被动模式的不同而导致的 FTPClient ...
- C# 文件读写系列三
1.读写文本文件 在C# 文件读写系列二中列举了相当多的读写文本文件的方法,大致有以下几种: (1).通过静态类File的静态方法来进行文本文件的读写,主要有ReadAllBytes().ReadAl ...
- svn 被锁,清理恢复过程
svn 被锁,清理恢复过程 http://stackoverflow.com/questions/18000363/tortoisesvn-wont-allow-me-to-add-any-files ...
- class对象存储
当加载一个类完成后,会在内存中实例化一个java.lang.Class类的对象,也就是该类的类对象.但是并没有明确规定必须在java堆中存放该类对象,对于HotSpot虚拟机而言,类对象存放在方法区里 ...
- *2.3.3-加入monitor
验证平台必须监测DUT的行为,只有知道DUT的输入输出信号变化之后,才能根据这些信号变化来判定DUT的行为是否正确. 验证平台中实现监测DUT行为的组件是monitor.driver负责把transa ...
- EF那点事
EntityFramework 1-->什么是EnitityFramework 1.1--> ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出 ...