计算靠近的GPS坐标之间的距离,单位为m in xyz

计算靠近的GPS坐标之间的距离,单位为m in xyz,gps,distance,Gps,Distance,我有一组GPS坐标,我想找到无人机在它们之间飞行所需的速度。通过计算x y z中的距离,然后除以行驶时间-m/s来完成此操作 我知道大圆距离,但我认为这是不正确的,因为它们都在10米以内相对较近 有没有精确的方法可以做到这一点?对于小距离,您可以使用,而不会与Vincenty的f.e.Plus相比,它的设计可以精确到非常小的距离。如果您感兴趣,可以阅读此内容。您可以通过将两个点的lat/long/alt转换为XYZ格式来完成此操作。然后,计算旋转角度,以移动其中一个点(通常是最老的点),使其位于

我有一组GPS坐标,我想找到无人机在它们之间飞行所需的速度。通过计算x y z中的距离,然后除以行驶时间-m/s来完成此操作

我知道大圆距离,但我认为这是不正确的,因为它们都在10米以内相对较近


有没有精确的方法可以做到这一点?

对于小距离,您可以使用,而不会与Vincenty的f.e.Plus相比,它的设计可以精确到非常小的距离。如果您感兴趣,可以阅读此内容。

您可以通过将两个点的lat/long/alt转换为XYZ格式来完成此操作。然后,计算旋转角度,以移动其中一个点(通常是最老的点),使其位于lat=0 long=0 alt=0。旋转第二个位置,以相同的旋转角度报告最新点。如果你做得正确,你会发现X等于东偏移,Y等于北偏移,Z等于上偏移。您可以使用毕达哥拉斯定理和X、Y北偏移和东偏移来确定移动的水平距离。通常,您只需忽略高度差,仅处理水平数据

所有这些都假设您正在使用精确的公式将lat/lon/alt转换为XYZ。它还假设您在lat/lon/alt值中有足够的精度以确保准确。如果你想要好的结果,近似值是不好的。通常,您需要大约6位精度为lat/lon值的十进制数字,才能计算精确到米级的位置

请记住,如果你的移动距离没有远远超过10米或20米,那么这种方法的效果就不太好,越远越好。GPS位置报告中有足够的噪声,您将获得跳跃速度值,需要进一步过滤以获得良好的精度。这里的问题不是数学方法,而是GPS位置报告中固有的噪音。当你有好的报告,你会得到良好的速度


GPS接收机通常不使用这种方法来了解速度。它观察每个卫星的多普勒值的变化方式,以及当前位置的因素,以了解速度是多少。当车辆移动时,这项功能相当有效。这是一种更快的检测速度变化的方法,例如,释放位置夹。普通用户无法访问内部多普勒值,并且数学变得非常复杂,因此这不是你能做的。

嗨,是的,我用过,但问题是我需要x和y分量。Haversine给出了合成距离。你需要位置,它是距离起点的米数,或者是向量表示的距离?x和y方向的米数,这样我就可以计算速度。我刚刚考虑过转换成ECEF,然后减去差值?还有一些事情。当我说转换为XYZ时,我真正的意思是转换为ECEF坐标系中的XYZ坐标。当我说旋转点到lat=0 lon=0 alt=0时,我真正的意思是X=6378137 Y=0 Z=0。当使用WGS-84基准时,这些XYZ坐标对应于lat=0 lon=0 alt=0。您还必须确保您的lat/lon/alt参考了正确的基准。GPS接收机将在内部使用WGS-84基准来计算所有lat/lon/alt值,但您可能会发现另一个软件层将其转换为不同的基准,如NAD-27。如果不使用正确的基准,计算将失败。最后,ECEF坐标系中的XYZ值以米为单位表示,就像任何良好的坐标系一样。一切都是公制的,不是英里或英尺。