将纬度和经度转换为度数
Convert latitude and longitude to degree
我现在有一些位置的坐标作为纬度和经度,就像这样
纬度 = 16.0490143029144
Lng = 108.197069205344
我想把它转换成这样的学位
我不知道怎么做,需要你的帮助。
提前致谢。
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
);
添加对空值、零和超出范围的数据的检查。
我现在有一些位置的坐标作为纬度和经度,就像这样
纬度 = 16.0490143029144 Lng = 108.197069205344
我想把它转换成这样的学位
我不知道怎么做,需要你的帮助。
提前致谢。
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
);
添加对空值、零和超出范围的数据的检查。