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

在Java中将经纬度转换为北向和东向?

黄淇
2023-03-14
问题内容

如何在Java中将经纬度转换为北向和东向?


问题答案:

我假设您的意思是英国OSGB向东和向北。这个三角函数背后的三角函数很有趣,但是您可以为此使用JCoord库,这很容易(如果占用大量CPU)。

为了跟进下面@DD的评论,JCoord有一个问题,因为在从Easting / Northing转换为Lat / Long时必须确保使用正确的基准,反之亦然。

使用@DD的代码:

LatLng latLng = new OSRef(394251,806376).toLatLng();

这将返回使用OSGB36基准的纬度/经度,即英国地图上使用的“平坦地球”近似值。这与大多数应用程序(包括街道地图)中使用的WSG84基准完全不同,后者将世界建模为一个球体(或多或少)。

为了转换为WGS84纬度/经度,您需要使其明确:

LatLng latLng = new OSRef(394251,806376).toLatLng();
latLng.toWGS84();

这将把经纬度调整为正确的基准。

请注意,javadoc中的OsRef.toLatLng()是关于这个非常明确:

使用OSGB36基准将此OSGB网格参考转换为纬度/经度对。请注意,根据应用程序的不同,可能需要将LatLng对象转换为WGS84基准面

坐标基准之间的转换并不简单。如果看起来很简单,则可能是您做错了。



 类似资料:
  • 问题内容: 请有人可以发布SQL函数将东/北转换为经度/纬度。我知道它非常复杂,但是我还没有找到任何在T-SQL中对其进行过文档记录的人。 此javascript代码有效,但我在将其转换为SQL时遇到了麻烦。 我有16,000个坐标,需要将它们全部转换为纬度/经度。 到目前为止,这是我所掌握的,但是并没有超越while循环。 问题答案: 我最终使用了以下javascript函数来转换值。我知道这不

  • 我正在一个应用程序上做一个项目,我需要根据我当前的位置发现其他设备。 这些设备我想过滤的方式,使他们被分类为北/南/东/西我的设备指向方向。 我读到一篇文章说把罗盘方位转换成纬度

  • 问题内容: 有谁知道用Java将地球表面位置从经纬度转换为UTM的方法(例如WGS84)?我目前正在查看Geotools,但是不幸的是解决方案并不明显。 问题答案: 根据一些示例代码,我能够使用Geotools 2.4获得一些有用的东西。

  • 问题内容: 我正在尝试将经纬度对转换为像素坐标。我发现了这种墨卡托投影,但我不理解代码。x_adj,y_adj变量是什么因素?当我在没有这些常量的情况下运行代码时,我的经/纬对就不在地图上,并且x和y像素坐标也不是我想要的。 问题答案: 这些变量从何而来 选择这些变量以使计算出的坐标与地图的背景图像匹配。如果知道地图的投影参数,则可以计算它们。但是我相信,它们很可能是通过反复试验而获得的。 如何计

  • 问题内容: 我具有纽约市纽约市的纬度/经度值;40.7560540,-73.9869510和地球的平面图像,即1000px×446px。 我希望能够使用Javascript将纬度/经度转换为X,Y坐标,该点将反映该位置。 因此,图像左上角的X,Y坐标将是;289、111 注意事项: 不用担心要使用哪种投影的问题,可以自己做假设,也可以按照自己知道的可行的方法进行操作 X,Y可以形成图像的任意一角

  • 问题内容: 给定纬度和经度,我们如何使用Javascript或Python将其转换为街道地址? 问题答案: 大多数人在99%的时间内将您链接到Google Maps的API。不错的答案。但是- 注意禁止用途,使用限制和使用条款!尽管许多分布式应用程序并未违反使用限制,但对于Web应用程序而言却是相当有限的。TOS不允许您将皮肤上的数据重新用于Google应用程序中。您不希望因Google发出的终止