-
위도, 경도에서 거리 범위 구하기개발로그/오늘뭐먹지 프로젝트 2021. 10. 8. 13:59
지금 프로젝트에서 구하려고 하는 범위내 음식점을 찾으려고 할 때 '범위'를 구하는 방법이 필요했다.
위에 그림을 보면 저 보라색 부분의 원을 어떻게 데이터를 처리 할 수 있을까에 대해 고민이 많았다.
그래서 우선 위도, 경도 좌표계에서의 공식이 있을꺼라 생각해 위키를 뒤져봤고
역시나 공식은 존재했다.
https://en.wikipedia.org/wiki/Geographical_distance
여기에는 많은 방법을 소개해주고 있는데 지구를 구형으로 가정하고 그 중에서 지도를 평면에 투영해 사용하는 Flat-surface Formulae를 사용하기로 했다. 유의사항은 경도는 극점에 특이점이 있고, 자오선+-180도에서 불연속성이 있다는데, 나는 우리나라에서 사용할 목적으로 앱을 만드는거니 굳이 신경쓰지 않아도 될 듯 했고, Critiation needed가 붙어있어 미심쩍긴하지만 작은 거리를 계산할 때는 괜찮은 정확성을 보여준다고 해서 이 공식을 채택하기로 했다.
Latitude, Longitude는 다음과 같다.
공식은 다음과 같다.
여기까진 좋았는데 이걸 이용해서 어찌 범위를 구해야 할 지 막막하더라. 그래도 계속해서 생각해봤는데 어처피 내가 구하려고 하는 것은 '범위' 내의 음식점이므로 위도나 경도의 변화값 중 하나를 0으로 잡고 생각해도 되지 않을까 하는 생각이 들었다.
위와 같은 생각 끝에 다음과 같이 식을 전개했다.
저 두번째 기호 말고는 프로그램 내에서 전부 알 수 있는 값이니까 위의 공식을 이용해서 범위를 구하면 될 것 같다.
일단 해보고 오차가 크다 싶으면 다른 공식을 사용해서 풀어봐야겠다.
'개발로그 > 오늘뭐먹지 프로젝트' 카테고리의 다른 글
MVC VS FLUX VS REDUX (0) 2021.10.13 백앤드 프로토타입 완성 (0) 2021.10.13 프로토타입 제작 (0) 2021.10.08 Layered Architecture (0) 2021.09.30 타입스크립트 (0) 2021.09.28