将wgs 84转换为lat / long

时间:2011-04-11 17:56:22

标签: android coordinate-transformation wgs84

您好 我在弄清楚如何在坐标类型之间进行转换时遇到了一些麻烦。我有一个坐标集列表,其中包含以下描述

“坐标总是在WGS84系统中。所有坐标都表示为整数 值x和y,其中坐标值乘以1,000,000。“

一个例子: 559262 6319512

好吧,我需要将它们转换为long / lat(和返回),这样我就可以在google maps(android)中使用它们。但这并不像接缝那么容易。我一直在寻找并找到一些代码来做到这一点,但它没有缝合工作正常。谁可以提供一些代码来做这件事?如果可能的话,我想避免一个大的地理框架(它必须在Android应用程序中使用)。

感谢。

最好的问候,肯尼斯

编辑: 我确实找到了自己的解决方案。我下载了这里描述的类: http://www.ibm.com/developerworks/java/library/j-coordconvert/

它工作正常。希望有人能发现它有用。

我很抱歉在完成我的作业之前发帖。感谢所有发布的人

2 个答案:

答案 0 :(得分:3)

如果您从Android上的GPS获取位置,您将获得一个持有Lat / Long为双倍的Location对象。要在Google地图上显示一个点,您需要使用以下方法将这些双精度值转换为GeoPoint对象:

GeoPoint location = new GeoPoint(
            (int) (mLocation.getLatitude()) * 1E6), 
            (int) (mLocation.getLongitude()) * 1E6)
                     );

希望有帮助。

答案 1 :(得分:1)

所有GPS系统都根据地球的WGS84模型给出其纬度和经度。除非你打算给一个国家的本地模型(例如英国OSGB36模型)提供纬度/经度,否则你应该很好地处理你所拥有的代表微度等级的坐标。即使在英国,海军部现在打印他们的航海图表相对于WGS84的纬度/经度,我预计军械测量地图将很快跟进,如果他们还没有这样做的话。