南纬度分秒准确性
This commit is contained in:
@ -1021,18 +1021,26 @@ class Proj {
|
||||
function tenToThePowerOfN(n) {
|
||||
return Math.pow(10, n);
|
||||
}
|
||||
let isF = false
|
||||
if(degrees<0) {
|
||||
isF = true
|
||||
}
|
||||
degrees = Math.abs(degrees)
|
||||
let d = Math.floor(degrees); // 获取整度
|
||||
let pow1 = tenToThePowerOfN(getDecimalPlaces(degrees))
|
||||
let x = Math.floor((degrees - d) * pow1 * 60) / pow1; // 获取秒(3600分之一度)
|
||||
let m = Math.floor(x);
|
||||
|
||||
if(isF) {
|
||||
d = -d
|
||||
}
|
||||
let pow = tenToThePowerOfN(getDecimalPlaces(x))
|
||||
let s = Math.floor((x - m) * pow) / pow * 60; // 获取秒(3600分之一度)
|
||||
if (isDM) {
|
||||
return d + "°" + Number(x.toFixed(4)) + "'"; // 返回度分格式
|
||||
return d + "°" + (Math.floor(x * 10000) / 10000) + "'"; // 返回度分格式
|
||||
}
|
||||
else {
|
||||
return d + "°" + m + "'" + s.toFixed(2) + '"'; // 返回度分秒格式
|
||||
return d + "°" + m + "'" + Math.floor(s * 100) / 100 + '"'; // 返回度分秒格式
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user