c# - 从英国坐标转换为标准 WGS84 nmea

标签 c# windows gps coordinates nmea

我已经发布了类似的帖子。我确实在理论上得到了答案,但我真的需要有人帮助我。

所以我正在使用这个 EXAMPLE用于测试我的 GPS。我想要做的是如何获得标准的十进制值,如纬度和经度的 56,322415。 因为现在我得到了 5304,254 个值。

我需要这种形式,因为我会将其用于 Google map 。

你能检查代码并告诉我应该遗漏什么或者如何将它转换为 WGS84 格式吗?

谢谢。

编辑:

这是解释我运行程序时看到的图片 enter image description here

这是代码项目页面之一:

enter image description here

编辑 2:

所以当我使用 THIS CONVERTER看看当我有学位时我需要得到什么小数值我没有得到相同的值。

这是我应该得到的值:

enter image description here

这是我在程序中获得的值(value):

46.64662666666667

知道为什么我无法获得相同的转化率吗?

最佳答案

ParseNMEA 函数中的以下行是将 WGS84 坐标转换为英国条例测量坐标的行:

return Transform(deciLat, deciLon, height);

因此,如果您删除该行并仅使用 deciLat 和 deciLon 值,您应该没问题...

问题更新后添加:

您所指的代码没有考虑本地数字格式,因此如果出错,可能是因为错误的小数符号匹配。

您可以使用以下函数进行转换,假设输入始终采用不变区域性(带小数点):

string[] arrLon = strLon.Split(new char[]{'°', '"'}, StringSplitOptions.RemoveEmptyEntries);
double dblLon = double.Parse(arrLon[0]) + double.Parse(arrLon[1], new System.Globalization.NumberFormatInfo()) / 60;
double deciLon = arrLon[2] == "E" ? dblLon : - dblLon;

附加信息:

数字格式信息:http://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.aspx

关于c# - 从英国坐标转换为标准 WGS84 nmea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10556435/

相关文章:

C# 字典和高效内存使用

.net - 如何在 MS Windows 上加载 GTK Sharp 主题

c# - Visual Studio ClickOnce 部署是否自动包含必要的 .NET 框架?

java - GPS 位置追踪

android - 我如何进行文本查询并在 Android 中获取位置?

c# - 显示所有文件包含相同的部分类

c# - 无法将类型 System.Linq.IQueryable 隐式转换为 System Collections.Generic.IEnumerable

c# - 异步和等待 - 控制会立即从 MVC 操作方法返回吗?

java - 通过环境变量或 JVM 参数提供 key ?

android - 在文本文件android中写入GPS坐标