[gis] 지오코딩하는방법
안녕하세요. @huchu 입니다. 저는 요새 인문사회 전공자(feat. 양방알못) 분들께 gis 사용법을 알려드리고 있습니다. 공간데이터를 한번도 다뤄보지 않았으나, 그것을 다루면 무언가를 할 수 있겠다! 라고 막연하게 생각하고 계신 분들께 속성으로 프로그램 사용법과 간단한 분석 방법론을 가르치고 있습니다. 저 또한 gis 고수는 아니지만 제가 경험했던 것들을 토대로 도움이 될만한 것들을 위주로 알려드리고 있어요.
어제 첫 수업을 해서 계량지리학과 지도학에 대해 간략하게 설명해드리며 gis 사용의 맥락을 알려드리고자 했고. arcGIS 프로그램 실습을 했습니다. arcGIS 인터페이스와 공간데이터를 얻는 방법, 매우 간단한 데이터 시각화까지 해보았습니다.
기존 정부에서 공개한 데이터만을 가지고도 분석이 가능하면 좋을테지만, 연구를 하는 입장에서는 스스로 구축한 자료를 직접 입력해야하는 경우가 많을 것입니다. 예를 들어 인터뷰 대상자의 주소지를 지도에 표기하고 싶을 때 연구자 스스로 데이터를 만들어야 하는 것이지요.
그런 경우 두 가지 방법이 있습니다. 1. 지오코딩을 한다. 2. 직접 점을 찍는다.
주소 데이터를 -> 공간 데이터로 변환하는 것을 '지오코딩'이라고 부르는데요. 오늘은 제가 주로 사용하는 지오코딩 방법을 알려드릴까 합니다. 이렇게 올려서 수업 듣는 분들에게 스티밋 영업을 ㅋㅋ 해보면 간단하지만 하는 과정에서 자잘한 디테일이 필요한 작업입니다..ㅠㅠ 아래대로 따라하시면 빨리 터득할 수 있을 것 같습니다.
주소자료 구축/정제하기
예시로 서울 내 리바이스 매장을 지도에 표기해보고자 합니다. 인터넷에서 리바이스 매장 주소를 찾아보았습니다.
이걸 엑셀에 복붙하면 이렇게 자연의 모습 그대로 들어오는데요😓 이걸 주소정제에 사용하기 위해서는 편집이 필요합니다. 편집은 매우 귀찮지만 지속적인 노가다를 하다보면 속도가 붙습니다 ^^
지번 혹은 도로명 이후 주소들을 지워야 합니다. 건물명이나 층수는 읽어들이지 못하기 때문에 깔끔하게 지워줍니다. 주소명 안에 있는 괄호들을 모두 지웁니다. 거슬리는 띄어쓰기 등도 지웁니다. 형식도 번호, 주소, 우편번호 컬럼만 남도록 수정합니다. 물론 이외 본인이 구축한 자료들이 많겠지만 그것은 다른 파일에 잘 저장해두었다 작업 이후 붙이도록 합니다. 그러면....
주소자료에서 좌표값얻기
제가 애용하는 지오코딩 서비스입니다. 지번주소와 도로명주소 모두 변환이 가능하며, 경위도와 카텍(Katec) 두 개의 좌표계로 변환을 해줍니다. 회원가입만 하면 처음 10,000건까지는 무료입니다. 참고로 익스플로러를 사용해야 합니다.
여기에 위에서 구축한 엑셀을 불러와서 변환을 실행합니다. 참고로 엑셀 형식은 xls여야 합니다. 위에서 주소 정제를 열심히 해서 그런지 변환이 모두 성공적으로 이루어졌습니다. 상세 파일을 다운받으면 아래처럼 각 주소지의 경위도 좌표와 katec 좌표 값이 나옵니다.
다른 건물 정보 등도 나오지만 이것들은 필요가 없으니, 경위도 좌표값만 복사해서 새로운 엑셀시트를 만듭니다. 사실 그냥 정보를 살려둬도 괜찮겠지만, 이를 GIS 프로그램으로 불러올 때 한글이 모두 깨지기 때문에 편집작업이 한번 더 필요합니다🙊 한글로 된 주소명을 없애고, 컬럼 이름도 모두 영문으로 바꿔줍니다. 저의 경우 경도->x, 위도->y 같은 식으로 바꿔주었습니다. 이 파일은 csv로 저장합니다.
좌표를 점 데이터로 바꾸기
이제 좌표값을 얻었으니 arcMap을 실행해 이것을 불러오기만 하면 됩니다. 오늘은 경위도 좌표값을 이용할 예정입니다. 좌표계 파일(*.prj)이 있으면 좋겠지만 그게 찾기 귀찮거나 없거나 하는 경우도 있으니, 먼저 경위도 좌표계를 기준으로 한 서울시 행정구역 지도를 먼저 불러옵니다. 행정구역 지도는 서울시 열린데이터 광장(http://data.seoul.go.kr/openinf/dataset/datasetlist.jsp) 에서 다운받았습니다. 좌표계: WGS1984 라고 되어 있는 지도를 다운받으면 됩니다.
그 다음, 아래처럼 File > Add Data > Add XY Data 를 클릭해서, 저장해두었던 좌표계 파일을 불러옵니다.
불러오면 자동으로 x, y 값을 읽어들입니다. 그리고 좌표계 또한 미리 올려두었던 WGS1984를 기준으로 변환하도록 지정되어 있습니다. 이것은 필요하면 수정 가능합니다. 확인을 누르면 점으로 변환됩니다!
짠😎 리바이스 매장이 서울 어디어디에 있는지 한 눈에 보이는군요. 생각보다 매장이 많았네요. 여기에 올려진 점 데이터는 디폴트 폴더에 저장되어 있는 것이므로, 반드시 export를 해서 원하는 위치에 저장을 해줘야 합니다 ^^
지오코딩 작업은 이렇게 끝났고요! 각 점에 해당되는 정보는(위에서 한글이라 못불러들여던 정보) attribute table 에 필드를 추가해서 복붙작업을 하면 되겠습니다~
그럼 다양한 분야에서 활용하시길 바랍니다 ^^
Congratulations @huchu! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!