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几乎可以完全正常工作。我试图找到“实际”点。这是如何工作的图像。
如您所见,实际点从黄色多义线表示的ap点朝向gp点。但!!!!如果您查看图片,黄线并不完全在红线上,因此我认为它有点偏离。所以我尝试做
bear = ap.bearingTo(gp);
actual = ap.destinationPoint(nauticalMiles/0.00053996,bear);
代替之前代码示例中的整个计算,它应该可以工作,但是我得到了
完全不在线的
。所以目前我坚持第一种方法,因为它相对准确,但这就是为什么我问这个问题。我怎样做才能使黄线准确地在红线上?我正在尝试获得我能得到的最准确的计算。谢谢您的时间。