【问题标题】:How to find the incline of straight line between 2 given points of latitude+longitude in JAVA/Android?如何在JAVA / Android中找到2个给定纬度+经度点之间的直线斜率?
【发布时间】:2016-04-12 21:05:14
【问题描述】:

我想在地图上使用给定 2 个纬度 + 经度点的“直线”方程。 我可以用纬度和经度的原材料来做这样的计算吗-

        poly1_lngY= list.get(i).getLongitude(); // Y1 point on a line
        poly2_lngY= list.get(j).getLongitude(); // Y2 point on a line

        poly1_latX=list.get(i).getLatitude(); // X1 point on a line
        poly2_latX=list.get(j).getLatitude(); // X2 point on a line

        incline_poly= (poly2_lngY-poly1_lngY)/(poly2_latX-poly1_latX);

或者我应该使用数学课吗? 如果我需要使用 Math 类,我将不胜感激如何做到这一点

【问题讨论】:

  • 注意:通常假定两个纬度/经度坐标之间的线遵循地球的曲线,因此不是直线。

标签: java android math coordinates


【解决方案1】:

不,您的建议根本不正确。

Lat 和 lon 是球坐标系中的角度。你应该这样对待他们。

地球的半径足够大,而您的距离也足够小,因此将地球视为一个平面可能是可以的。但是在计算距离之前,您需要将这些点转换为直角坐标。

更好的解决方案是知道如何在正确的坐标系中计算距离,这样它总是正确的。去看看如何为球坐标做这件事,或者学习一些关于张量演算和度量张量的东西。

【讨论】:

  • 谢谢你的回答帮助我走上正轨
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-03
  • 2010-11-10
  • 2019-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多