GPS怎样根据测点计算距离

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GPS怎样根据测点计算距离相关的知识,希望对你有一定的参考价值。

就是测了两个任意的点 有坐标有高程 我想知道在电脑上连接接两点的直线距离,怎么在GPS上操作(因为在野外作业,身边没有电脑!)
南方的GPS 工程测量上用的!可以么?在手簿上计算!快速的,简洁的!

1、打开百度地图的主界面,直接点击左上角的人头图标进入。

2、下一步来到新的窗口,需要在常用功能那里选择测距。

3、这个时候找到第一个点,通过点击进行定位。

4、这样一来继续选择第二个点会得到对应的结果,即可实现GPS根据测点计算距离了。

参考技术A 请问你使用的是手持GPS还是高精度GPS,手持GPS的话只要在航线里面把这两个点选上,组成航线,距离就可以显示了,如果是安装了GPS采集软件的话,找一下工具,编辑之类的菜单,看看有没有测量距离选项;如果是高精度测量设备如RTK,在手簿软件应该有这个功能的。
如果你不怕麻烦,我还可以告诉你一招,如果是采集的经纬度坐标,你把GPS设备设置成采集平面坐标,这样再去数据里找这两个点,就应该是平面坐标了,然后你就用最原始的勾股定理来计算这两点的距离。本回答被提问者采纳
参考技术B 1.首先要会度分转换:将度分单位数据转换为度单位数据,度=度+分/60
例如:
经度 = 116°20.12’
纬度 = 39°12.34’
经度 = 116 + 20.12 / 60 = 116.33533°
纬度 = 39 + 12.34 / 60 = 39.20567°
NTU经度 = 116.33533 * 100000 = 11633533(NTU)
NTU纬度 = 39.20567 * 100000 = 3920567(NTU)
2.如何计算两点间距离
比如:点A的经度为11695400,纬度为3995400。点B的经度为11695300,纬度为3995300。
公式:两点间距离
= [ (A点经度 - B点经度)^2 + (A点纬度 - B点纬度)^2 ] ^ (1/2)
= [ (11695400 - 11695300)^2+ (3995400 - 3995300)^2 ] ^(1/2)
=(10000+10000) ^ (1/2) =141米
公式说明:加法 + ,减法 - ,乘法 *,除法 /,幂运算 ^(1/2)表示平方根 ^2表示平方。
适用范围:未加密经纬度/加密经纬度>
参考技术C 可以用地图控件或GOOGLE之类的地图来计算.

参考资料:google map

参考技术D GPS是何品牌的GPS?支不支持距离计算?这个都是需要考虑的

根据 GPS 数据计算距离 [经度和纬度]

【中文标题】根据 GPS 数据计算距离 [经度和纬度]【英文标题】:Calculate distance from GPS data [longitude and latitude] 【发布时间】:2015-04-14 11:02:55 【问题描述】:

我是熊猫数据挖掘的新手。我有由时间戳、经度和纬度值组成的 GPS 数据集。我的数据集看起来像 this。

In [3]:
import pandas as pd
import numpy as np
df = pd.read_csv('D:GPS.csv', index_col=None)
df
Out[3]:
    time                mLongitude  mLongitude
0   2014-06-30 00:00:00 94.500000   126.998428
1   2014-06-30 00:00:00 94.500000   126.998428
2   2014-06-30 00:00:00 94.500000   126.998428
3   2014-06-30 00:00:00 94.500000   126.998428
4   2014-06-30 00:00:00 94.500000   126.998428
5   2014-06-30 00:00:00 94.500000   126.998428
6   2014-06-30 00:00:00 94.500000   126.998428
7   2014-06-30 00:00:00 94.500000   126.998428
8   2014-06-30 00:00:00 94.500000   126.998428
9   2014-06-30 00:00:00 94.500000   126.998428
10  2014-06-30 00:00:00 94.500000   126.998428
11  2014-06-30 00:00:00 94.500000   126.998428
12  2014-06-30 00:00:00 94.500000   126.998428
13  2014-06-30 00:00:00 94.500000   126.998428
14  2014-06-30 00:00:00 94.500000   126.998428
15  2014-06-30 00:00:00 94.500000   126.998428
  ...   ... ... ...
9467    2014-08-02 00:00:00 44.299999   126.902259
9468    2014-08-02 00:00:00 44.299999   126.902259
9469    2014-08-02 00:00:00 44.299999   126.902259
9470    2014-08-02 00:00:00 44.299999   126.902259
9471    2014-08-02 00:00:00 44.299999   126.902259
9472    2014-08-02 00:00:00 44.299999   126.902259

在这里,我想计算每天的行驶距离。然后输出的例子是这样的:

 time        distance (meter)
2014-06-30     1000 
2014-07-01     500
....           ...
2014-08-02     1500

【问题讨论】:

你是如何计算距离的? 地面还是海拔距离?直线/great circle distance? @SylvainLeroux 实际上,我不是这种情况的专家,但在阅读了一些参考资料后,我想我正在寻找地面距离。 @EdChum 我已经阅读了this 的代码,但我不知道如何修改代码以便在我的情况下实现它。 查看相关:***.com/questions/25767596/… 【参考方案1】:

以下内容改编自我的answer:

In [133]:

import math
​
df['distance'] = 6367 * 2 * np.arcsin(np.sqrt(np.sin(np.radians(df['mLatitude']) - math.radians(37.2175900)/2)**2 + math.cos(math.radians(37.2175900)) * np.cos(np.radians(df['mLatitude']) * np.sin(np.radians(df['mLongitude']) - math.radians(-56.7213600)/2)**2)))
df
Out[133]:
            time  mLongitude   mLatitude      distance
index                                                 
0     2014-06-30   94.500000  126.998428  16032.604625
1     2014-06-30   94.500000  126.998428  16032.604625
2     2014-06-30   94.500000  126.998428  16032.604625
3     2014-06-30   94.500000  126.998428  16032.604625
4     2014-06-30   94.500000  126.998428  16032.604625
5     2014-06-30   94.500000  126.998428  16032.604625
6     2014-06-30   94.500000  126.998428  16032.604625
7     2014-06-30   94.500000  126.998428  16032.604625
8     2014-06-30   94.500000  126.998428  16032.604625
9     2014-06-30   94.500000  126.998428  16032.604625
10    2014-06-30   94.500000  126.998428  16032.604625
11    2014-06-30   94.500000  126.998428  16032.604625
12    2014-06-30   94.500000  126.998428  16032.604625
13    2014-06-30   94.500000  126.998428  16032.604625
14    2014-06-30   94.500000  126.998428  16032.604625
15    2014-06-30   94.500000  126.998428  16032.604625
9467  2014-08-02   44.299999  126.902259  10728.740464
9468  2014-08-02   44.299999  126.902259  10728.740464
9469  2014-08-02   44.299999  126.902259  10728.740464
9470  2014-08-02   44.299999  126.902259  10728.740464
9471  2014-08-02   44.299999  126.902259  10728.740464
9472  2014-08-02   44.299999  126.902259  10728.740464
In [137]:

df.set_index('time').resample('D', how='mean')
Out[137]:
            mLongitude   mLatitude      distance
time                                            
2014-06-30   94.500000  126.998428  16032.604625
2014-08-02   44.299999  126.902259  10728.740464

不清楚您的时间是否已经是日期时间,但如果不是,您可以转换它:df['time'] = pd.to_datetime(df['time']),我还重新标记了列,因为您有 2 个mLongitude,我假设第二个应该是纬度

【讨论】:

太好了...,是的,我了解日期时间。感谢您的解决方案

以上是关于GPS怎样根据测点计算距离的主要内容,如果未能解决你的问题,请参考以下文章

计算连续 GPS 点之间的距离,并根据该距离降低 GPS 密度

根据 GPS 数据计算距离 [经度和纬度]

根据两点经纬度坐标计算距离

计算大量 GPS 坐标之间的成对路由距离

如何计算两个GPS坐标点的距离?

计算两个 GPS 坐标之间的距离