当前位置: 首页 > 面试题库 >

从方位角和距离计算纬度和经度

尉迟国发
2023-03-14
问题内容

我很难缠一些三角学。我正在尝试根据起始纬度,对数,距离和方位来推论目标纬度和经度。

幸运的是,我找到了一个令人惊叹的网站,该网站准确地描述了我需要的功能:http : //www.movable-
type.co.uk/scripts/latlong.html

“给定目标点的距离并与起点保持距离”我尝试了java程序,但对我不起作用。我按照网站所述部署它。这是我的代码:

double dist = 150/6371;
double brng = Math.toRadians(90);
double lat1 = Math.toRadians(26.88288045572338);
double lon1 = Math.toRadians(75.78369140625);

double lat2 = Math.asin( Math.sin(lat1)*Math.cos(dist) + Math.cos(lat1)*Math.sin(dist)*Math.cos(brng) );
double a = Math.atan2(Math.sin(brng)*Math.sin(dist)*Math.cos(lat1), Math.cos(dist)-Math.sin(lat1)*Math.sin(lat2));
System.out.println("a = " +  a);
double lon2 = lon1 + a;

lon2 = (lon2+ 3*Math.PI) % (2*Math.PI) - Math.PI;

System.out.println("Latitude = "+Math.toDegrees(lat2)+"\nLongitude = "+Math.toDegrees(lon2));

但它显示的输出是:

a = 0.0
Latitude = 26.882880455723377
Longitude = 75.78369140625

我没有走错地方。请任何人都可以帮助我找出问题所在。

提前感谢。:-)


问题答案:

您的问题在第一行。

尝试

double dist = 150.0 / 6371.0;

原因是150/6371将其计算为0,因为它执行整数除法(而不是浮点除法)。即使结果html" target="_blank">存储在中也是如此double。您可以通过将两个数字之一设为浮点文字来强制进行浮点除法。



 类似资料:
  • 问题内容: 我的桌子有经度和纬度 所以我想要的是我要从页面传递两个经度和纬度。如何使用存储过程查找最近的地方?我没有太多帮助,所以我必须在这里询问 尝试过使用这个 但是我必须将其与表值进行匹配,所以我该如何实现呢? 问题答案: 您可以在SQL中使用与上面显示的查询类似的查询,其中和是要搜索的变量值。该和是从你的表的列名。顺便说一句,这称为Haversine公式,该常数用于获取以KM为单位的距离,而

  • 问题内容: 我有一张表,上面有: 城市纬度经度 而且我需要一个sql查询来知道所有城市都距离纽约100英里。 问题答案: 也许这对您有帮助:http : //www.scribd.com/doc/2569355/Geo-Distance-Search-with- MySQL 这是一个不错的介绍。或只是google for ,您会发现一些教程。 如果有可能并且想让它变得更简单,请直接使用支持距离查询

  • 问题内容: 这个问题已经在这里有了答案 : 8年前关闭。 可能重复: MySQL纬度和经度表设置 我知道这个问题可能已经被问过很多遍了,我已经进行了很多研究,并且在某些具体问题上需要帮助。 假设我有一个表单,用户输入了经度和纬度,并且我有一个数据库,该数据库的表包含经度和纬度,我将如何在该表中搜索半径15英里以内的一个或多个点? 问题答案: 您可以使用公式来计算两点之间的距离。例如: 您还可以执行

  • 我开始开发一个增强现实应用程序,在这个应用程序中,你可以在你的增强现实相机视图上放置屏幕上的一个图像,它停留在地球上的那个位置,这样其他人就可以通过增强现实相机视图看到它。为此,我知道我需要计算一些距离因子,以及方位角和仰角。 所以,我已经想出了如何将物体的图形发送到服务器并取回它,但如何将它放回相对于地球的原始位置。我知道我需要计算它: null 罗汉岛

  • 问题内容: 我有一个具有这样的结构的表: 我想计算给定坐标与数据库中保存的坐标之间的距离。 我当前的查询: 再加上一些的数据。 有什么方法可以优化该查询?进行连接大约需要13毫秒。 我还需要在此处添加一些以及用于分页的商店总数。 问题答案: 这里有一些想法,根据您的实际情况,其中一些想法可能不适用。 您可以将纬度和经度转换为弧度,并将其存储在行中。这将节省这些计算的成本(实际上,在存储数据时,成本

  • 我有一个onCreate的活动,它计算您的位置和附近的事件之间的距离,我使用lastNotnloceto获取当前设备位置并在谷歌地图上标记它,但我需要它来写经度和纬度它的方法之外用于计算距离。 我已经使用LocationManager来获取粗略的坐标,但这些坐标不够准确,对于距离不到半英里的东西来说,距离为50英里。我目前拥有它,因此将覆盖从LocationManager获得的经度和纬度,但它没有