将纬度和经度转换为度数

时间:2015-01-17 04:20:45

标签: c# dictionary coordinates

我现在有一些位置的坐标,如纬度和经度,如此

Lat = 16.0490143029144 Lng = 108.197069205344

我想把它转换成这样的程度

enter image description here

我不知道该怎么做,需要你的帮助。

提前感谢。

1 个答案:

答案 0 :(得分:2)

            double lat = -86.0490143029144;
            double lon = -45.197069205344;

            string latDir = (lat >= 0 ? "N" : "S");
            lat = Math.Abs(lat);
            double latMinPart = ((lat - Math.Truncate(lat) / 1) * 60);
            double latSecPart = ((latMinPart - Math.Truncate(latMinPart) / 1) * 60);

            string lonDir = (lon >= 0 ? "E" : "W");
            lon = Math.Abs(lon);
            double lonMinPart = ((lon - Math.Truncate(lon) / 1 ) * 60);
            double lonSecPart = ((lonMinPart - Math.Truncate(lonMinPart) / 1) * 60);

            Console.WriteLine(
                Math.Truncate(lat) + " " + Math.Truncate(latMinPart) + " " + Math.Truncate(latSecPart) + " " + latDir             
                );

            Console.WriteLine(
                Math.Truncate(lon) + " " + Math.Truncate(lonMinPart) + " " + Math.Truncate(lonSecPart) + " " + lonDir
                );

添加对空值,零和数据超出范围的检查。