[우편번호검색] 우편번호검색 서비스를 만들기 위한 기본 정보
ITWeb/검색일반 2016. 10. 12. 17:47우편번호 검색 기능을 구현 하다 보니 우체국 DB로는 daily 변경 데이터 반영이 어려워 그냥 행자부 DB를 가지고 만드는게 좋겠다는 결론을 내렸습니다.
방법은)
1. 우체국 DB + 행자부 변경 DB to 우체국 DB
2. 행자부 DB + 행자부 변경 DB
================================
우편번호 검색 서비스를 만들기 위해서 추려본 내용입니다.
그냥 편하게 행자부나 우체국에서 제공하는 오픈API를 사용해도 되지만 직접 구축해보고 싶어하는 분들을 위해 공유해 봅니다.
[도로명주소 오픈API]
https://www.juso.go.kr/addrlink/devAddrLinkRequestSample.htm
[우체국 오픈API]
http://biz.epost.go.kr/customCenter/custom/custom_10.jsp
[우체국 DB 다운로드]
http://www.epost.go.kr/search/zipcode/cmzcd002k01.jsp
[도로/지번 주소와 우편번호]
도로/지번 주소는 행정자치부에서 관리
우편번호는 행자부 데이터를 받아와서 우체국에서 매칭 및 생성 관리 (일부 데이터는 누락 될 수 있음)
[우편번호 PK]
건물관리번호
[도로명]
우편번호 / 시도(영문) / 시군구(영문) / 읍면(영문) / 도로명(영문) / 지하여부 / 건물번호본 - 건물번호부 / (법정동명, 리명, 시군구동건물명)
지하여부 : 1 일 경우 지하 + 건물번호본 - 건물번호부 / (법정동명, 리명, 시군구동건물명) 로 지정 합니다. (지하 31)
[지번]
우편번호 / 시도(영문) / 시군구(영문) / 읍면(영문) / 법정동명 / 리명 / 산여부 / 지번본번 - 지번부번 / (시군구동건물명)
산여부 : 1 일 경우 산 + 지번본번 - 지번부번 / (시군구동건물명) 로 지정 합니다. (산109-7)
[사서함]
우편번호 / 시도 / 시군구 / 읍면 / 사서함명 / 시작사서함주번호 - 시작사서함부번호 / 끝사서함주번호 - 끝사서함부번호
사서함번호는 시작부터-끝까지 (전체) 로 표기 합니다. (1-2500 (전체))
[도로명 범위]
우편번호 / 시도(시도영문) / 시군구(시군구영문) / 읍면(영문) / 도로명(영문) / 지하여부 / 시작건물번호(주) - 시작건물번호(부) / 끝건물번호(주) - 끝건물번호(부)
시작건물번호-끝건물번호 표현
382, 0 - 384, 1 = 382, 383, 384, 384-1
[지번 범위]
우편번호 / 시도(영문) / 시군구(영문) / 읍면동(영문) / 리명 / 산여부 / 시작주번지 - 시작부번지 / 끝주번지 - 끝부번지
[인덱스 종류]
통합주소 DB
사서함 + 도로명 범위 + 지번 범위 DB
[검색 대상 필드]
도로명(법정동명 + 리명) + 건물번호
읍/면/동/리 + 지번
건물명 (시군구동건물명)
사서함 + 사서함번호
[통합검색]
시도 / 시군구 / 읍면 / 도로명 / 법정동명 / 리명 / 건물번호본 / 건물번호부 / 지번본번 / 지번부번 / 시군구동건물명
[화면출력]
우편번호 / 시도(영문) / 시군구(영문) / 읍면(영문) / 도로명(영문) / 지하여부 / 건물번호본 - 건물번호부 / (법정동명, 리명, 시군구동건물명)
우편번호 / 시도(영문) / 시군구(영문) / 읍면(영문) / 법정동명 / 리명 / 산여부 / 지번본번 - 지번부번 / (시군구동건물명)
우편번호 / 시도 / 시군구 / 읍면 / 사서함명 / 시작사서함주번호 - 시작사서함부번호 / 끝사서함주번호 - 끝사서함부번호
우편번호 / 시도(시도영문) / 시군구(시군구영문) / 읍면(영문) / 도로명(영문) / 지하여부 / 시작건물번호(주) - 시작건물번호(부) / 끝건물번호(주) - 끝건물번호(부)
우편번호 / 시도(영문) / 시군구(영문) / 읍면동(영문) / 리명 / 산여부 / 시작주번지 - 시작부번지 / 끝주번지 - 끝부번지
[정렬]
시도 / 시군구 / 우편번호 / score
[필터]
시도 / 시군구
위 내용에서 입맛에 맞게 고치시면 됩니다.
꼭 저렇게 해야 한다는 것이 절대 아닙니다.
요구사항에 맞게 수정해서 만드시면 되겠습니다. :)