토지이음 지적도 API 연동하여 지도 앱에서 필지 정보 바로보기
토지이음 지적도 API를 지도 앱에 연동하면, 지도 위에서 필지를 클릭만 해도 지목, 면적, 지번, 개별공시지가 등 핵심 정보를 바로 볼 수 있습니다. 개발자 입장에서는 공공데이터포털에서 토지이음 관련 API를 활용 신청하고, 지도 API(카카오, 네이버, 구글 등)와 연동하는 방식으로 구현할 수 있습니다. 이 글에서는 실제 서비스에 적용할 수 있는 구체적인 절차와 팁을 중심으로 설명합니다.
토지이음 지적도 API 연동 개요
토지이음은 국토교통부에서 운영하는 토지이용·도시계획 정보 통합 플랫폼으로, 지적도, 토지이용계획, 도시계획시설 등 다양한 공간정보를 제공합니다. 지도 앱에서 필지 정보를 바로보기 위해서는 토지이음과 연계된 공공데이터포털의 지적도·토지임야정보 API를 활용하는 것이 일반적입니다.
API 연동의 핵심은 두 가지입니다. 하나는 지도 위에 필지 경계(지적도)를 레이어로 표시하는 것이고, 다른 하나는 사용자가 특정 필지를 클릭했을 때 해당 필지의 속성 정보(지목, 면적, 지번, 공시지가 등)를 팝업이나 인포윈도우로 보여주는 것입니다. 이 과정에서 좌표계 변환(예: WGS84 ↔ EPSG:5179)과 주소/지번 ↔ PNU 코드 매핑이 중요하게 작용합니다.
주요 API와 데이터 종류
- 국토교통부_연속지적도 API
필지 경계(도형)와 기본 속성(지번, 지목, 면적 등)을 제공하는 WMS/WFS 기반 API입니다. 지도 위에 필지 레이어를 올릴 때 사용합니다.
- 국토교통부_토지임야정보 조회 API
개별 필지의 상세 정보(지목, 면적, 지번, 공유지분, 개별공시지가 등)를 JSON/XML로 제공합니다. 필지 클릭 시 팝업에 띄울 데이터를 가져올 때 사용합니다.
- 국토교통부_지역지구별 토지이용규제정보 API
용도지역, 용도지구, 개발제한구역 등 토지이용 규제 정보를 제공합니다. 필지 정보 팝업에 함께 표시하면 활용도가 높아집니다.
- 국토교통부_개별공시지가정보서비스 API
특정 지번/지목에 대한 개별공시지가를 조회할 수 있습니다. 지가 정보를 필지 팝업에 포함할 때 유용합니다.
연동 시 고려할 기술 포인트
- 좌표계 일치: 지도 API(카카오/네이버/구글 등)는 대부분 WGS84(EPSG:4326)를 사용하지만, 국토교통부 API는 EPSG:5179(한국 중부원점)를 기본으로 하므로 좌표 변환이 필요합니다.
- PNU 코드 활용: 지번/도로명주소를 PNU 코드(지번코드)로 변환한 뒤, 이를 기준으로 토지임야정보 API를 호출하는 것이 안정적입니다.
- 캐싱 전략: 자주 조회되는 필지 정보는 DB나 캐시에 저장해 API 호출 횟수를 줄이는 것이 좋습니다.
- 보안: API 키는 프론트엔드에 노출되지 않도록 백엔드에서 호출하고, CORS 설정을 정확히 해야 합니다.
지도 앱에 토지이음 지적도 API를 연동해 필지 정보를 바로보기로 구현하려면, 크게 “지도 기반 필지 표시”와 “클릭 시 정보 팝업” 두 단계로 나눌 수 있습니다. 아래는 웹 기반 지도 앱을 기준으로 한 일반적인 흐름입니다.
1단계: 지도에 필지 레이어 표시하기
- 지도 API(예: 카카오 지도, 네이버 지도, 구글 지도)를 초기화합니다.
- 공공데이터포털에서 발급받은 연속지적도 API 키를 사용해 WMS/WFS 레이어를 지도에 추가합니다.
- 사용자가 지도를 이동하거나 확대/축소할 때, 현재 화면 범위에 해당하는 필지 경계만 로드되도록 범위 필터를 적용합니다.
- 필요에 따라 필지별로 지목에 따라 색상을 다르게 표시하거나, 지번/지목 레이블을 함께 표시합니다.
이 단계에서는 지도 위에 실제 필지 경계가 선으로 그려지고, 각 필지가 구분되어 보이게 됩니다. 이 상태에서 사용자가 특정 필지를 클릭하면 다음 단계로 넘어갑니다.
2단계: 필지 클릭 시 정보 팝업 띄우기
- 지도 클릭 이벤트를 감지하고, 클릭된 좌표를 기준으로 가장 가까운 필지의 PNU 코드를 추출합니다.
- 추출한 PNU 코드를 사용해 토지임야정보 조회 API를 호출하여 지목, 면적, 지번, 공유지분, 개별공시지가 등을 가져옵니다.
- 가져온 정보를 HTML/React/Vue 등 프론트엔드에서 인포윈도우(InfoWindow) 또는 커스텀 오버레이로 표시합니다.
- 필요 시 토지이용규제정보 API나 개별공시지가정보서비스 API를 추가로 호출해 용도지역, 규제사항, 지가 정보를 함께 보여줍니다.
이렇게 하면 지도 위에서 필지를 클릭하는 것만으로도 지목, 면적, 지번, 공시지가 등 핵심 정보를 바로 확인할 수 있습니다.
3단계: 사용자 경험(UX) 개선 팁
- 로딩 상태 표시: API 호출 시 “정보를 불러오는 중…” 같은 로딩 인디케이터를 표시해 사용자 기다림을 줄입니다.
- 최근 조회 캐싱: 최근에 조회한 필지 정보는 로컬 스토리지나 쿠키에 저장해, 다시 같은 필지를 클릭할 때 빠르게 보여줍니다.
- 필지 정보 요약: 팝업에는 지목, 면적, 지번, 공시지가 등 핵심 정보를 위주로 정리하고, “상세보기” 버튼으로 토지이음 원본 페이지로 이동할 수 있도록 합니다.
- 모바일 최적화: 모바일에서는 팝업이 화면을 너무 많이 차지하지 않도록, 스크롤 가능한 작은 패널 형태로 구성하는 것이 좋습니다.
토지이음 API 연동 시 주의사항
토지이음 지적도 API를 지도 앱에 연동할 때는 기술적·법적·운영 측면에서 몇 가지 주의할 점이 있습니다. 이를 미리 고려하면 개발 후에 예상치 못한 문제를 줄일 수 있습니다.
기술적 제약과 해결 방법
- 좌표계 불일치: 지도 API 좌표계(WGS84)와 국토교통부 API 좌표계(EPSG:5179)가 다르므로, 좌표 변환 라이브러리(Turf.js, Proj4 등)를 사용해 정확히 변환해야 합니다.
- API 호출 제한: 공공데이터포털 API는 일일 호출 횟수 제한이 있으므로, 캐싱과 배치 처리를 통해 과도한 호출을 피해야 합니다.
- 데이터 지연: 공공데이터는 실시간 업데이트가 아니므로, 지적도 변경이나 지가 갱신이 반영되기까지 다소 시간이 걸릴 수 있습니다.
- 모바일 성능: 모바일에서 필지 레이어를 너무 많이 표시하면 지도가 느려질 수 있으므로, 확대 수준에 따라 표시할 필지 수를 제한하는 것이 좋습니다.
- 이용허락 범위: 공공데이터포털에서 제공하는 API는 대부분 “이용허락범위 제한 없음”이지만, 상업적 서비스에 사용할 경우 이용 목적을 명확히 하고, 필요 시 제공기관에 문의하는 것이 안전합니다.
- 개인정보 보호: 토지임야정보에는 소유자 이름 등 개인정보가 포함될 수 있으므로, 개인정보 보호법에 따라 불필요한 정보는 노출하지 않도록 주의해야 합니다.
- 서비스 안정성: 공공 API는 일시적인 장애나 점검이 있을 수 있으므로, API 장애 시 대체 UI(예: “현재 정보를 불러올 수 없습니다”)를 준비하는 것이 좋습니다.
- 좌표 변환 오류: 좌표계를 잘못 설정하면 필지 위치가 크게 어긋납니다. 테스트 시 잘 알려진 지점(예: 서울시청)에서 좌표 변환 결과를 확인해 보는 것이 좋습니다.
- PNU 코드 매핑 실패: 지번/도로명주소를 PNU 코드로 변환하는 과정에서 오류가 발생할 수 있으므로, 변환 실패 시 사용자에게 재입력을 유도하거나, 지도 클릭으로 직접 필지를 선택할 수 있도록 합니다.
- API 응답 없음: API 키가 만료되었거나, 호출 URL이 잘못되었을 수 있으므로, 개발자 도구에서 실제 요청/응답을 확인해 보는 것이 중요합니다.
- 레이어 겹침 문제: 지도 배경과 필지 레이어가 겹쳐서 보기 어려운 경우, 레이어 투명도나 Z-index를 조정해 가독성을 높입니다.
다음은 대표적인 지도 API(카카오, 네이버, 구글)를 기준으로 토지이음 지적도 API를 연동할 때의 장단점을 비교한 표입니다. 실제 서비스에 맞는 지도 플랫폼을 선택할 때 참고할 수 있습니다.
지도 플랫폼 장점 단점 카카오 지도 – 국내 지도 정확도 높음
– POI, 로드뷰 등 부가 기능 풍부
– 토지이음 연동 사례가 많음– 해외 지역 정보 부족
– 상업용은 유료 요금제 필요네이버 지도 – 국내 지도 정확도 우수
– 검색 기능이 강력
– 모바일 최적화 잘 됨– 해외 지역 정보 제한적
– 일부 기능은 유료구글 지도 – 전 세계 커버리지 우수
– 다양한 스타일과 레이어 옵션 제공
– 개발 문서가 잘 정리됨– 국내 지도 정확도가 카카오/네이버보다 다소 낮을 수 있음
– 상업용은 비용이 높을 수 있음
선택 시 고려할 포인트
- 서비스 대상 지역: 국내 중심 서비스라면 카카오 또는 네이버 지도가, 해외까지 확장할 계획이 있다면 구글 지도가 유리합니다.
- 비용 구조: 무료 요금제로 충분한지, 아니면 상업용 유료 요금제가 필요한지 서비스 규모를 기준으로 판단해야 합니다.
- 개발 편의성: 각 지도 API의 문서와 예제 코드를 확인해, 개발팀의 기술 스택과 잘 맞는지 평가하는 것이 좋습니다.
- UX 우선순위: 검색 기능과 POI가 중요하다면 네이버, 지도 정확도와 부가 기능이 중요하다면 카카오, 글로벌 확장성이 중요하다면 구글을 우선 고려할 수 있습니다.
- 국내 부동산/개발 서비스: 카카오 지도 + 국토교통부 연속지적도 API + 토지임야정보 조회 API
- 국내 소규모 지도 앱: 네이버 지도 + 국토교통부 연속지적도 API + 개별공시지가정보서비스 API
- 글로벌 서비스 또는 해외 투자용: 구글 지도 + 국토교통부 연속지적도 API(국내 지역 한정) + 자체 토지 DB 연동
토지이음 관련 API는 공공데이터포털을 통해 대부분 무료로 제공됩니다. 공공데이터포털 회원 가입 후 해당 API를 활용 신청하면, 서비스 키를 발급받아 사용할 수 있습니다. 다만, 상업적 서비스에 사용할 경우 이용 목적을 명확히 하고, 필요 시 제공기관에 문의하는 것이 안전합니다.
Q. 지도 앱에서 필지 정보를 바로보기로 구현하려면 어떤 기술 스택이 필요한가요?
기본적으로는 지도 API(카카오, 네이버, 구글 등)와 JavaScript/TypeScript 기반 프론트엔드(React, Vue 등), 백엔드 서버(Node.js, Python, Java 등)가 필요합니다. 좌표 변환에는 Proj4.js, Turf.js 같은 라이브러리를, 데이터 처리에는 Axios, Fetch API 등을 활용하면 됩니다.
Q. 토지이음 API 연동 시 좌표계 문제는 어떻게 해결하나요?
국토교통부 API는 EPSG:5179(한국 중부원점) 좌표계를 사용하고, 지도 API는 WGS84(EPSG:4326)를 사용하므로 좌표 변환이 필요합니다. Proj4.js, Turf.js, OpenLayers 등의 라이브러리를 사용해 좌표를 정확히 변환하면 됩니다. 테스트 시 잘 알려진 지점에서 좌표 변환 결과를 확인해 보는 것이 좋습니다.
Q. 지도 앱에서 필지 클릭 시 어떤 정보를 보여주는 것이 좋나요?
사용자가 가장 궁금해하는 정보를 중심으로 보여주는 것이 좋습니다. 대표적으로는 지목, 면적, 지번, 개별공시지가, 용도지역, 용도지구, 개발제한구역 여부 등이 있습니다. 이 정보를 간결한 팝업이나 인포윈도우로 정리하고, “상세보기” 버튼으로 토지이음 원본 페이지로 이동할 수 있도록 하면 UX가 좋아집니다.