gpt4 book ai didi

javascript - 将南向/东向 GPS 坐标转换为纬度/经度

转载 作者:行者123 更新时间:2023-11-29 17:18:53 27 4
gpt4 key购买 nike

我正在使用 JQuery Framework 开发网络应用程序,并使用 Geolocation 来确定我们的硬件站的位置以显示在 Google map 上。

在我们的数据库中,网站的位置以南/东格式存储。

我需要一种方法将南向/东向坐标转换为 Google map 可以理解的纬度/经度。

谁能告诉我解决这个问题的公式或最佳方法?

我搜索了南向/东向,但没有找到任何结果,更像是北向/西向等,即便如此,也没有太多信息..

编程部分我真的不需要太多帮助,只是关于如何执行这两种格式之间的转换的实际概念。

谢谢!

最佳答案

您的问题中没有足够的信息来回答它——但您可以自己找出这些信息。以下是我的处理方式。

向南和向东(以及向北和向西)只是测量距某个“零点”的距离。如果您知道零点是什么以及单位是什么,那么会变得更容易 -- 但如果您不知道,也不是不可能进行转换。

例如,亚特兰大市位于佐治亚州迪凯特以西 5 英里处(我假设在这个例子中正西,尽管它实际上是西南偏西 5 英里)。埃默里大学位于迪凯特以北 1.5 英里、以西 1.5 英里(这是一个近似值,但为了我们的目的,我们假设它是完全正确的)。

现在让我们假设一些事情:

  1. 我们被告知亚特兰大位于 north-0 和 west-8800。
  2. 我们被告知埃默里大学位于北 2640 和西 2640。
  3. 没有人记得迪凯特是网格的起源。
  4. 没有人记得距离代表的是什么单位(顺便说一句,是码)。

如果我们转到 Google map 并将纬度标记(可能必须在 Google map 实验室中启用)放在亚特兰大的零英里柱上,我们会发现它位于 33.75116,-84.38740。

如果我们对埃默里大学进行同样的操作,我们会发现它位于 33.7909,-84.3248。

然后我们可以进行以下数学计算,以求出经度与未知西进单位的比值:

abs( -84.38740 - -84.3248 ) = ( abs ( 8000 - 2640 ) ) * x
0.0626 = 5360 * x
x = 0.0626/5360 x = 0.000011679

从那里我们可以找到我们理论上未知的零点的经度,方法是将亚特兰大的西值乘以该因子,然后将其加上(因为亚特兰大位于本初子午线以西,因此具有负经度数)到亚特兰大的已知经度:

零经度 = -84.38740 + ( 8000 * 0.000011679 )
零经度 = -84.293968

将相同的逻辑应用于纬度,我们可以找到一个基于未知北向单位的因素:

abs( 33.75116 - 33.7909 ) = ( abs ( 2640 - 0 ) ) * y
0.03974 = 2640 * y
y = 0.03974/2640
y = 0.000015053

我们以同样的方式找到零纬度点(这在这个例子中很明显,因为亚特兰大位于北 0 - 但无论如何完成这些 Action 都是好的):

零纬度 = 33.75116 + ( 0 * 0.000015053 )
零纬度 = 33.75116

所以我们计算出的零点是 33.75116,-84.293968。 Google map 确认该纬度落在与已知点相关的预期位置。

然后我可以通过使用这个派生的零点和派生的比率找到任何其他北点和西点。例如,如果我们被告知某物是 north-3000 west-500,我们将得到它的纬度和经度,如下所示:

纬度 = 33.75116 + ( 3000 * 0.000015053 )
(添加是因为我们正在向北移动)
纬度 = 33.796319

经度 = -84.293968 - ( 500 * 0.000011679 )
(减去,因为我们正在向西移动)
经度 = -84.2998075

因此,north-3000 west-500 = 33.796319, -84.2998075

如果您的零点和计量单位没有被遗忘,那么您就已经取得了重大的领先优势。如果有,您可以使用此技术来推断它们——但您可能必须使用多重相关性对其进行微调,直到您获得可靠的值。

关于javascript - 将南向/东向 GPS 坐标转换为纬度/经度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14350429/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com