[Spring]오늘의 직방 - 데이터삽입, 카카오맵

dh·2022년 9월 23일
0

공공데이터 포털

내 역할은 직방사이트 구현으로 그러기 위해서는 부동산 매매 정보가 필요했다.
그래서 공공데이터포털의 국토교통부_실거래가 정보로 데이터를 얻기로 했다.

https://www.data.go.kr/data/3050988/fileData.do


이런식으로 원하는 조건으로 엑셀이나 csv파일을 다운 받을 수 있다.

나는 일단 8월의 아파트(매매)와 아파트(전월세) 데이터만 삽입하기로 했다.
아파트, 단독, 연립다세대, 오피스텔, 매매, 전월세 파일 마다 컬럼이 조금씩 달라서 공통된 속성과 필요한 정보를 간추려서 저번에 데이터 모델링을 하였고, 이에 맞게 엑셀 파일 수정이 필요했다.
그리고 오라클의 데이터 임포트 기능을 이용해 엑셀파일의 데이터를 테이블에 Insert할 수 있다.

카카오맵

카카오맵은 API키를 발급 받고 가이드를 따라하면 아주 간단하게 일단 화면에 지도를 생성 할 수 있다.

https://apis.map.kakao.com/

문제점

일단 무지성으로 지도상에 Insert한 데이터 15000개 정도를 마커로 표시했다.
그 결과 맵이 엄청 버벅대고 렉이 걸렸다. 그리고 ERR_INSUFFICIENT_RESOURCES에러가 콘솔창에 계속 떴다. 대량의 데이터를 마커로 변환하면서 부하가 생겼기 때문이다.
마커를 다시 클러스터로 처리해봤다. 버벅거림은 줄었지만 ERR_INSUFFICIENT_RESOURCES는 여전했고 모든 데이터를 표시하진 못한것 같았다.

해결 방법

1.현재 지도영역에 해당하는 아파트만 가져오기
2.마커를 표시하는데 딜레이를 주기
첫번째 방법은 현재 지도영역의 좌표를 이용해야 하는데 내 데이터는 좌표 정보가 없고 도로명주소가 들어있어서 주소로 장소표시하기 기능을 이용하므로 불가능하다.
두번째 방법은 사용할 수 있을것 같다.

직방홈페이지를 다시 자세히 봤더니 지도의 확대 레벨에 따라 지역명을 표시했다. 일정 레벨 이상은 시도, 일정 레벨 이상은 시군구, 일정레벨 이상은 읍면동 나머지 이하는 아파트를 표시했다.
결국 일정 레벨 이하에서만 현재지도 영역의 아파트를 가져오는 첫번째 방법을 써야한다.
그래서 현재 지도의 중심 좌표로 주소를 얻어내어 쿼리를 보내 결과 리스트를 받아 다시 주소로 마커를 표시하는 방법을 생각했다.

행정동 데이터

직방처럼 지도레벨에 따른 지역명 표시를 위해서는 행정구역 좌표 데이터가 필요했다.
그래서 구글링을 해서 얻은 데이터들을 내가 필요에 맞게 짜집기하였다.
행정구역 테이블을 만들어 넣어주고 지도 정보 얻어오기로 현재 영역의 좌표 안에 있는 행정구역명을 커스텀 오버레이를 이용해 지도에 렌더링 하였다.

0개의 댓글