Java 在给定的当前点、距离和方向角下,获得准确的纵横比

Java 在给定的当前点、距离和方向角下,获得准确的纵横比,java,android,google-maps,mapbox,Java,Android,Google Maps,Mapbox,给定一个以lat/long为单位的现有点、以英寸为单位的距离和以度为单位转换为弧度的方位,我试图计算新的lat/long。但结果有时是不准确的,因为我试图为新的lat/long测量一个小区域。目前,我正在尝试获得下一英尺的lat/long,但有时会出现1英寸的错误。我在这个实现中使用了以下算法。为算法引用此线程 r的定义是地球的半径为250826771.6535433///英寸 我正在使用上面的实现生成一个1英尺的网格到mapbox贴图层,但是生成的网格的一些线是1英寸不准确的。是否有任何方法可

给定一个以lat/long为单位的现有点、以英寸为单位的距离和以度为单位转换为弧度的方位,我试图计算新的lat/long。但结果有时是不准确的,因为我试图为新的lat/long测量一个小区域。目前,我正在尝试获得下一英尺的lat/long,但有时会出现1英寸的错误。我在这个实现中使用了以下算法。为算法引用此线程

r的定义是地球的半径为250826771.6535433///英寸

我正在使用上面的实现生成一个1英尺的网格到mapbox贴图层,但是生成的网格的一些线是1英寸不准确的。是否有任何方法可以改进此实现以获得更好的结果,或者是否有其他方法可以获得准确的lat/long

这是生成的网格,我画了一条线来了解网格中一些线的长度。

您可以使用Google Maps SDK for Android实用程序库的

您可以使用的特定方法是computeOffset方法。在该对话框中搜索球体时可以看到它

ComputeOffset返回从指定航向中的原点移动一段距离所产生的纬度,以从北顺时针角度表示。以下是需要指定的参数:

from-从中开始的板条。 距离-旅行的距离。 航向-从北顺时针方向以度为单位的航向

要使用此功能,请将实用程序库添加到依赖项中:

implementation 'com.google.maps.android:android-maps-utils:0.5'
这是我使用的一行代码的示例:

LatLng newCoordinates = SphericalUtil.computeOffset(new LatLng(-25.363, 131.044),30000, 90);

希望这有帮助

这个世界上还有人用英寸计算吗?你应该给出一个精确的计算例子。给出三个输入值。然后告诉你计算的新点。告诉我你期望的是什么。不清楚为什么要使用网格。@blackapps是的,在我们国家,有些客户用英寸来计算距离。无论如何,谢谢你的回复,我设法减少了错误
LatLng newCoordinates = SphericalUtil.computeOffset(new LatLng(-25.363, 131.044),30000, 90);