【案例】Python调用高德API查询经纬度
import requests
import json
import re
import pandas as pd
def get_cor(address):
# 获取单个地址坐标信息
ret = requests.get(
url='https://restapi.amap.com/v3/geocode/geo?parameters',
params={
# 'region':'安阳市',
'address':address,
'key':'6421081fec31ba6a1f9d7e2ecd64176c'
}
).json()
return ret['geocodes'][0]['location']
# 导入数据
df = pd.DataFrame({
'位置':['北京大学','清华大学'],
'经度':['',''],
'纬度':['','']})
# 查询经纬度
df['经纬度'] = df['位置'].map(get_cor)
df['经度'] = df['经纬度'].map(lambda x:x.split(',')[0])
df['纬度'] = df['经纬度'].map(lambda x:x.split(',')[1])
# 导出数据
df.to_excel("xxxx.xlsx",index = 0)
补充:根据经纬度计算两地距离
from math import radians, cos, sin, asin, sqrt
#公式计算两点间距离(m)
def geodistance(lng1,lat1,lng2,lat2):
#lng1,lat1,lng2,lat2 = (120.12802999999997,30.28708,115.86572000000001,28.7427)
lng1, lat1, lng2, lat2 = map(radians, [float(lng1), float(lat1), float(lng2), float(lat2)]) # 经纬度转换成弧度
dlon=lng2-lng1
dlat=lat2-lat1
a=sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
distance=2*asin(sqrt(a))*6371*1000 # 地球平均半径,6371km
distance=round(distance/1000,3)
return distance
地振高冈,一派溪山千古秀;门朝大海,三合河水万年流。

浙公网安备 33010602011771号