操作步骤:

  • 导包

    • 使用geodesic()函数
    • 或者使用great_circle
from geopy.distance import great_circle, geodesic
# 注意:两个函数得到的结果不同
print(geodesic((32.03128, 118.784149), (32.067131, 118.783966)).m)  # 计算两个坐标直线距离   # 3975.471457390853
print(great_circle((32.03128, 118.784149), (32.067131, 118.783966)).m)    # 两个函数的差别 3986.492256905095
结果:
3975.471457390853
3986.492256905095

那么,给定一组经纬度坐标的二维数组如何对每个位置的距离进行计算?

  • 注意: calculate_distance()方法使用np.linalg.norm()借用欧式距离进行计算,并不对。
  • calculate_distance2()是正确方法
import numpy as np
import pandas as pd
from geopy.distance import geodesicprint(geodesic((31.237872, 121.470259), (31.246946, 121.513919)).m)  # 计算两个坐标直线距离   # 4279.081922014711# 1.数据集
C = np.array([[31.237872, 121.470259], [31.246946, 121.513919], [31.234472, 121.473219]], dtype=float)
city_num = C.shape[0]  # ES的数量# 函数:计算城市之间的距离
def calculate_distance(C):"""根据坐标,得出城市之间的距离矩阵:param C,城市的二维坐标:return: distance_matrix"""num = city_numdistance_matrix = np.zeros((num, num))  # 打印一个52行52列的二维数组for i in range(num):for j in range(i, num):distance_matrix[i][j] = distance_matrix[j][i] = np.linalg.norm(C[i] - C[j])return distance_matrix  # distance_matrix[i][j] = distance_matrix[j][i]表示城市i和j距离def calculate_distance2(C):"""根据坐标,得出城市之间的距离矩阵:param C,城市的二维坐标:return: distance_matrix"""num = city_numdistance_matrix = np.zeros((num, num), dtype=float)  # 打印一个52行52列的二维数组for i in range(num):for j in range(i, num):temp = geodesic(C[i], C[j]).mdistance_matrix[i][j] = distance_matrix[j][i] = tempreturn distance_matrix  # distance_matrix[i][j] = distance_matrix[j][i]表示城市i和j距离print(calculate_distance(C))
print("*"*60)
print(calculate_distance2(C))
输出:
4279.081922014711
[[0.         0.04459297 0.00450795][0.04459297 0.         0.04256866][0.00450795 0.04256866 0.        ]]
************************************************************
[[   0.         4279.08192201  470.77248076][4279.08192201    0.         4116.51181745][ 470.77248076 4116.51181745    0.        ]]

两个地理坐标距离计算相关推荐

  1. 两圆圆心距离计算及位置关系判断(C++实现)

    实验目的 学习友元函数的定义与调用,理解友元函数的意义. 实验原理 友元函数时在类中用关键字 friend修饰的函数,是类的非成员函数,但是它可以通过对象名访问类的私有和保护成员 利用圆心距与两圆半径 ...

  2. 在C++中计算经纬度(附34个城市两两间的距离计算结果)

    文章目录 计算说明 C++实现代码 计算结果 计算说明 本文使用C++根据输出两个城市的经纬度计算两地间的距离. 几点说明: 经度为E,如果开头为W则取负值: 纬度为N,如果开头为S则取负值: 为了避 ...

  3. 矩阵向量中两两间欧式距离计算

    目标:希望通过的矩阵运算就能得出矩阵向量中两两之间的欧式距离 欧氏距离公式: 一般而言,我们常见的欧式距离计算公式如下: a,b 对应的是两组不同的向量 dist(a,b)=(a1−b1)2+(a2− ...

  4. 利用SQL计算两个地理坐标(经纬度)之间的地表距离

    两个地理坐标(经纬度)地表距离计算公式: 公式解释如下: Long1,Lat1表示A点经纬度,Long2,Lat2表示B点经纬度: a=Lat1–Lat2 为两点纬度之差,b=Long1-Long2为 ...

  5. oracle如何计算2个坐标的距离,百度地图两个坐标之间的距离计算

    /** * 计算两组经纬度坐标 之间的距离 * params :lat1 纬度1: lng1 经度1: lat2 纬度2: lng2 经度2: len_type (1:m or 2:km); * re ...

  6. 两经纬度之间的距离计算

    以下是计算两经纬度之间距离的代码,分为:头文件.源代码和测试代码三部分. 具体如下: 1 // LatLonDistanceDlg.h : 头文件 2 // 3 4 #pragma once 5 6 ...

  7. html GPS坐标实现,JavaScript 实现GPS坐标点距离计算(两个经/纬度间的距离计算)...

    在LBS(基于位置服务)的一些应用中,有时我们会需要计算两个用户或两个坐标点之间的距离.要解决这类问题,就要了解空间几何的概念并结合数学中在三角函数公式计算两点之间的值.本文介绍基于经度/纬度的,两个 ...

  8. [原创]物探小宽线坐标快速生成(平行线坐标互算 、点到线距离计算、两线交点计算等)...

    界面如下: 下载地址:CSDN 功能简介: 主要是解决并简化各项目中坐标(特别是是斜测线坐标方程组)的重复脑残计算问题,降低脑残机率,为懒而生 1.对于斜线.规则线坐标理论快速生成等 2.两线交点的标 ...

  9. c#语言+计算两个位置的距离,计算两个GPS坐标的距离 方法一 - C#语言

    场景:已知两个GPS点的经纬度坐标信息.计算两点的距离. 1. 距离/纬度关系 GPS: 22.514519,113.380301 GPS: 22.511962,113.380301 距离:284.6 ...

最新文章

  1. python命令之m参数 局域网传输
  2. 上周热点回顾(9.7-9.13)
  3. 3D网页游戏场景打包与加载
  4. 苹果iphone手机上input的button按钮颜色显示有问题,安卓却没问题
  5. plsql登录时显示无服务器,plsql登录提示ORA-12514:TNS:listener does not currently know of service…………...
  6. bzoj3589 动态树 求链并 容斥
  7. 前端学习(3207):js中的事件绑定
  8. vscode无法识别constexpr
  9. linux安装了xml怎么编译,linux下libxml库的安装及编译
  10. 前端开发桌面终极工具(FastStone Capture)推荐(转)
  11. MySQL中的substr()函数
  12. 聚集索引表插入数据和删除数据的方式是怎样的
  13. aid learning安装应用_Aid-Learning?在手机上免root运行VSCode?手机上实现多窗口?
  14. 从拼多多薅羊毛事件来看类似事件的后续处理流程(全程吃瓜汇总)
  15. gt 630 linux驱动下载,Ubuntu 13.04 双显卡安装NVIDIA GT 630M驱动
  16. 十五个闭目养神、调养身心的方法
  17. 如何批量压缩pdf文件到最小
  18. 基于TCAM的路由查找及表项管理
  19. 【内排序 -- 八大排序】
  20. c语言多线程示例windows

热门文章

  1. 如何用Python检验线性回归的假设是否满足
  2. SpringBoot 整合ElasticSearch全文检索
  3. 解决U盘制作Ubuntu系统安装盘后无法格式化且容量无法恢复
  4. 简单认识一下苹果笔记本以及使用MBP开发一年的心得体会
  5. KW-Software MULTIPROG平台通过赫优讯cifX板卡实现 集成PROFIBUS-DP主站的软PLC控制器
  6. 「万物生长」一个APK从诞生到活跃在Android手机上,android驱动开发权威指南pdf
  7. 还在寻找一款DVD全能转换器吗?WinX DVD Ripper for Mac它不香吗?
  8. 淘宝鹊桥计算工具安卓版小程序
  9. 赵小楼《天道》《遥远的救世主》解读(40)芮伟峰的“父爱”和芮小丹的“活出自我”
  10. 【转】 bio 与块设备驱动