首页 文章

纬度和经度之间的负距离[关闭]

提问于
浏览
-5

一对纬度和经度(lat1,lng1,lat2,lng2)之间的距离可以为负吗?如果是,那么如何计算呢?我试过通过this方法做到这一点,但它总是给我积极的结果 .

实际上,我想计算车辆是向前移动还是向反方向移动 .

2 回答

  • 1

    “我怎么能知道我的车辆已越过特定点(lat,lng)”

    基于这个问题回答 .

    我基本上有两种方法可以做到这一点 .

    A)(最佳方式imo,捕捉每个场景)跟踪汽车整个时间的位置 . 不断检查它,看它是否等于你的观点 .

    B)如果你知道它以直线(弧线)的方式运行,那么看看该点是否是该线(弧线)的一部分 . 但是,在某种意义上,你必须考虑到地球是一个球体!

    看看Haversine Forumula

    您必须了解汽车将在道路上,因此它永远不会是一条完美的线路,因此除非您根据到达特定点跟踪方向的每一个变化,否则很难跟踪 . 也许你所寻找的不是单一点而是地球的一部分 .

    earth line

    例如,如果你从你得到的线结束并且起点与“线段”相交,那么你正在检查中提琴!

  • 1

    距离总是非负的 .

    二维距离公式为

    D = SQRT( (X1 - X2)^2 + (Y1 - Y2)^2 )
    

    SQRT仅针对非负值的浮点数定义,并且始终将返回非负值 . 此外,组件差异的平方将确保它总是得到非负值 .

    想一想:负距离意味着什么?如果你需要知道方向,你应该使用向量,而不是标量 .


    如果没有人出现并首先呈现更好的答案,我会将其整合到答案中,但这里是如何使用向量找到球面距离(沿着球体表面的距离)的快速解释 .

    http://mathworld.wolfram.com/SphericalDistance.html

相关问题