当前位置:  开发笔记 > 编程语言 > 正文

如何将坐标转换为纬度和经度?

如何解决《如何将坐标转换为纬度和经度?》经验,为你挑选了3个好方法。

我正在逆向工程运输可视化应用程序.我需要找出数据Feed来源的纬度.具体是XY 0,0是什么.我找到的唯一公式计算两点之间的距离,或轴承/距离的位置.

他们使用XY在非常遗留的应用程序中显示地图.XY处于FEET状态.

我有这些坐标:

47.70446615506108, -122.34469839507263: x=1268314, y=260622
47.774182540800616,-122.3412994737105:  x=1269649, y=286031
47.60024792289405, -122.32767331735774: x=1271767, y=222532
47.57012494413499, -122.29129609983679: x=1280532, y=211374

我需要找出纬度和经度x=0, y=0是什么以及找出这个的公式.

它们有两个数据源,一个比另一个更新.具有最新数据的Feed不包括纬度,经度,但仅包括XY.我试图根据它们更少的电流,更多信息(包括lat,lon)数据馈送来推断0,0是什么,所以我可以简单地将它们(更新的)数据馈送的XY坐标转换为纬度和经度.



1> MikeW..:

如果查看前两行数据,并减去纬度

47.7044 - 47.7741 = -0.06972 degrees

每纬度有60海里,每海里有6076英尺.

-.06972 * 60 * 6076 = 25,415 ft

减去两个'Y'值:

260662 - 286031 = 25,409 ft

事实上,这似乎证明X和Y值以英尺为单位.

例如,如果您取任何Y值,并转换回度数

260622 ft / ( 6076 ft/nm ) / ( 60 nm/degree ) = .71
286031 ft / 6076 / 60 = .78

因此,从纬度(47.70和47.77)中减去这些值会使您非常接近47度,这应该是您的y = 0点.

对于经度,赤道60海里,极点0英里.因此,每度的英里数必须乘以纬度的余弦,因此近似(47度)或.68.因此,每度不是6076 nm,而是大约4145 nm.

所以对于X值,

1268314 ft / ( 4145 ft/nm ) / ( 60 nm/degree ) = 5.10 degrees
1269649 ft / 4145 / 60 = 5.10 degrees

随着纬度增加(负值减少),这些X数字会增加,所以我相信你应该增加5.1度,这意味着X基点是关于

-122.3 + 5.1 = 117.2 West longitude for your x=0 point.

这大致是斯波坎WA的位置.

因此,给定X = 1280532,Y = 211374

Lat = 47 + ( 211374 / 6096 / 60 ) = 47.58
Lon = -117.2 - ( 1280532 / ( 6096 * cos(47.58)) / 60 ) = -122.35

这大致相当于给定的数据47.57和-122.29

方差可能是由于不同的投影 - X,Y系统可能是"扁平"投影而不是适用于球形投影的纬度/长度?所以要准确你可能还需要更高级的数学或那个开源库:)

这个问题也可能有用,它包含用于计算大圆距离的代码:

计算两个纬度 - 经度点之间的距离?(Haversine配方)


我真的不推荐这种方法,如果不使用正确的计算,那么错误在地面上有多大是非常令人惊讶的.

2> luapyad..:

有许多不同的坐标系.你需要找出lat/lon(例如WGS84等)和x/y的坐标系统(例如某种预测系统).

获得该信息后,您可以使用多种工具进行转换和操作.(免费开源编码库的一个例子)是proj4.


+1.值得一提的是proj4是免费的开源.

3> Jason S..:

问他们他们正在使用什么坐标系!(或者如果你从某个数据库获得了数据集,请查看数据集的元数据,它应该告诉你.否则我会对它的值持怀疑态度)

这很可能是状态平面坐标系之一.它们用于地球的局部区域(有点像UTM),并且经常用于测量.

您可以使用CORPSCON(或其他GIS程序; 如果你有GIS选项包,ExpertGPS将执行此操作,但它不是免费的.我忘记GPSBabel是否进行转换)在lat/long和任何状态平面坐标系之间进行转换.您还需要知道坐标所在的数据 .WGS84和NAD83非常接近,但NAD27不同.

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有