我正在为桥梁检查ROV octorotor收集的GPS数据进行一些数据分析.我们使用3D扫描激光雷达,立体视觉,INS和其他一些技术,在ROS上运行octorotor.我目前正在使用类似于Doug Weibel’s设置的ublox LEA-6T来收集原始GPS数据,如载波相位,多普勒频移和卫星星历.然后,我使用开源项目RTKLIB对本地NOAA CORS站进行一些DGPS后处理,以获得cm精度,以便在重建桥梁的3D点云时更好地进行姿态估计.
无论如何,我使用scipy的大部分来统计验证我的测试结果.
特别是对于这部分,我只是使用:
> python-3.3
> numpy
> geopy
我一直在研究我的位置协方差,使用geopy的便捷距离函数来抵消我测得的地面实况.通过很少按摩参数,我可以找到矩阵中每个标准偏差元素所描绘的每个方向的距离;北,东,向和三个方向之间.
但是,这些距离是绝对的,不描述方向.
说:正面,负面将分别与北向或南向相关.
我可以简单地使用纬度和经度来检测方向的极性,
但我希望能够找到所描述的距离的精确点到点,
我相信全球标题的价值可能对我目前的其他应用程序有用.
我发现其他人提出了类似的问题
但它似乎假设一个大圆近似
我更喜欢使用WGS-84椭球模型,或任何可用于地理的相同模型:
Jump to Calculating distances
任何建议表示赞赏,
-ruffsl
有兴趣的消息来源:
> python-3.3:http:// www.python.org/download/releases/3.3.0/
> numpy:http:// www.numpy.org/
> geopy:https:// code.google.com/p/geopy/
> scipy:http:// www.scipy.org/
> ublox LEA-6T:http:// www.u-blox.com/en/gps-modules/u-blox-6-timing-module/lea-6t.html
> Doug Weibel的作品:http:// diydrones.com/profiles/blogs/proof-of-concept-test-extremely-accurate-3d-velocity-measurement
> RTKLIB:http:// www.rtklib.com/
> NOAA CORS:http:// geodesy.noaa.gov/CORS/
> ROS: http:// www.ros.org/wiki/
解决方法
pip install geographiclib
你可以做
>>> from geographiclib.geodesic import Geodesic >>> Geodesic.WGS84.Inverse(-41.32,174.81,40.96,-5.50) {'lat1': -41.32,'a12': 179.6197069334283,'s12': 19959679.26735382,'lat2': 40.96,'azi2': 18.825195123248392,'azi1': 161.06766998615882,'lon1': 174.81,'lon2': -5.5}
这计算从新西兰惠灵顿(41.32S 174.81E)到西班牙萨拉曼卡(40.96N 5.50W)的测地线.距离由s12(19959679米)给出,初始方位角(方位)由azi1(从北方顺时针方向161.067 …度)给出.