我的工作空间数据的应用程序。 在这里,我需要找到一个点,从质心的距离。 能懂得英里转换为度在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;
然而,无论是修正可能是微不足道的。