python输入两个坐标求距离_计算python中*多组*地理坐标之间的距离
编辑:
here’s a simple notebook example
一般方法,假设您有一个包含点的DataFrame列,并且您想要计算所有这些列之间的距离(例如,如果您有单独的列,则首先将它们组合成(lon,lat)元组).命名新列coords.
import pandas as pd
import numpy as np
from geopy.distance import vincenty
# assumes your DataFrame is named df, and its lon and lat columns are named lon and lat. Adjust as needed.
df['coords'] = zip(df.lat, df.lon)
# first, let's create a square DataFrame (think of it as a matrix if you like)
square = pd.DataFrame(
np.zeros(len(df) ** 2).reshape(len(df), len(df)),
index=df.index, columns=df.index)
此函数使用输入列名称从df DataFrame中查找“end”坐标,然后使用square.coords列作为第一个参数,将geopy vincenty()函数应用于输入列中的每一行.这是有效的,因为该功能是从右到左逐列应用的.
def get_distance(col):
end = df.ix[col.name]['coords']
return df['coords'].apply(vincenty, args=(end,), ellipsoid='WGS-84')
现在我们已准备好计算所有距离.
我们正在转置DataFrame(.T),因为我们将用于检索距离的loc []方法是指索引标签,行标签.但是,我们的内部应用函数(见上文)使用检索的值填充列
distances = square.apply(get_distance, axis=1).T
您的地理位置值(IIRC)以公里为单位返回,因此您可能需要将这些值转换为您想要使用的任何单位.meter,.miles等.
像下面这样的东西应该工作:
def units(input_instance):
return input_instance.meters
distances_meters = distances.applymap(units)
您现在可以使用例如索引到您的距离矩阵. loc [row_index,column_index].
你应该能够很容易地适应上述内容.您可能必须在get_distance函数中调整apply调用,以确保将正确的值传递给great_circle.大熊猫apply文档可能很有用,特别是关于使用args传递位置参数(你需要一个最近的pandas版本才能工作).
此代码尚未分析,并且可能有更快的方法,但400k距离计算应该相当快.
哦,还
我不记得geopy是否期望坐标为(lon,lat)或(lat,lon).我打赌这是后者(叹气).
python输入两个坐标求距离_计算python中*多组*地理坐标之间的距离相关推荐
- python输入数学表达式并求值_用Python3实现表达式求值
一.题目描述 请用 python3编写一个计算器的控制台程序,支持加减乘除.乘方.括号.小数点,运算符优先级为括号>乘方>乘除>加减,同级别运算按照从左向右的顺序计算. 二.输入描述 ...
- python输入坐标求面积_利用python中的坐标计算多边形面积
您没有正确实现Shoelace formula.我修改了一点你的代码来修复它:sum1=0.0 sum2=0.0 b=input("Number of corners: ") ma ...
- python输入两个数字的成语_一起来写个简单的解释器(2)
上一篇文章中,我们一起实现了计算器的加法功能. 并且,在文末给大家留下了一些练习: 让解释器支持减法运算: 让解释器支持多位整数的运算,例如:12+36: 添加一个方法,让解释器能够处理用户所输入表达 ...
- python输入两个数字的成语_请用 Python 语言编写一个简易的猜数字游戏程序。
import random answer = random.randint(1,10) print('猜数游戏 ') num=input('请输入你猜测的数字 n') guess=int(num) n ...
- python输入一个整数和一个字符_【python零基础入门】基础语法之变量、字符串、数字、规则。...
本文使用版本python3.8.1,编辑器pycharm. 学习指导书<Python编程--从入门到实践> 1.万恶之首"Hello world" 输入: print( ...
- 正方形里面两个扇形相交部分_计算下图中阴影部分的面积,最简单的方法是用正方形的面积除以2...
这是一道小升初数学题,是某师大附中2018年招生分班考试题.题目是计算下图阴影部分的面积,如下图所示: 小升初数学题 图形包含了正方形.扇形和三角形,但是所求阴影部分的面积却是两个不规则的图形.这两个 ...
- python坐标表示_已知经纬度坐标求两点间距离,用python表示
已知经纬度坐标求两点间距离,用python表示 已知地球上任意两点(lon1, lat1),( lon2, lat2)的经纬度坐标,求两点间的距离用haversine表示: 1.首先先将经纬度坐标的角 ...
- 已知经纬度坐标求两点间距离,用python表示
已知经纬度坐标求两点间距离,用python表示 已知地球上任意两点(lon1, lat1),( lon2, lat2)的经纬度坐标,求两点间的距离用haversine表示: 1.首先先将经纬度坐标的角 ...
- 从键盘输入两个数,求它们的和并输出
PTA | 程序设计类实验辅助教学平台 正值暑假,最近在PTA上拿相关python题库练手,做的过程中有好多突如其来的灵感,想着如果不记录下来,就太可惜了 . 里面的python题库浙大版<Py ...
最新文章
- 决定局域网的主要技术要素
- macos访问linux分区,在linux中访问macos 下的分区。
- html5水调歌头代码,张惠言的五首《水调歌头》
- [OpenGL] opengl常见问题汇总
- 拓端tecdat|主题模型(LDA)案例:分析人民网留言板数据
- 3.7V转5V电路图芯片,3.7V升压5V的升压芯片
- 计算机视觉大佬--何凯明
- python 幂次方_python次方运算
- 微生物组数据系统发育分析的方法
- 图像元数据(Metadata) ——Exif信息分析
- 关于windows自带的两种远程访问方式
- 西门子bop20显示电流_SIEMENS/西门子BOP20基本操作员面板使用方法说明
- Java堆内存溢出造成OS卡顿/服务中断的一种情况
- JAVA泛型特例化_这个大学生,抢先go2实现了go的泛型
- Android 翻页效果 电子书 (转)
- 织梦dedecms会员中心投稿,管理员审核后,文档稿件动态浏览,禁止生成静态页
- C# WPF 获取系统文化和国家信息(CultureInfo)类
- 普罗米修斯 软件_普罗米修斯电子白板软件教程
- S5PV210 | 裸机汇编LED流水灯实验
- python msgpack_Python中msgpack库的使用
热门文章
- Python实现微信找茬小游戏自动进行
- 初中计算机学情分析,初中信息技术教材分析
- Vmware安装linux虚机,并打通宿主机与虚机间的网络访问
- raw什么意思微型计算机,硬盘分区变成raw格式
- 启动报错this is very likely to create a memory leak
- gps定位,根据经纬度;
- 持续集成环境(CI)搭建
- SafeNet呼吁采用KMIP,推出首款基于硬件的企业密钥管理平台
- 中学校园网计算机网络工程系统设计,中学校园网络系统设计方案.pdf
- 《11.uboot的移植-从三星官方uboot开始移植》