python计算两个地址之间的距离方法

作者:lingan_Hong 时间:2023-09-01 01:40:59 

我们调用高德地图的API来计算经纬度


#计算地址经纬度
import requests
def geocode(address):
parameters = {'address': address, 'key': 'cb649a25c1f81c1451adbeca73623251'}
base = 'http://restapi.amap.com/v3/geocode/geo'
response = requests.get(base, parameters)
answer = response.json()
print(address + "的经纬度:", answer['geocodes'][0]['location'])
lon = float(answer['geocodes'][0]['location'].split(',')[0])
lat = float(answer['geocodes'][0]['location'].split(',')[1])
geocode(address)

我们输入下面两个地址,得到相应的经纬度。

address1 ='上海市徐汇区桂箐路靠近华鑫天地'

address2 ='上海市徐汇区田林路200号华鑫天地C座3楼'


上海市徐汇区桂箐路靠近华鑫天地的经纬度: 121.407124,31.169677
上海市浦东新区张江高科技园的经纬度: 121.593357,31.214343
lon1 = 121.407124
lat1 = 31.169677
lon2 = 121.593357
lat2 =31.214343

#计算距离
from math import radians, cos, sin, asin, sqrt
# 将十进制度数转化为弧度
lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])
# haversine公式
dlon = lon2 - lon1
dlat = lat2 - lat1
a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
c = 2 * asin(sqrt(a))
r = 6371 # 地球平均半径,单位为公里
return c * r * 1000

最终结果如下,两个地方之间的距离约18公里


c * r * 1000
Out[58]: 18397.59615786144

来源:https://blog.csdn.net/lingan_hong/article/details/75072826

标签:python,计算,距离
0
投稿

猜你喜欢

  • python3+selenium实现qq邮箱登陆并发送邮件功能

    2023-02-04 17:54:23
  • vue-router命名视图的使用讲解

    2024-04-09 10:59:52
  • Python中Pygame模块的详细安装过程

    2021-01-25 01:28:53
  • Oracle学习笔记(一)

    2012-01-05 18:51:44
  • Windows下Eclipse+PyDev配置Python+PyQt4开发环境

    2021-01-26 20:13:42
  • base href 使用方法详解

    2008-05-18 13:27:00
  • 利用python实现可视化大屏

    2023-08-17 17:29:17
  • python实现斐波那契递归函数的方法

    2022-03-22 19:54:49
  • python用pip install时安装失败的一系列问题及解决方法

    2021-10-15 23:11:43
  • 一个简单的像素画小工具

    2010-01-01 15:33:00
  • 最新的关键SQL Server漏洞已被微软证实

    2009-03-16 14:31:00
  • Python利用PyExecJS库执行JS函数的案例分析

    2022-10-26 08:53:19
  • PyTorch中Tensor的数据统计示例

    2021-03-05 01:04:53
  • Python内置方法实现字符串的秘钥加解密(推荐)

    2023-10-22 23:45:35
  • Access为后台数据库的网站统计系统

    2008-11-16 17:34:00
  • GO语言基础之数组

    2024-03-11 21:44:03
  • TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)

    2022-11-08 00:54:03
  • python中的随机数种子seed()用法说明

    2021-11-15 17:16:34
  • 火车票抢票python代码公开揭秘!

    2021-06-16 18:34:29
  • Vue实现点击显示不同图片的效果

    2024-05-02 17:10:53
  • asp之家 网络编程 m.aspxhome.com