在折线上画出一个朝向或远离终点的点(经度)

时间:2018-07-22 23:41:08

标签: java android latitude-longitude osmdroid

我一直在寻找一段时间,找不到解决方法 因此,我试图在折线上找到一个指向相对点或与主要点相距一定距离的点。(我有图片)如果您熟悉天体导航,则称为拦截方法。所以这是几乎有效的代码。

       double distance = ap.distanceToAsDouble(gp)*0.00053996;
       double convert = nauticalMiles;
       double t = convert / distance;
       double actlon = ((1 - t)*ap.getLongitude() + t*gp.getLongitude());
       double actlat = ((1 - t)*ap.getLatitude() + t*gp.getLatitude());
       bear = ap.bearingTo(new GeoPoint(actlat,actlon));
       actual = ap.destinationPoint(nauticalMiles/0.00053996,bear);

所以“ ap”是我要查找的点将是(nauticalMiles)“远离”或“朝向”“ gp”的点,它们是正确的,因此“ bear”是从ap到GP几乎可以完全正常工作。我试图找到“实际”点。这是如何工作的图像。 enter image description here

如您所见,实际点从黄色多义线表示的ap点朝向gp点。但!!!!如果您查看图片,黄线并不完全在红线上,因此我认为它有点偏离。所以我尝试做

bear = ap.bearingTo(gp);
actual = ap.destinationPoint(nauticalMiles/0.00053996,bear);

代替之前代码示例中的整个计算,它应该可以工作,但是我得到了

enter image description here

完全不在线的

。所以目前我坚持第一种方法,因为它相对准确,但这就是为什么我问这个问题。我怎样做才能使黄线准确地在红线上?我正在尝试获得我能得到的最准确的计算。谢谢您的时间。

0 个答案:

没有答案
相关问题