ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 도로명 주소 (아파트 주소) DB 구축
    부동산 2017. 9. 8. 20:22
    728x90
    반응형



    아파트 가격 예측 정보를 검색에서 찾게 하는 것 뿐만 아니라 

    아파트 실거래가/예측 정보를 지도에서 표시하기로 했다. 


    검색해보니 주소 검색 API를 사용하는 방법도 있긴 한데 

    (http://postcode.map.daum.net/guide)

    일단은 직접 구축을 해보기로 했다. 



    데이터 구축에 필요한 데이터는 아래 링크에서 제공하고 있다. 




    1. 도로명주소 안내 시스템 



    건물 DB 데이터를 다운로드 받으면

    아래와 같이 빌딩 정보와 지번 정보가 지역별로 들어있다. 




    아래 우정사업본부 데이터와 비교해서 뭘 사용할지 좀 고민했는데 

    이 데이터는 각자 테이블을 세 개 만들어야 하는 등 

    관리가 좀 더 복잡한 것 같아서 

    걍 우정사업본부 데이터로 일단 진행해보겠다. 



    2. 우정사업본부  (참고 블로그)



    위 링크에서 지역별 주소 DB를 다운로드 받아 

    압축을 풀면 아래같은 파일들이 들어있다. 




    total 624084
    drwxr-xr-x 2 root root     4096  9월  8 19:48 ./
    drwxr-xr-x 4 root root     4096  9월  8 02:56 ../
    -rw-r--r-- 1 root root 56991089  9월  8 02:57 강원도.txt
    -rw-r--r-- 1 root root 84385997  9월  8 02:57 충청남도.txt
    -rw-r--r-- 1 root root 74982371  9월  8 02:57 전라북도.txt
    -rw-r--r-- 1 root root 58616480  9월  8 02:57 충청북도.txt
    -rw-r--r-- 1 root root 16162681  9월  8 02:57 울산광역시.txt
    -rw-r--r-- 1 root root 36751356  9월  8 02:57 대구광역시.txt
    -rw-r--r-- 1 root root 18849587  9월  8 02:57 대전광역시.txt
    -rw-r--r-- 1 root root 20847656  9월  8 02:57 광주광역시.txt
    -rw-r--r-- 1 root root 31799997  9월  8 02:57 인천광역시.txt
    -rw-r--r-- 1 root root 54730891  9월  8 02:57 부산광역시.txt
    -rw-r--r-- 1 root root 93578576  9월  8 02:57 서울특별시.txt
    -rw-r--r-- 1 root root 24203124  9월  8 02:57 제주특별자치도.txt
    -rw-r--r-- 1 root root  4100312  9월  8 02:57 세종특별자치시.txt




    각 파일의 내용은 아래와 같다. 



    우편번호|시도|시도영문|시군구|시군구영문|읍면|읍면영문|도로명코드|도로명|도로명영문|지하여부|건물번호본번|건물번호부번|건물관리번호|다량배달처명|시군구용건물명|법정동코드|법정동명|리명|행정>동명|산여부|지번본번|읍면동일련번호|지번부번|구우편번호|우편번호일련번호

    25627|강원도|Gangwon-do|강릉시|Gangneung-si|강동면|Gangdong-myeon|421504460640|아래장작골길|Araejangjakgol-gil|0|138|0|4215034022002490000044744|||4215034022||모전리|강동면|0|248|01|1||

    25627|강원도|Gangwon-do|강릉시|Gangneung-si|강동면|Gangdong-myeon|421504460640|아래장작골길|Araejangjakgol-gil|0|261|0|4215034022008330000046825|||4215034022||모전리|강동면|0|833|01|0||





    이 파일들을 저장할 테이블을 생성하자. 테이블 구조는 아래와 같다. 





    현재 서버 및 DB 인코딩이 UTF-8이라 

    전체 파일을 UTF-8로 변환합니다. 

    변환하기 전에  각 파일의 맨 윗줄에 있는 컬럼 라인은 제거해줍니다. 



    iconv -f CP949 -t UTF-8 *.txt >> address.txt





    이렇게 하나로 합쳐진 파일은 

    아래와 같은 load data infile 문법을 사용하여 테이블로 밀어넣습니다. 




    LOAD DATA INFILE '/var/lib/mysql-files/address.txt'

         INTO TABLE `postal_address`

         FIELDS TERMINATED BY '|'

         LINES TERMINATED BY '\n';




    이제 아파트 주소를 포함한 

    전체 도로명 주소 테이블이 구축 완료되었습니다. 


    다음은 이렇게 수집한 아파트 정보를 다음 웹 사이트에 표시해보겠습니다. 



    부동산 분석 사이트 바로가기 





    728x90
    반응형
Designed by Tistory.