개인적인 프로그램
위경도 이슈
삽지리
2019. 12. 10. 10:38
위도는 -90(남반구) ~ +90(북반구)
경도는 -180~+180까지임
위도는 문제가 없는데 경도가 문제
왼쪽으로 갈수록 경도가 작아지는데
-179에서 왼쪽으로 가면 -180 더 왼쪽으로 가면 +180이 된다.
그러므로 범위를 잡을때 sw(south west) ne(north east)를 기준으로 범위를 잡을때
한좌표가 범위안에 속하는지 여부에 대한 계산이 복잡해짐
보통은
-30, -30 ~ +40, 40
이런식으로 범위가 잡힐텐데
-30, +178 ~ 40 , -178
처럼 위도의 경우 w값이 양수고 east값이 음수인 경우도 발생함
그래서 아래와 같이 체크해야됨
function test(point,west,east){
if(west <= east){
if(point >= west && point<=east){
return true;
}else{
return false;
}
}else{
if(point >= west || point <= east){
return true;
}else{
return false;
}
}
}
console.log(test(1,2,3) == false);
console.log(test(1,-10,3) == true);
console.log(test(1,178,-178) == false);
console.log(test(179,178,-178) == true);
console.log(test(-179,178,-178) == true);