기존 지번주소가 도로명으로 변경되면서
왜 이렇게 불편한 주소체계를 써야하지? 라며 불만이 많았었는데..
도로명 주소를 써야하는 일이 생겨 DB를 작업하게 되었다..
주소 검색기를 만들건 아니지만...
지역별 데이터만들고 이를 이용해 데이터 맵핑을 해야할 일이 생겼기 때문이다
동별로 데이터를 묶어주고 싶었는데 하다보니 도로명까지 오게되었다
만들고 안쓸거 같긴하지만 혹시 몰라 작업에 들어갔다
도로명주소 사이트 : http://www.juso.go.kr/support/AddressBuild.do
현재 최신자료는 2016년 3월분이다
작업에 사용한 데이터는 1월분 근데 1월 전체랑 3월 전체 데이터가 다르다
변경된것도 다르고 이건뭐...
월마다 DB를 다지우고 새로 넣어야 하는건가 라는 생각이 든다
도로명DB 유통자료 레이아웃도 개선안이 나와있지만
실제로 파일은 전체주소로 제공된다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
많은 생각들이 교차되었다 하아... 뭐 작업은 이미 1월 기준으로 들어가있으니..
일단 도로명 주소 사이트에서 제공되는 데이터는 3가지로 분류된다
일단 시도, 시군구, 읍면동(법정동, 행정동) 을 정규화 해야 겠다는 생각이 들었는데..
제공되는 데이터가 너무 중복성이 강하기 때문이다...
그리고 제공되는 데이터로 법정동, 행정동 데이터를 넣으면 몇개의 시군구, 읍면동이 안들어가는 신기한 일도 발생하여...
행정코드관리 시스템에서 법정동 코드를 받아서 다시 작업했다....
행정표준코드관리시스템 : https://code.mogaha.go.kr/jsp/index.jsp
전체코드에 법정동 코드라고 있다
근데 도로명사이트에서도 전체 법정동코드를 받을 수 있으니 참고하면 된다
행정동코드관리 시스템에서는 신기하게 행정동 코드는 제공하지 않아...
행정자치부 에서 다운받아야 했다
http://www.moi.go.kr/frt/bbs/type001/commonSelectBoardList.do?bbsId=BBSMSTR_000000000052
행정동 코드는 주민등록주소코드 변경내역이라는 파일중 최신으로 받아서 사용했다
제공되는 데이터에도 행정동코드도 들어가 있긴하다
그래서 시도, 시군구, 법정동, 행정동 테이블을 만들었다
로마자도 제공해주니 같이 넣어주었다
이제 도로명코드를 정규화 하려고
도로명 번호, 도로명, 도로명 로마자로 하면 되겠지? 했는데 실패했다...
도로명번호가 중복이 있었다.. 망할...
같은 도로명번호에 다른 도로명이 있을 줄이야...
게다가 로마자도 스펠링이 한두개 다른게 존재 했다 뭥미....
일단 로마자가 다른건 넘기고..
어떻게 PK를 잡아야 좋을까 고민하다
시구군말고 시도, 도로명번호만 잡으면 되겠다 싶어 작업에 들어갔다
시구군코드를 넣을때보다 데이터가 적고
같은 도로명번호를 사용해도 문제가 없어 보였기 때문이다
일단 도로명 로마자는 나중에 업데이트 하기로 하고 작업을 시작했다.
전체 데이터는 1,059,372
로마자가 다른 데이터가 있으니... 일단 빼고 중복제거를 실행해봤다
도로명번호, 도로명 으로 중복을 제거하니 161,882
하지만 도로명번호가 중복이 발생하니.. 쓸수가 없다
시군구코드, 도로명번호, 도로명으로 중복을 제거하니 165,033
데이터가 늘어났지만 초기 데이터보다는 확실히 많이 줄었다
시도, 도로명번호, 도로명 으로 중복을 제거해봤더니
162,323 으로 확실이 줄어든걸 볼수 있었다. 근데.. 또 실패 했다...
같은 시도안에 같은 도로명번호를 가진게 또 있을 줄이야.!!!
망할...
이제서야.. 도로명 코드라고 안부르고 도로명 번호라고 하는 이유를 알것도 같았다..
도로명 코드는... 시군구(5)+도로명번호(7)를 사용한다 ㅋㅋㅋㅋㅋㅋㅋㅋ
결국 시도, 시군구, 도로명번호, 도로명, 도로명 로마자
이렇게 데이터를 넣도록 구성을 바꿔야 했다
도로명 코드 테이블에는 총 165,033개의 데이터를 넣고 로마자 업데이트를 진행했다
로마자가 다른게 대략 16 개정도 나왔다 - 2016/01기준
시도 | 시군구 | 번호 | 도로명 | 로마자명 | 중복 |
27 | 710 | 3341006 | 테크노상업로 | Technosangeop-ro | 2 |
28 | 110 | 4247469 | 하늘문화로47번길 | Haneulmunhwa-ro47beon-gil | 2 |
28 | 110 | 4247492 | 은하수로29번길 | Eunhasu-ro29beon-gil | 2 |
28 | 110 | 4247495 | 영종대로162번길 | Yeongjong-daero 162beon-gil | 2 |
28 | 110 | 4247496 | 모랫말로16번길 | Moraenmal-ro16beon-gil | 2 |
28 | 110 | 4247498 | 하늘달빛로64번길 | Haneuldalbit-ro 64beon-gil | 2 |
28 | 110 | 4247505 | 흰바위로92번길 | Huinbawi-ro92beon-gil | 2 |
28 | 110 | 4247521 | 영종순환로900번길 | Yeongjongsunhwan-ro900beon-gil | 2 |
41 | 570 | 3209146 | 약암로 | Yagam-ro | 2 |
44 | 150 | 1000015 | 당진영덕고속도로 | Dangjin Yeongdeok Expressway | 2 |
45 | 180 | 4640475 | 대평길 | Daepyeong-gil | 2 |
45 | 190 | 1000006 | 88올림픽고속도로 | 88Olympic Expressway | 2 |
48 | 880 | 1000006 | 88올림픽고속도로 | 88Olympic Expressway | 2 |
45 | 720 | 4016002 | 사선2길 | Saseon 2-gil | 2 |
48 | 125 | 4793706 | 현동12길 | Hyeondong 12-gil | 2 |
48 | 270 | 4823595 | 반월6길 | Banwol 6-gil | 2 |
수정좀 해주지...
테크노 상업로를 표기하는데
Technosangeop-ro, Techno sangeop-ro 두가지가 존재했다
나머지도 대략 비슷비슷하다 대문자->소문자 이런식이니 이건 직접 조정해야 했다..
경기도의 약암로는 Yagam-ro, Yakam-ro 라고도 되있다
전라북도 정읍시의 대평길은 Daepyeong-gil, Dupyeong-gil ...
네이버 어학사전에 Dupyeong-gil 이라고 나온다
88올림픽고속도로는
88olympic Expressway, 88Olympic Expresway, 88Olympic Expressway
밀양시의 반월 6길은 참 혼돈에 빠지게 만들었다..
Banwwol 6-gil, Banworan-gil 뭘 써야 할까 하다 네이년에 검색하니..
Banworan-gil 로 표기되서 보였다 근데 6번길이라고는 안나온다
Banwwol 6-gil로 쓰기로 했다
이 작업을 매번 업데이트할때마다 해줘야 되는건가?? 라는 생각에...
눈물이 아른거렸지만 일단
시도, 시군구, 법정동, 행정동, 도로명 테이블을 만들었다
법정동과 행정동은 도저히 1:1로 맵핑이 안되서 맨붕이 좀 오긴 했지만...
일단 시도, 시군구, 법정동, 행정동, 도로명 테이블을 넣었다
도로명 테이블에는 결국 중복되는 데이터들이 있는데
이걸 어떻게 분리해야하는가 하는 고민이 아직있다
고속도로같은경우는 각 시마다 같은 도로명으로 들어가 있으니 말이다
88올림픽고속도로는 8개나 들어가 있다
그냥 쓰는것도 나쁘진 않을거 같기도 하다
대충 마무리 하고 우편번호 테이블을 만들어야겠다
참고
도로명주소 : http://www.juso.go.kr/
행정표준코드 : https://code.mogaha.go.kr/jsp/index.jsp
행정자치부 : http://www.moi.go.kr
공간정보시스템 개발 블로그 : http://www.gisdeveloper.co.kr
biz-gis : http://www.biz-gis.com
PostgreSQL install PostgreSQL 설치 (mac os x) (0) | 2016.08.31 |
---|---|
PostGIS 2.0 Shapefile and DBF Loader Exporter 기능 사용하기 (windows) (0) | 2016.08.17 |
PostGIS Database 데이터베이스 생성 및 설정 (0) | 2016.08.15 |
도로명주소 전자지도 다운로드 (시도, 시군구, 법정동, 법정리, 기초구역 포함) (0) | 2016.08.10 |
[El Capitan]postGis 외부 접속 허용하기 (mac os x) (0) | 2016.07.04 |
댓글 영역