Convert from British coordinates to standard WGS84 nmea

自闭症网瘾萝莉.ら 提交于 2019-12-11 13:14:14

问题


I was posting similar post already. And I did get an answer in theory but I really need somone to help me.

So I am using this EXAMPLE for testing my GPS. What I want to do is how to get standard decimal values like 56,322415 for latitude and longitude. Because now I am getting 5304,254 value.

I need it in this form because I will use this for Google maps.

Can you check code and tell me what should I left out or how to convert it to WGS84 format.

Thank you.

EDIT:

Here is the picture that is explaining what I see when I run the program

And this is the one that is one the codeproject page:

EDIT 2:

So when I use THIS CONVERTER to see what decimal values I need to get when I have degrees I don't get the same values.

This is the value that I should get :

And this is the value that I get in the program:

46.64662666666667

Any idea why I can't get same conversion?


回答1:


the following line in the ParseNMEA function is the one that does the conversion from WGS84 to the British Ordinance Survey coordinates:

return Transform(deciLat, deciLon, height);

so if you remove that line and just use deciLat and deciLon values, you should be fine...

Addition after question update:

The code you're referring to does not take local number formats into account, so if this goes wrong, it might be because of erroneous decimal symbol matching.

You can use the following functions to do the conversion, presuming the input is always in the invariant culture (with decimal points):

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;

Additional info:

NumberFormatInfo: http://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.aspx




回答2:


It sounds like your problems are now solved, I do know that there were issues caused by different local number formatting which were raised and resolved in one of the comments:

http://www.codeproject.com/Articles/13577/GPS-Deriving-British-Ordnance-Survey-Grid-Referenc?msg=2106791#xx2106791xx

If you simply want decimal values for lat and lon, I guess you can throw the entire thing away now and just use the solution provided by Dirk! =o)

Alex



来源:https://stackoverflow.com/questions/10556435/convert-from-british-coordinates-to-standard-wgs84-nmea

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!