将Southing / Easting GPS坐标转换为经度/纬度 [英] Converting Southing/Easting GPS coordinates to Latitude/Longitude

查看:579
本文介绍了将Southing / Easting GPS坐标转换为经度/纬度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个使用JQuery Framework的Web应用程序,并使用地理位置来确定我们的硬件站的位置,以显示在Google地图上。



在我们的数据库中,这些网站以Southing / Easting格式存储。



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



任何人都可以告诉我公式或解决这个问题的最佳方法吗?



我已经完成了Southing / Easting但没有出现,更像北/西等等,即使如此,没有太多的信息。



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



谢谢!

解决方案

您的问题中没有足够的信息来回答它 - 但您可能能够找出有关y的信息我们自己的。这是我将如何去做的。



南向和东向(以及向北和向西)只是测量与某个零点的距离。如果你知道零点是什么以及单位是什么,它会使它更容易



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

现在让我们假设几件事:


  1. 我们被告知亚特兰大是北0和西8800。 >我们被告知,埃默里大学是北2640和西2640。
  2. 没有人记得Decatur是电网的起源。

  3. >没有人记得距离代表的是什么单位(顺便说一句,这是码数)。

如果我们转到Google Maps并在亚特兰大的零英里邮局中放置一个纬度标记(可能必须在Google地图实验室中启用),我们发现它是33.75116,-84.38740。 如果我们对埃默里大学也这样做,我们会发现它在33.7909,-84.3248。

然后我们可以通过下面的数学计算来找到经度与未知的westing单位:

abs(-84.38740 - -84 .3248)=(abs(8000 - 2640))* x

0.0626 = 5360 * x

x = 0.0626 / 5360

x = 0.000011679



从那里我们可以通过将亚特兰大的西方价值乘以这个因子然后加上它来找到我们理论上未知的零点的经度(因为亚特兰大位于主子午线以西,因此有负经度数字)到亚特兰大的已知经度:
$ b $零经度= -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度 - 但无论如何都要经过运动):

<零> latit ude = 33.75116 +(0 * 0.000015053)

zero-latitude = 33.75116

因此我们的计算零点为33.75116,-84.293968。谷歌地图确认此纬度在已知点相对预期的位置下降。

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

latitude = 33.75116 +(3000 * 0.000015053 )

(因为我们正在向北移动)

纬度= 33.796319


经度= -84.293968 - (500 * 0.000011679)

(因为我们向西移动而减)

longitude = -84.2998075

因此,north-3000 west-500 = 33.796319,-84.2998075 b
$ b 如果您的零点和您的计量单位没有失去了历史,你有一个重大的开局。如果他们有,你可以使用这种技术来推断他们 - 但你可能需要用多个相关性来微调它,直到你有值得信赖的值。


I am developing a web application using JQuery Framework and am using Geolocation to determine the locations of our hardware stations to display on Google Maps.

In our database the locations of the sites are stored in Southing/Easting format.

I need a way to convert Southing/Easting coordinates to Latitude/Longitude that Google Maps can understand.

Can anyone please tell me the formula or the best way to approach this problem?

I have done searches on Southing/Easting however nothing came up, more like northing/westing etc and even then, not much info..

The programming part I don't really need much assistance just the actual concepts on how the conversion between these two formats can be performed.

Thanks!

解决方案

There's not enough information in your question to answer it -- but you may be able to figure out the information on your own. Here's how I would go about it.

Southing and easting (and northing and westing) are simply measuring a distance from a certain "zero-point". It makes it much easier if you know what the zero-point is, and what the units are -- but it's not impossible to convert if you don't.

For example, the city of Atlanta was founded exactly 5 miles west of Decatur, Georgia (I'm assuming due west for this example, although it was actually 5 miles west-by-southwest). And Emory University is 1.5 miles north and 1.5 miles west of Decatur (this is an approximation, but for our purpose, let's assume it's exactly right).

Now let's assume a few things:

  1. We have been told that Atlanta is north-0 and west-8800.
  2. We have been told that Emory University is north-2640 and west-2640.
  3. No one remembers that Decatur is the origin of the grid.
  4. No one remembers what unit is represented by the distances (it's yards, by the way).

If we go to Google Maps and drop a latitude marker (may have to be enabled in Google Maps labs) on the zero-mile post in Atlanta, we find it is at 33.75116, -84.38740.

And if we do the same for Emory University, we find that it is at 33.7909, -84.3248.

Then we can do the following math to find the ratio of longitude to the unknown westing units:

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

And from there we can find the longitude of our theoretically-unknown zero-point by multiplying Atlanta's westing value by this factor and then adding it (because Atlanta is west of the prime meridian, and thus has negative longitude numbers) to Atlanta's known longitude:

zero-longitude = -84.38740 + ( 8000 * 0.000011679 )
zero-longitude = -84.293968

Applying the same logic to latitude, we could find a factor based on the unknown northing units:

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

And we find the zero-latitude point the same way (which is obvious in this example because Atlanta was at north-0 -- but it's good to go through the motions anyway):

zero-latitude = 33.75116 + ( 0 * 0.000015053 )
zero-latitude = 33.75116

So our calculated zero-point is 33.75116, -84.293968. Google Maps confirms that this latitude falls where expected in relation to known points.

So then I could find any other of the northing and westing points by using this derived zero-point and the derived ratios. For example, if we were told something was north-3000 west-500, we'd get it's latitude and longitude as follows:

latitude = 33.75116 + ( 3000 * 0.000015053 )
(adding because we're moving north)
latitude = 33.796319

longitude = -84.293968 - ( 500 * 0.000011679 )
(subtracting because we're moving west)
longitude = -84.2998075

Thus, north-3000 west-500 = 33.796319, -84.2998075

If your zero-point and your units of measure haven't been lost to history, you've got a major head start. If they have, you can use this technique to deduce them -- but you may have to fine-tune it with multiple correlations until you have values that feel reliable.

这篇关于将Southing / Easting GPS坐标转换为经度/纬度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆