1.计算两个GPS之间的直线距离的基本是
http://api.map.baidu.com/telematics/v3/distance
参数有waypoint,必填项,可传入两个以上GPS值,之间用 ; 来分开,output,输出的数据格式,选填,默认是xml格式,可选json格式,coord_type,GPS坐标类型,默认是gcj02经纬度坐标;
import pandas as pd from urllib.request import urlopen #导入数据,这里计算的直线距离就是坐标1和坐标2之间的 data = pd.read_excel("坐标.xlsx") data
data['距离'] = None #在data中新建一列距离,来保存计算的GPS间的距离 def dist(data): #计算两个坐标之间的距离 startLng = data['坐标1'].apply(lambda x: x.split(',')[1]) #计算坐标1的经度 startLat = data['坐标1'].apply(lambda x: x.split(',')[0]) #计算坐标1的纬度 endLng = data['坐标2'].apply(lambda x: x.split(',')[1]) #计算坐标2的经度 endLat = data['坐标2'].apply(lambda x: x.split(',')[0]) #计算坐标2的纬度 for i in range(0,len(startLng)): url= "http://api.map.baidu.com/telematics/v3/distance?output=json&ak=你的ak&waypoints=" url = url startLng[i] "," startLat[i] ";" endLng[i] "," endLat[i] req = urlopen(url) data['距离'][i] = eval(req.read())['results'][0] return data
最终结果如图:
接下来求一个坐标的全景静态图:
import requests from PIL import Image from io import BytesIO url = 'http://api.map.baidu.com/panorama/v2?ak=你的ak&width=512&height=256&fov=360' url = url "&location=%s,%s" % ('121.533157','31.622408') req = requests.get(url) pic = Image.open(BytesIO(req.content)) pic.show()
结果为
其他的接口调用和这两个类似,配好参数利用requests或者urllib发送请求就可以啦