如何距离(英里)转换为度?(How to convert Distance(miles) to de

2019-08-06 23:55发布

我的工作空间数据的应用程序。 在这里,我需要找到一个点,从质心的距离。 能懂得英里转换为度在Java中?

Answer 1:

最后编辑 :瞧到大圆距离和测地线来发现的东西,你真的在这个问题问的复杂性。 这是公认的好了我熟悉数学。

[留下历史的原因原来的建议。 虽然片可以帮助你,他们不会直接回答你的问题。]

见https://stackoverflow.com/a/1253545/1964221对于这个问题的答案。

纬度:1你=110.54公里

经度:1你= 111320个* COS(纬度)公里

要转到另一个方向,我想知道,如果我们能够做到这一点(我的代数是生锈):

纬度:1公里= 1度/110.54公里
经度:1公里= 1度/(111.320 * COS(纬度)公里)

应用

是您的距离始终严格东西或南北? 如果是这样,你应该能够说:

Integer latTraveledMiles = 100;
Double latTraveledKM = 100 * 0.621371;
Double latTraveledDeg = (1 / 110.54) * latTraveledKM;

要么

Double currentLat = 74.0064;
Integer longTraveledMiles = 100;
Double longTraveledKM = 100 * 0.621371;
Double longTraveledDeg = (1 / (111.320 * Math.cos(currentLat))) * longTraveledKM;

更可能的,你需要知道在这两个南北和东西方向距离(并考虑到的领域这个“不是直接的)。你可以看看勾股定理 。你知道的‘长边’的三角形(C ^ 2),并且可以计算经度(A ^ 2)和纬度(b ^ 2)。

你应该能够运用我以前的代码片段的部分要弄清楚
C = SQRT(A ^ 2 + B ^ 2)。

祝好运。



Answer 2:

如果这真的是一个简单的问题,我们应该忽略的经度和纬度,只是看半径之间的夹角两点使得它们之间的距离,沿着包含两个点的大圆,为m英里。

为了保持它真的直线前进,我们应该假设地球是球形的,所以答案是位置无关的。 我使用的平均半径3,958.761英里。

一个弧度为3,958.761英里长的线的角度,因此长的线米英里的角度为m / 3,958.761弧度。 如果你想在度的角度使用Math.toDegrees。



Answer 3:

度地表达你的距离是不正确的做法,因为度代表的距离不是在地球上的所有位置平等,他们都表达了不同的经度和纬度。

例如:1°经度在赤道上约70英里,而北极附近是几英尺。

纬度不会在地球的表面上改变,但对于距离不属于沿经络或并行? 这措施将你代表那些?



Answer 4:

德怀特 - degroff答案是伟大的(感谢,它帮助我),但包含一个录入错误,这当然是非常低的重要性。 如果你想更正确的(例如,您是根据外部数据从许多小数源来准备测试),那么它应该是

纬度:1公里= 1度/110574公里

代替:

纬度:1公里= 1度/110.54公里

从而为纬度,它是:

    Integer latTraveledMiles = 100;
    Double latTraveledKM = 100 * 0.621371;
    Double latTraveledDeg = (1 / 110.574) * latTraveledKM;

而实际上,经度是111.319不是111.320,所以:

    Double currentLat = 74.0064;
    Integer longTraveledMiles = 100;
    Double longTraveledKM = 100 * 0.621371;
    Double longTraveledDeg = (1 / (111.319 * Math.cos(currentLat))) * longTraveledKM;

然而,无论是修正可能是微不足道的。



文章来源: How to convert Distance(miles) to degrees?