python根据地名获取经纬度(附两地距离计算代码)
本文是通过调用百度开放平台的API实现的经纬度查询。因此在使用前需要你去注册一个应用。
相关步骤
-
打开链接
-
创建应用
-
获取AK
-
替换程序中的AK,运行就能得到返回的JSON字符串
源码
# 导入相关的包
import requests #HTTP请求
import time
import re
import json # 用于解析Json
import pandas as pd # 用于处理数据(数据分析相关的同学必须会的包)
- 数据准备
CSV文件中有一列是city
,使用pandas直接读取即可:
df = pd.DataFrame()
df = pd.read_csv(r'./city.csv',encoding="gbk")
df['city']
得到的数据如下所示,总共有一百条,是我国2020年百强县的名单:
0 昆山市
1 江阴市
2 张家港市
3 晋江市
4 常熟市
...
95 福安市
96 射阳县
97 邹平县
98 海城市
99 青州市
Name: city, Length: 100, dtype: object
user_geohash | num | city | |
---|---|---|---|
0 | 94ek6ke | 1028 | 昆山市 |
1 | 94ek6lj | 980 | 江阴市 |
2 | 94ek6lw | 919 | 张家港市 |
3 | 94ek6kn | 908 | 晋江市 |
4 | 94ek6l5 | 517 | 常熟市 |
... | ... | ... | ... |
95 | 9q0ltaw | 243 | 福安市 |
96 | 99s4avh | 242 | 射阳县 |
97 | 9519pwt | 240 | 邹平县 |
98 | 94jrlp3 | 240 | 海城市 |
99 | 946hodd | 240 | 青州市 |
100 rows × 3 columns
执行calc_ll
后返回的值如下所示:
showLocation&&showLocation({"status":0,"result":{"location":{"lng":120.98745249794995,"lat":31.390863425081866},"precise":0,"confidence":20,"comprehension":100,"level":"区县"}})
因为使用的是API,因此得到是上述的Json字符串。
根据地名计算经纬度的代码:
def calc_ll(x):
Post_url = "http://api.map.baidu.com/geocoding/v3/?address=" + x + "&output=json&ak=(百度API开放平台获取的AK)&callback=showLocation" #自己想办法弄到key
Post_data = {
'address': x
}
Text = se.post(Post_url, data=Post_data).text.replace("'", '"').replace('/ ', '/')[27:-1] # 提取为Json格式,去掉‘showLocation&&showLocation()’这些额外的字符
jsonValue = json.loads(Text) # 转化为Json对象
# print(jsonValue) # 打印Json值
if('result' in jsonValue):
print(jsonValue['result']['location']['lng'])
return [jsonValue['result']['location']['lng'],jsonValue['result']['location']['lat']]
else:
return ' '
address = df['city'].apply(calc_ll)
se = requests.session()
上述百强县执行代码后的结果:
{'status': 0, 'result': {'location': {'lng': 120.98745249794995, 'lat': 31.390863425081864}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.98745249794995
{'status': 0, 'result': {'location': {'lng': 120.29156800752115, 'lat': 31.926044909769043}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.29156800752115
{'status': 0, 'result': {'location': {'lng': 120.56155363871446, 'lat': 31.88114053634028}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.56155363871446
{'status': 0, 'result': {'location': {'lng': 118.55843052000408, 'lat': 24.787824575144548}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
118.55843052000408
{'status': 0, 'result': {'location': {'lng': 120.75949588665195, 'lat': 31.65953827674108}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.75949588665195
{'status': 0, 'result': {'location': {'lng': 121.27259613631863, 'lat': 30.175256610720446}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
121.27259613631863
{'status': 0, 'result': {'location': {'lng': 119.83160603216115, 'lat': 31.342956624267874}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
119.83160603216115
{'status': 0, 'result': {'location': {'lng': 113.08755916595523, 'lat': 28.251818487944462}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
113.08755916595523
{'status': 0, 'result': {'location': {'lng': 120.08158099305928, 'lat': 29.31114987541007}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.08158099305928
{'status': 0, 'result': {'location': {'lng': 121.13559529350024, 'lat': 31.464599352977785}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
121.13559529350024
{'status': 0, 'result': {'location': {'lng': 113.64939823850789, 'lat': 28.169832216070507}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
113.64939823850789
{'status': 0, 'result': {'location': {'lng': 110.50542966826288, 'lat': 38.848544495220935}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
110.50542966826288
{'status': 0, 'result': {'location': {'lng': 121.18843649817478, 'lat': 31.87361172603022}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
121.18843649817478
{'status': 0, 'result': {'location': {'lng': 118.80341550029883, 'lat': 25.03694981503913}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
118.80341550029883
{'status': 0, 'result': {'location': {'lng': 120.25340833196779, 'lat': 29.714934649194955}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.25340833196779
{'status': 0, 'result': {'location': {'lng': 106.4075265551776, 'lat': 27.797752158542853}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
106.4075265551776
{'status': 0, 'result': {'location': {'lng': 118.39257197205464, 'lat': 24.966362350467605}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
118.39257197205464
{'status': 0, 'result': {'location': {'lng': 112.55840691564445, 'lat': 28.284104536209348}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
112.55840691564445
{'status': 0, 'result': {'location': {'lng': 120.57946558109177, 'lat': 32.37785148610902}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.57946558109177
{'status': 0, 'result': {'location': {'lng': 120.9925018561657, 'lat': 28.118179995228274}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.9925018561657
{'status': 0, 'result': {'location': {'lng': 119.39046524748903, 'lat': 25.72634329903456}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
119.39046524748903
{'status': 0, 'result': {'location': {'lng': 121.16058507482123, 'lat': 30.042734639570824}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
121.16058507482123
{'status': 0, 'result': {'location': {'lng': 121.66347374677267, 'lat': 31.81423284964318}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
121.66347374677267
{'status': 0, 'result': {'location': {'lng': 120.03953537126692, 'lat': 36.27034908804922}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.03953537126692
{'status': 0, 'result': {'location': {'lng': 120.47443309577918, 'lat': 32.53919574424043}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.47443309577918
{'status': 0, 'result': {'location': {'lng': 119.61250060471407, 'lat': 32.01592027416992}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
119.61250060471407
{'status': 0, 'result': {'location': {'lng': 121.39258889457587, 'lat': 28.377655489850408}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
121.39258889457587
{'status': 0, 'result': {'location': {'lng': 120.05859939046078, 'lat': 32.17747402371212}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.05859939046078
{'status': 0, 'result': {'location': {'lng': 120.48536852807433, 'lat': 37.65255512549617}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.48536852807433
{'status': 0, 'result': {'location': {'lng': 121.19243791023843, 'lat': 32.33587288615511}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
121.19243791023843
{'status': 0, 'result': {'location': {'lng': 115.95046017276752, 'lat': 28.551604186108275}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
115.95046017276752
{'status': 0, 'result': {'location': {'lng': 120.68656506738283, 'lat': 30.51792376977565}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.68656506738283
{'status': 1, 'msg': 'Internal Service Error:无相关结果', 'results': []}
{'status': 0, 'result': {'location': {'lng': 120.66158218606775, 'lat': 27.783950736231652}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.66158218606775
{'status': 0, 'result': {'location': {'lng': 120.28353203592053, 'lat': 31.988170075210594}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.28353203592053
{'status': 0, 'result': {'location': {'lng': 120.57154315530762, 'lat': 30.63631118771037}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.57154315530762
{'status': 0, 'result': {'location': {'lng': 118.0191233013022, 'lat': 34.34464551932591}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
118.0191233013022
{'status': 0, 'result': {'location': {'lng': 118.70645736056483, 'lat': 40.00418392493125}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
118.70645736056483
{'status': 0, 'result': {'location': {'lng': 104.03757322351338, 'lat': 30.648477494759213}, 'precise': 0, 'confidence': 75, 'comprehension': 0, 'level': '购物'}}
104.03757322351338
{'status': 0, 'result': {'location': {'lng': 120.32653706475246, 'lat': 32.872716312488244}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.32653706475246
{'status': 0, 'result': {'location': {'lng': 122.49250463073764, 'lat': 37.171317939253235}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
122.49250463073764
{'status': 0, 'result': {'location': {'lng': 118.65451902647484, 'lat': 24.737665160882703}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
118.65451902647484
{'status': 0, 'result': {'location': {'lng': 121.98563754334361, 'lat': 39.63274074738802}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
121.98563754334361
{'status': 0, 'result': {'location': {'lng': 119.85751406137442, 'lat': 32.917824213889254}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
119.85751406137442
{'status': 0, 'result': {'location': {'lng': 113.44960935856369, 'lat': 30.33358775114635}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '城市'}}
113.44960935856369
{'status': 0, 'result': {'location': {'lng': 111.24639840545701, 'lat': 39.87054026503683}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
111.24639840545701
{'status': 0, 'result': {'location': {'lng': 119.46561561653884, 'lat': 32.787147020528316}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
119.46561561653884
{'status': 0, 'result': {'location': {'lng': 112.9054740908161, 'lat': 30.40835793241892}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '城市'}}
112.9054740908161
{'status': 0, 'result': {'location': {'lng': 117.01440416129005, 'lat': 35.40752093244999}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
117.01440416129005
{'status': 0, 'result': {'location': {'lng': 117.16455781372443, 'lat': 31.712962132716886}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
117.16455781372443
{'status': 0, 'result': {'location': {'lng': 113.02843100495258, 'lat': 34.754096888696935}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
113.02843100495258
{'status': 0, 'result': {'location': {'lng': 116.94258562390337, 'lat': 34.76515195541547}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
116.94258562390337
{'status': 0, 'result': {'location': {'lng': 119.19146705795117, 'lat': 32.27809048316069}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
119.19146705795117
{'status': 0, 'result': {'location': {'lng': 118.7974153748082, 'lat': 36.86192174647094}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
118.7974153748082
{'status': 0, 'result': {'location': {'lng': 113.49522360557991, 'lat': 34.14826652246125}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
113.49522360557991
{'status': 0, 'result': {'location': {'lng': 117.17256521920983, 'lat': 35.120034809573916}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
117.17256521920983
{'status': 0, 'result': {'location': {'lng': 119.13848201812112, 'lat': 26.156035214577336}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
119.13848201812112
{'status': 0, 'result': {'location': {'lng': 109.75459043995566, 'lat': 39.570092815192666}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
109.75459043995566
{'status': 0, 'result': {'location': {'lng': 113.74643447195358, 'lat': 34.40176637910559}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
113.74643447195358
{'status': 1, 'msg': 'Internal Service Error:无相关结果', 'results': []}
{'status': 0, 'result': {'location': {'lng': 112.77847075950989, 'lat': 32.13472991431875}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
112.77847075950989
{'status': 0, 'result': {'location': {'lng': 86.18149430993829, 'lat': 41.7323732214122}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
86.18149430993829
{'status': 0, 'result': {'location': {'lng': 121.43643177294247, 'lat': 29.294317441105566}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
121.43643177294247
{'status': 0, 'result': {'location': {'lng': 119.91749832197264, 'lat': 31.0325793268347}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
119.91749832197264
{'status': 1, 'msg': 'Internal Service Error:无相关结果', 'results': []}
{'status': 0, 'result': {'location': {'lng': 112.60858070620743, 'lat': 35.072907226846525}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '城市'}}
112.60858070620743
{'status': 0, 'result': {'location': {'lng': 118.36153652101795, 'lat': 34.37561095463685}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
118.36153652101795
{'status': 0, 'result': {'location': {'lng': 119.9944142939757, 'lat': 36.78269225408944}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
119.9944142939757
{'status': 0, 'result': {'location': {'lng': 113.39739094909922, 'lat': 34.54589798344474}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
113.39739094909922
{'status': 0, 'result': {'location': {'lng': 120.44060165264568, 'lat': 37.36113714256612}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.44060165264568
{'status': 0, 'result': {'location': {'lng': 111.456515837124, 'lat': 30.38440427431352}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
111.456515837124
{'status': 0, 'result': {'location': {'lng': 119.94859307736998, 'lat': 37.18263660907421}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
119.94859307736998
{'status': 0, 'result': {'location': {'lng': 119.17543320290359, 'lat': 31.950923490521372}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
119.17543320290359
{'status': 0, 'result': {'location': {'lng': 120.4335951222883, 'lat': 27.523066788446513}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.4335951222883
{'status': 0, 'result': {'location': {'lng': 120.2484219279141, 'lat': 29.295861065150863}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.2484219279141
{'status': 0, 'result': {'location': {'lng': 114.21051607638233, 'lat': 36.70248828627979}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
114.21051607638233
{'status': 0, 'result': {'location': {'lng': 122.97449548262718, 'lat': 39.686956078878055}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
122.97449548262718
{'status': 0, 'result': {'location': {'lng': 119.41640221866636, 'lat': 36.00200885807568}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
119.41640221866636
{'status': 0, 'result': {'location': {'lng': 117.77460624826666, 'lat': 35.9146198665876}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
117.77460624826666
{'status': 0, 'result': {'location': {'lng': 120.26472938795023, 'lat': 23.0309091042802}, 'precise': 0, 'confidence': 25, 'comprehension': 100, 'level': '乡镇'}}
120.26472938795023
{'status': 0, 'result': {'location': {'lng': 116.1724489811672, 'lat': 23.30363452186039}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
116.1724489811672
{'status': 0, 'result': {'location': {'lng': 114.72642585137605, 'lat': 22.991443112002415}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
114.72642585137605
{'status': 0, 'result': {'location': {'lng': 114.98643626401979, 'lat': 30.10166780010339}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
114.98643626401979
{'status': 0, 'result': {'location': {'lng': 104.47858183931757, 'lat': 25.715651258076416}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
104.47858183931757
{'status': 0, 'result': {'location': {'lng': 121.23851297084417, 'lat': 28.14186298682908}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
121.23851297084417
{'status': 0, 'result': {'location': {'lng': 116.45556614759954, 'lat': 33.93480147585089}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
116.45556614759954
{'status': 0, 'result': {'location': {'lng': 116.1056050954973, 'lat': 38.717348630774524}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
116.1056050954973
{'status': 0, 'result': {'location': {'lng': 117.17356009256213, 'lat': 32.483722623763164}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
117.17356009256213
{'status': 1, 'msg': 'Internal Service Error:无相关结果', 'results': []}
{'status': 0, 'result': {'location': {'lng': 121.02257525525401, 'lat': 30.682240998057836}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
121.02257525525401
{'status': 0, 'result': {'location': {'lng': 118.41349864392043, 'lat': 37.059638498906146}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
118.41349864392043
{'status': 1, 'msg': 'Internal Service Error:无相关结果', 'results': []}
{'status': 0, 'result': {'location': {'lng': 120.93251060584033, 'lat': 30.83712219382042}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.93251060584033
{'status': 0, 'result': {'location': {'lng': 114.29657265142765, 'lat': 23.178805592432578}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
114.29657265142765
{'status': 0, 'result': {'location': {'lng': 103.72553503682038, 'lat': 36.10975375497273}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
103.72553503682038
{'status': 0, 'result': {'location': {'lng': 119.65440636047963, 'lat': 27.094323508059915}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
119.65440636047963
{'status': 0, 'result': {'location': {'lng': 120.26444564891948, 'lat': 33.78101359213001}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
120.26444564891948
{'status': 0, 'result': {'location': {'lng': 117.74947848721935, 'lat': 36.8700322166973}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
117.74947848721935
{'status': 0, 'result': {'location': {'lng': 109.12452136754654, 'lat': 21.481065838235963}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
109.12452136754654
{'status': 0, 'result': {'location': {'lng': 118.48653672086745, 'lat': 36.690416508705376}, 'precise': 0, 'confidence': 20, 'comprehension': 100, 'level': '区县'}}
118.48653672086745
查看address的值:
address
0 [120.98745249794995, 31.390863425081864]
1 [120.29156800752115, 31.926044909769043]
2 [120.56155363871446, 31.88114053634028]
3 [118.55843052000408, 24.787824575144548]
4 [120.75949588665195, 31.65953827674108]
...
95 [119.65440636047963, 27.094323508059915]
96 [120.26444564891948, 33.78101359213001]
97 [117.74947848721935, 36.8700322166973]
98 [109.12452136754654, 21.481065838235963]
99 [118.48653672086745, 36.690416508705376]
Name: city, Length: 100, dtype: object
df['pos'] = df1 # 保存到df文件中
user_geohash | num | city | pos | |
---|---|---|---|---|
0 | 94ek6ke | 1028 | 昆山市 | [120.98745249794995, 31.390863425081864] |
1 | 94ek6lj | 980 | 江阴市 | [120.29156800752115, 31.926044909769043] |
2 | 94ek6lw | 919 | 张家港市 | [120.56155363871446, 31.88114053634028] |
3 | 94ek6kn | 908 | 晋江市 | [118.55843052000408, 24.787824575144548] |
4 | 94ek6l5 | 517 | 常熟市 | [120.75949588665195, 31.65953827674108] |
... | ... | ... | ... | ... |
95 | 9q0ltaw | 243 | 福安市 | [119.65440636047963, 27.094323508059915] |
96 | 99s4avh | 242 | 射阳县 | [120.26444564891948, 33.78101359213001] |
97 | 9519pwt | 240 | 邹平县 | [117.74947848721935, 36.8700322166973] |
98 | 94jrlp3 | 240 | 海城市 | [109.12452136754654, 21.481065838235963] |
99 | 946hodd | 240 | 青州市 | [118.48653672086745, 36.690416508705376] |
100 rows × 4 columns
拓展——计算两者之间的距离
在得到相关地名的经纬度之后,进一步就可以根据经纬度计算两点之间的距离,输入的是度数(°)
根据经纬度计算实际距离的代码:
import math
Earth_Radius=6378.137
def sin_square(a):
result=math.sin(a)
return result*result
def rad(ang):
return math.pi*ang/180.0
#a,b参数是数组
def distance_calculate(a,b):
lata,lnga=a[0],a[1]
latb,lngb=b[0],b[1]
radlata,radlnga=rad(lata),rad(lnga)
radlatb, radlngb = rad(latb), rad(lngb)
#纬度差
minus_a=radlata-radlatb
#经度差
minus_b=radlnga-radlngb
return 2*math.asin( math.sqrt(sin_square(minus_a/2) + math.cos(radlata)*math.cos(radlatb)*sin_square(minus_b/2)))*Earth_Radius
#坐标测试
#google
print(1000*distance_calculate((30.26848247,119.9499548338),(30.2688658749,119.9628533571)))
#baidu
print(1000*distance_calculate((30.274671,119.969392),(30.274261,119.956631)))
本文来自博客园,作者:StimuMing,转载请注明原文链接:https://www.cnblogs.com/fole-del/p/14810401.html