DJI Mobile SDK-相邻航点之间的距离如何计算?

时间:2018-07-13 02:32:21

标签: dji-sdk

使用DJI Mobile SDK上传航点任务,如果DJI确定两个相邻航点距离太近(在0.5米以内),则上传被拒绝。

有人知道航路点任务中用于确定相邻航路点之间距离的算法吗?

具体来说,DJI算法是否使用hasversine计算纬度,经度坐标之间的距离?如果是,使用的地球半径是多少? UIGG的平均半径是6371008.8米。还是其他半径?

还是使用椭圆形的Vincenty公式(WGS-84)?

此信息对于在任务上传之前进行更精确的航点抽取非常有用。

2 个答案:

答案 0 :(得分:1)

首先,我要评论的是DJI不太可能回答内部实施问题,因为这会使他们不得不随着时间的推移和跨飞机而不得不支持实施。不同的飞机,不同的技术可能导致不同的实现方式。

使用标准的“点间距离”计算(对地图公式来说是常见的,或者内置于平台SDK(iOS,Android等)中)对我来说一直是有效的,我发现它们足够精确,可以进行计划甚至是复杂的航班。

答案 1 :(得分:0)

基于几个测试,我现在可以确认当前的DJI内部距离计算取决于纬度和/或经度。这意味着对于相同(!)航路点距离对,您将获得不同的结果,具体取决于两个点的锚定位置。

1.5米距离的Waypoint Pair在欧洲中部的一个地点被接受为任务,但被WAYPOINT_DISTANCE_TOO_CLOSE拒绝在美国中部的一个地点。

(我们用https://gps-coordinates.org/distance-between-coordinates.php进行了验证,两个航点距离对之间的距离相同,均为1.5米。)

因此可以安全地假设DJI的距离计算中存在错误。