본문 바로가기
경영수업

엑셀로 위도, 경도값으로 거리 구하기 1

by 오르고오르다 2023. 11. 28.
728x90
반응형

회사일을 하다보면 엑셀로 뭐든 할 수 있을 것 같다. 위도, 경도 값을 이용해 거리구하는 것도 이런 자신감(?)에서 나온 아이디어였는데, 좀더 자세하게 얘기해보면 상권분석을 할때 관심있는 사업체(경쟁사)의 주소를 위도, 경도 값으로 변환해주고 이를 엑셀에서 거리를 구한다면 반경 몇 미터 안에 몇 개의 경쟁사가 있는지 계산할 수 있을 것 같다는 생각이 들어서였다. 

사실 요즘은 상권분석 서비스를 제공하는 업체들이 여럿 있지만, 내 입맛에 맞게, 원하는 걸 정확히 보여주는건 없기에 엑셀로 한번 만들어보려 했다. 
그런데 여기서 엑스값, 와이값을 알면 중학교때 배운 피타고라스 법칙을 이용해 직선거리를 구하면 되는거 아냐? 라고 물을 수 있는데, 지구는 둥글다... 그게 문제다.
사실 직선 거리값을 구해도 큰 차이는 없지만, 좀더 정확한 값을 구하고 싶다면 아래에 설명드릴 내용을 참고하시면 좋을 것 같다.

반응형

Step 1: 무엇을 알고 싶은지 설정

우선 나는 내가 병원 개원 컨설팅을 위해 특정 위치에서 반경 500m, 1km 내에 병원이 몇개나 있는지 알아보기 위한 툴을 만든다는 목표를 세웠다. 
많은 분들이 이러한 문제가 생기면 네이버 지도나 카카오맵을 켜서 반경을 쭉 그리고 눈으로 카운트를 하신다. 매번... 정확하지도 않고 매우 귀찮은 방법인데, 이를 엑셀로 해결하면 얼마나 편할까?
 

Step2: 데이터를 수집

병원, 의료 관련된 데이터는 정부에서 제공하는 공공데이터를 활용하면 좋은데, 다른 분야는 데이터를 수집하고 가공하는데 조금 어려울 수도 있다.
의료 관련 데이터는 공공데이터포털(http://www.data.go.kr/data)에서 구할 수 있는데, 우리는 주소, 위도값이 필요하기 때문에 '건강보험심사평가원_전국 병의원 및 약국 현황' 데이터를 활용하기로 한다.
데이터를 다운받아서 열어보면 지역별, 종별 코드에 따라 데이터가 정리되어 있는데, 그 중 우리에게 필요한건 X좌표, Y좌표값이다. 

시군구코드명우편번호주소x좌표y좌표
강남구6170서울특별시 강남구 봉은사로 612 (삼성동)127.06216637.5142863
인천미추홀구22128인천광역시 미추홀구 염창로 63 2~3,4층일부층 (주안동)126.68101537.4658616
김제시54393전라북도 김제시 중앙로 209 (신풍동)126.89594135.7985504
성남분당구13601경기도 성남시 분당구 불정로 268 (수내동, 동국대한방병원)127.12798637.3672695
은평구3423서울특별시 은평구 갈현로 24 2층 201,202호 (신사동)126.91044637.6000483
춘천시24329강원도 춘천시 춘천로 188-0  10층 (효자동)127.73531437.876266
송파구5790서울특별시 송파구 위례서로 248 3층 일부, 4층 (거여동)127.14226337.4866428
동대문구2582서울특별시 동대문구 천호대로 3 지하1,지상1~2층 (신설동)127.02436337.5753515
목포시58690전라남도 목포시 백년대로 326  (상동)126.42312134.8048156
전주덕진구54837전라북도 전주시 덕진구 송천중앙로 60-0  (송천동1가)127.11859335.8543951
인천중구22318인천광역시 중구 큰우물로 21 (용동, 가천대학교부속 길한방병원 본관 2층, 6층,7층, 9층,10층 )126.63130837.473775

 
Step 3 부터는 다음 글에 이어서 설명드리겠습니다. 막상 정리하려니 힘드네요...

728x90
반응형