我想在安卓中找到两个位置的交点。
我不想考虑图中圆不相交、包含或完全重叠的情况。
我的问题是,位置以度为单位给出,半径(精度)以米为单位给出。我不知道如何混合这些单位。
在我的情况下,环境是Android,但问题并非特定于Android。
我不想考虑图中圆不相交、包含或完全重叠的情况。
我的问题是,位置以度为单位给出,半径(精度)以米为单位给出。我不知道如何混合这些单位。
在我的情况下,环境是Android,但问题并非特定于Android。
(http://mathworld.wolfram.com/CylindricalEquidistantProjection.html)
在上面的链接中,如果要获得基于米的系统,则需要乘以常量"meterPerDegreeAtEquator",该常量为40000000 / 360.0。
现在您有了像在学校里一样的坐标x,y。
然后,您可以按照在学校学到的方法或在网络上找到的方法计算圆的交点。例如这里:https://math.stackexchange.com/questions/256100/how-can-i-find-the-points-at-which-two-circles-intersect
然后,您可以使用反演投影将笛卡尔交点转换回纬度和经度。
这适用于两个圆之间的距离不超过10-100公里的情况。
注意:以下是常见错误,我在与您的示例代码讨论中看到: 请注意,x与经度相关,而y与纬度相关。 尽管我们说纬度/经度。在这种转换公式中,应该在参数名称等中使用long,lat顺序。 另请参阅Lat Long or Long Lat
java
实现的函数。 - hrskrs