[우편번호검색] 우편번호검색 서비스를 만들기 위한 기본 정보
우편번호 검색 기능을 구현 하다 보니 우체국 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
[필터]
시도 / 시군구
위 내용에서 입맛에 맞게 고치시면 됩니다.
꼭 저렇게 해야 한다는 것이 절대 아닙니다.
요구사항에 맞게 수정해서 만드시면 되겠습니다. :)