지오코더 설명서

기미나인 지오코더는 한국 주소 지오코딩 솔루션입니다. 주소를 지리적 좌표(위도와 경도)로 변환하며, 그 반대로 좌표를 주소로 변환합니다.

특징

  • 다양한 주소 형식 지원 (도로명 주소, 지번 주소)
  • 지오코딩 및 리버스 지오코딩
  • 간편한 API 사용
  • 파일 지오코딩
  • 공공데이터 지오코딩
  • 지도 시각화
  • 지도 공유
  • 매우 적은 리소스 사용
  • 초고속 처리
  • 온프레미스 호스팅 가능(Enterprise 제품)
  • 쉬운 설치와 데이터 업데이트

웹 서비스 사용법

계정 관리

회원가입

지오코더 서비스를 이용하기 위해 회원으로 가입하세요. 회원가입 시 자동으로 7일간의 Pro 회원 혜택이 제공됩니다.

회원가입 절차

1.

상단 네비게이션 바에서 "회원가입" 버튼을 클릭합니다.

2.

필수 정보(사용자명, 이메일, 비밀번호)를 입력합니다.

3.

"회원가입" 버튼을 클릭하여 가입을 완료합니다.

4.

가입 즉시 API 토큰이 발급되고, 7일간의 Pro 혜택이 적용됩니다. 발급된 토큰을 사용자 프로필에서 확인할 수 있으며 API 호출시 사용합니다.

Pro 혜택 안내

회원가입 시 자동으로 7일간의 Pro 회원 혜택이 부여됩니다. 이 기간 동안 제공되는 혜택은 다음과 같습니다:

  • 일일 100만건 지오코딩 및 리버스 지오코딩
  • 월간 1천만건 지오코딩 및 리버스 지오코딩
  • 모든 Pro 기능 사용 가능

7일 후에는 자동으로 일반 회원으로 전환됩니다.

  • 일일 1만건 지오코딩 및 리버스 지오코딩
  • 월간 10만건 지오코딩 및 리버스 지오코딩

로그인 및 로그아웃

로그인 방법
  1. 상단 네비게이션 바에서 "로그인" 버튼을 클릭합니다.
  2. 사용자명과 비밀번호를 입력합니다.
  3. "로그인" 버튼을 클릭하여 로그인을 완료합니다.
로그아웃 방법
  1. 상단 네비게이션 바에서 사용자명을 클릭합니다.
  2. 드롭다운 메뉴에서 "로그아웃"을 선택합니다.
비로그인 사용 제한 안내

비로그인 사용자는 데모 모드에서 한 번에 최대 100건까지만 지오코딩할 수 있습니다. 더 많은 주소를 처리하려면 로그인해주세요.

그리고, 지도 불러오기 기능을 사용할 수 없습니다.

비밀번호 재설정

  1. 로그인 페이지에서 "비밀번호를 잊으셨나요?" 링크를 클릭합니다.
  2. 가입 시 사용한 이메일 주소를 입력합니다.
  3. 이메일로 받은 링크를 통해 새 비밀번호를 설정합니다.

프로필 관리

프로필 확인 및 수정

로그인 후 프로필 페이지에서 개인 정보를 확인하고 수정할 수 있습니다.

프로필 접근 방법
  1. 상단 네비게이션 바에서 사용자명을 클릭합니다.
  2. 드롭다운 메뉴에서 "내 프로필"을 선택합니다.
수정 가능한 정보
  • 이름
  • 이메일 주소
  • 비밀번호
프로필 화면에서 확인 가능한 정보
  • API 사용 통계
  • 일일/월간 쿼터 사용량
  • Pro 회원 상태 및 만료일
  • API 토큰 정보

API 토큰 관리

API 토큰은 지오코더 API를 프로그래밍 방식으로 호출할 때 필요한 인증 수단입니다.

또한, 웹 페이지에서 지오코딩할 때에도 적용됩니다.

토큰 발급 및 재발급
  1. 프로필 페이지에서 "API 토큰 관리" 섹션으로 이동합니다.
  2. 토큰이 없는 경우 "토큰 생성" 버튼을 클릭합니다.
  3. 토큰을 재발급하려면 "토큰 재발급" 버튼을 클릭합니다.

토큰을 재발급하면 기존 토큰은 즉시 무효화됩니다. 신중하게 결정하세요.

토큰 보안 팁
  • 토큰은 암호처럼 안전하게 보관하세요.
  • 공개 저장소(GitHub 등)에 토큰을 포함하지 마세요.
  • 토큰 유출이 의심되면 즉시 재발급 받으세요.

API 사용량 확인

프로필 페이지에서 확인 가능한 통계
  • 일일 API 호출 / 일일 쿼터
  • 이번 달 API 호출 수
  • 일일 쿼터 사용 현황
  • 월별 쿼터 사용 현황
상세 사용 내역 보기

더 자세한 사용 내역을 보려면 프로필 페이지 하단의 "상세 사용 내역 보기" 버튼을 클릭하세요.

상세 내역에서 확인 가능한 정보:

  • 날짜/시간별 API 호출 내역
  • 엔드포인트별 사용량
  • 성공/실패 건수
  • 처리 시간

계정 삭제

더 이상 서비스를 이용하지 않으려면 계정을 삭제할 수 있습니다.

주의사항

계정 삭제는 되돌릴 수 없으며 모든 정보가 영구적으로 삭제됩니다.

  • 개인 계정 정보가 삭제됩니다.
  • API 토큰이 무효화됩니다.
  • 모든 API 사용 기록이 삭제됩니다.
  • 저장된 지도가 삭제됩니다.
계정 삭제 방법
  1. 프로필 페이지에서 페이지 하단으로 스크롤합니다.
  2. "계정 관리" 섹션에서 "회원 탈퇴" 버튼을 클릭합니다.
  3. 확인 대화상자에서 비밀번호를 입력하고 삭제 동의를 체크합니다.
  4. "회원 탈퇴" 버튼을 클릭하여 계정 삭제를 완료합니다.

지도 사용하기

지도 기본 기능
  • 확대/축소: 마우스 스크롤 또는 키보드의 +/- 버튼 사용
  • 이동: 드래그하여 지도 이동 또는 키보드의 화살표 버튼 사용
  • 팝업: 지도를 클릭하면 해당 위치의 주소 정보가 팝업으로 표시됩니다.
  • 행정구역 보기: 마우스를 이동하면 해당 위치의 행정구역 경계와 이름이 표시됩니다. 연도별 행정동, 시군구, 광역시도 영역을 확인할 수 있습니다.
지오코딩 결과 표시
  • 성공한 주소는 지도 위에 마커로 표시됩니다.
  • 마커를 클릭하면 상세 정보가 팝업으로 나타납니다.
  • 결과 목록에서 항목을 클릭하면 지도에서 해당 위치로 이동합니다.
  • 결과 목록에서 실패한 항목을 클릭하면 상세 정보가 팝업으로 나타납니다.
지도 레이어 변경

왼쪽 아래의 레이어 아이콘을 클릭하여 배경 지도를 변경할 수 있습니다:

  • 일반: 브이월드 일반 지도
  • 영상: 브이월드 항공사진 하이브리드
  • 오픈스트리트맵

지오코딩 사용하기

주소 찾기

여러 줄의 주소를 입력하여 지오코딩합니다. 즉시 지도로 위치가 표시됩니다.

주소 찾기 사용 방법
  1. 툴바의 "새 지도..." 메뉴에서 "주소 찾기" 버튼을 클릭합니다.
  2. 주소 입력창에 주소를 입력합니다. (한 줄에 하나씩)
  3. 또는 샘플 주소를 선택하여 불러옵니다.
  4. "지오코딩 실행" 버튼을 클릭합니다.
주소 입력 팁
  • 한 번에 최대 3,000개의 주소를 입력할 수 있습니다.
  • 비로그인 사용자는 최대 100건까지만 처리 가능합니다.

결과 필터링

결과 필터링

사이드바에서 결과를 필터링할 수 있습니다:

  • 성공: 성공적으로 지오코딩된 주소 표시/숨김 (완전하지 않은 주소의 대표 좌표는 성공으로 분류됩니다)
  • 실패: 지오코딩에 실패한 주소 표시/숨김
결과 목록 탐색
  • 목록에서 항목을 클릭하면 해당 위치로 지도가 이동합니다.
  • 실패한 항목의 툴팁으로 실패 원인을 확인할 수 있습니다.

파일 지오코딩

지원 파일 형식

  • CSV (쉼표 등의 문자로 구분된 값)
  • Excel (.xls, .xlsx)
  • TXT (텍스트 파일)
  • TSV (탭으로 구분된 값)
파일 포맷

파일 포맷을 신경쓰지 마세요:

  • 주소 컬럼이 포함된 파일을 업로드하세요. 이게 끝입니다.
  • 주소 정보를 포함하는 컬럼을 자동으로 판단합니다.
  • CSV 파일의 인코딩을 자동으로 판단합니다.
  • CSV 파일의 구분자는 쉼표, 탭, 세미콜론 등 다양하게 지정할 수 있습니다. 파일의 구분자를 자동으로 판단합니다.
샘플 파일

처음 사용하는 경우, 샘플 파일을 다운로드하여 테스트해 보세요:

파일 업로드 및 처리

파일 지오코딩 단계
  1. 툴바의 "새 지도..." 메뉴에서 "파일 지오코딩" 버튼을 클릭합니다.
  2. "파일 선택" 버튼을 클릭하여 지오코딩할 파일을 선택합니다.
  3. 출력 좌표계를 선택합니다. (기본값: EPSG:4326)
  4. "지오코딩 실행" 버튼을 클릭합니다.
  5. 처리가 완료될 때까지 기다립니다.
주소 힌트

"도포길 16"과 같은 행정구역이 생략된 주소가 포함된 파일이라면 주소 힌트를 사용하세요.

예를 들어, "전라남도 영암군"을 힌트로 지정하면 "전라남도 영암군 도포길 16"으로 처리됩니다.

파일 처리 제한
  • 일반 회원: 최대 1만건 처리 가능
  • Pro 회원: 1백만건의 대용량 파일 처리 가능
  • 비로그인 사용자: 최대 100건 처리 가능
파일 크기는 10MB를 초과할 수 없습니다.

결과 다운로드

지원되는 다운로드 형식
  • CSV: 콤마로 구분된 텍스트 파일 (UTF-8)
  • XLSX: 엑셀 파일
  • SHP: ESRI 쉐이프파일 (좌표가 부여된 데이터만)
  • GeoJSON: 웹 매핑용 표준 형식
  • KML: Google Earth 등에서 사용 가능
  • JSON: 개발자용 데이터 형식
QGIS

SHP, GeoJSON, KML 파일을 QGIS로 열 수 있습니다.

QGIS는 무료 오픈소스 GIS 소프트웨어로, 다양한 GIS 데이터를 시각화하고 분석할 수 있습니다.

SHP 파일은 .zip 형식으로 다운로드되며, 압축을 풀지 않고도 QGIS에서 바로 열 수 있습니다.

다운로드 방법
  1. 지오코딩 처리가 완료되면 툴바의 다운로드 버튼이 활성화됩니다.
  2. 원하는 형식의 다운로드 버튼을 클릭합니다.

SHP 파일은 성공적으로 지오코딩된 데이터만 포함합니다.

SHP 파일은 .zip 파일로 다운로드 됩니다. (압축을 풀지 않고 QGIS에서 열 수 있습니다)

컬럼 구성
  1. 업로드한 파일의 컬럼이 모두 포함됩니다.
  2. 지오코딩 결과 컬럼이 추가됩니다.
  3. 추가 컬럼: 성공여부, X좌표, Y좌표, 행정표준 시도 코드, 행정표준 시군구코드, 통계청 시도코드, 통계청 시군구코드, 행정표준 행정동코드, 행정표준 행정동명
  4. 다운로드 포맷을 선택할 때 "행정동 이력 포함" 옵션을 체크하면 행정동 이력이 포함됩니다.

공공데이터 지오코딩

공공데이터를 검색하고 지오코딩하는 기능을 제공합니다. 이를 통해 공공데이터를 보다 쉽게 지도 시각화하고 공간 분석에 활용할 수 있습니다.

공공데이터 지오코딩 단계
  1. 툴바의 "새 지도..." 메뉴에서 "공공데이터 검색" 버튼을 클릭합니다.
  2. 검색어를 입력하고 "검색" 버튼을 클릭하여 공공데이터를 검색합니다.
  3. 검색 결과 목록에서 원하는 데이터를 클릭합니다.
쉽죠?

사이드바 활용하기

결과

지오코딩 처리 결과를 목록 형태로 확인할 수 있습니다.

시각화 주의사항
  • 표와 시각화는 최대 1만건 까지만 표시됩니다.
  • 전체 결과를 확인하려면 파일을 다운로드하세요.
주요 기능
  • 결과 필터링: 성공/실패 체크박스로 원하는 결과만 표시
  • 항목 클릭: 목록의 항목을 클릭하면 지도에서 해당 위치로 이동
  • 상태 표시: 성공(초록색), 실패(빨간색) 등 시각적 구분
  • 상세 정보: 각 항목의 지오코딩 결과 정보 표시
결과 해석
  • 성공: 정확한 좌표가 부여된 경우
  • 실패: 지오코딩에 실패한 경우 (Pro 회원은 실패 원인 확인 가능)
  • 대표 좌표: 완전하지 않은 주소의 행정구역 대표 좌표
결과 활용 팁
  • 실패한 항목을 클릭하여 원인을 파악하고 주소를 수정할 수 있습니다.
  • 필터를 활용하여 성공한 결과만 보고 지도에서 분포를 확인하세요.
  • 목록에서 스크롤하여 많은 결과를 빠르게 탐색할 수 있습니다.

파일의 지오코딩 결과를 표 형태로 상세하게 확인할 수 있습니다.

표 기능
  • 전체 데이터 보기: 원본 데이터와 지오코딩 결과를 모든 컬럼으로 표시
  • 정렬: 컬럼 헤더를 클릭하여 데이터 정렬
  • 복사: 테이블 복사 버튼을 클릭하여 클립보드에 복사
표에서 확인 가능한 정보
  • 원본 파일의 모든 컬럼
  • 지오코딩 성공 여부
  • 변환된 X, Y 좌표
  • 행정구역 코드 및 명칭
  • Pro 회원: 행정동 이력 및 실패 원인
표 활용 팁
  • 좌표 컬럼을 정렬하여 지역 순서로 확인할 수 있습니다.
  • 표에서 행을 클릭하면 지도에서 해당 위치로 이동합니다.

차트

지오코딩 결과를 다양한 차트로 시각화하여 통계적 분석을 할 수 있습니다.

제공되는 차트
  • 성공률 차트: 전체 데이터 대비 성공/실패 비율을 파이 차트로 표시
  • 지오코딩 결과 분포: 결과 유형별(정확한 주소, 대표 좌표 등) 분포를 파이 차트로 표시
차트 활용
  • 데이터 품질 평가: 성공률을 통해 주소 데이터의 품질 확인
  • 지역별 분포 파악: 어느 지역에 데이터가 집중되어 있는지 확인
  • 결과 유형 분석: 정확한 주소와 대표 좌표의 비율 확인
차트 해석 팁
  • 성공률이 낮다면 주소 데이터를 검토하고 수정을 고려하세요.
  • 차트를 이미지로 저장하여 보고서에 활용할 수 있습니다.

시각화

지오코딩 결과를 다양한 방식으로 지도에 시각화할 수 있습니다.

시각화 유형
  • 포인트 맵: 각 위치를 개별 마커로 표시 (기본값)
  • 클러스터 맵: 인접한 포인트들을 그룹화하여 표시
  • 히트맵: 데이터 밀도를 색상으로 표시
  • 행정구역 맵: 행정구역별 데이터 개수를 색상으로 구분
시각화 활용 사례
  • 포인트 맵: 정확한 위치 확인이 필요한 경우
  • 클러스터 맵: 대량 데이터의 전체적인 분포 파악
  • 히트맵: 밀집도가 높은 지역 식별
  • 행정구역 맵: 행정구역별 통계 비교
범례
  • 자동으로 데이터 분포에 따라 최대 6개의 색상 구간으로 나누어 표시됩니다.
  • 각 구간의 최솟값과 최댓값이 표시되어 데이터 분포를 쉽게 이해할 수 있습니다.
  • 각 구간의 데이터 개수가 표시되어 해당 구간의 데이터 밀도를 파악할 수 있습니다.
범례 해석 가이드
  • 히트맵 범례: 색상이 진할수록 해당 지역의 데이터 밀도가 높음
  • 행정구역 맵 범례: 숫자가 클수록, 색상이 진할수록 해당 행정구역의 데이터 개수가 많거나 또는 색상 기준으로 선택한 컬럼의 합계가 큼
  • 클러스터 맵: 원의 크기와 숫자로 포함된 데이터 개수 표시
  • 색상 구분: 자동으로 데이터 분포에 따라 최적의 색상 구간을 설정
색상 기준
  • 기본 값은 "개수" 입니다. 행정구역 맵을 제외한 맵은 각 포인트마다 1개로 계산됩니다. 행정구역 맵은 각 행정구역에 포함된 데이터 개수를 기준으로 색상이 적용됩니다.
  • 원본 데이터의 컬럼과 지오코딩 결과 컬럼을 선택하여 시각화를 최적화할 수 있습니다.
  • 숫자 컬럼은 합산하여 계산됩니다.
  • 숫자가 아닌 컬럼을 선택하면 값에 따라 서로 다른 색상으로 구분되어 시각화됩니다.
색상 척도
  • 시각화는 최솟값부터 최댓값까지 6개 구간으로 나누어 각 구간에 색상 적용.
  • 분위 수: 데이터 순위를 기준으로 6개 구간으로 나누어 색상을 적용합니다. 이는 상대 평가 방식과 유사합니다.
  • 일정 간격: 전체 데이터 범위를 일정한 6개 구간으로 나누어 색상을 적용합니다. 이는 절대 평가 방식과 유사합니다.
색상 팔레트
  • 히트맵과 행정구역 맵에 적용됩니다.
불투명도
  • 0.0: 완전히 투명한 상태로 배경 지도가 보입니다.
  • 1.0: 불투명한 상태로 배경 지도를 완전히 가립니다.
  • 기본 값은 0.8로 설정되어 있습니다.
시각화 선택 가이드
  • 데이터 개수가 적은 경우 (100건 미만): 포인트 맵 사용
  • 데이터 개수가 많은 경우 (1000건 이상): 클러스터 맵이나 히트맵 사용
  • 밀집 지역 분석이 목적인 경우: 히트맵 사용 (범례로 밀도 수준 확인)
  • 지역별 비교가 목적인 경우: 행정구역 맵 사용 (색상 척도로 수치 비교)
  • 색상이 겹쳐 보이기 어려운 경우: 불투명도를 조정하거나 다른 시각화 방식 선택

지도 불러오기

이전에 처리한 지오코딩 결과를 다시 불러와서 확인할 수 있습니다.

지도 불러오기 기능
  • 사용 내역 확인: 최근 지오코딩 처리 내역을 시간순으로 표시
  • 빠른 접근: 카드를 클릭하여 즉시 해당 결과를 지도에 표시
  • 처리 정보 확인: 성공/실패 건수, 처리 시간 등 요약 정보 제공
  • 검색 기능: 특정 파일이나 작업을 빠르게 찾기
보관 기간
  • 일반 회원: 3일간 보관
  • Pro 회원: 구독 기간 동안 보관
  • 비로그인 사용자: 사용 내역 저장되지 않음
활용 팁
  • 정기적으로 필요한 지오코딩 결과를 로컬에 다운로드하여 백업하세요.
  • 협업 시 동료와 지오코딩 결과를 공유할 때 유용합니다. url을 공유하세요.

Pro 회원 혜택

Pro 회원과 일반 회원 비교

기능 일반 회원 Pro 회원
일일 API 호출 한도 10,000건 1,000,000건
월간 API 호출 한도 100,000건 10,000,000건
파일 지오코딩 제한 최대 1만건 최대 백만건
행정동 이력
주소 오류(지오코딩 실패 이유)
파일 보관 기간 3일 구독 기간
기술 지원 게시판을 통한 지원 게시판, 이메일, 전화 지원
지오코딩에 성공한 경우만 사용량에서 차감됩니다.

Pro 시험 기간 및 만료

무료 Pro 시험 기간
  • 신규 회원 가입 시 자동으로 7일간의 Pro 회원 혜택이 제공됩니다.
  • 시험 기간 동안 모든 Pro 기능을 제한 없이 사용할 수 있습니다.
  • 시험 기간은 프로필 페이지에서 확인할 수 있습니다.
유료 Pro 구독 기간
  • 결제일로부터 1년간 Pro 회원 혜택이 제공됩니다.
  • 구독 기간 동안 모든 Pro 기능을 제한 없이 사용할 수 있습니다.
  • 구독 기간은 프로필 페이지에서 확인할 수 있습니다.
만료 시 변경사항
  • Pro 시험 기간이 종료되면 자동으로 일반 회원으로 전환됩니다.
  • 일일/월간 API 호출 한도가 일반 회원 수준으로 조정됩니다.
Pro 혜택을 계속 이용하시려면 관리자에게 문의하세요.

API 사용법

소개

지오코더 API는 주소를 지리적 좌표로 변환하고, 좌표를 주소로 변환하는 기능을 제공합니다.

이 API를 통해 다음과 같은 기능을 사용할 수 있습니다:

  • 주소 지오코딩 - 주소를 위도/경도 좌표로 변환
  • 역 지오코딩 - 위도/경도 좌표를 주소로 변환
  • 영역 검색 - 주어진 코드로 행정구역 영역(광역시도, 시군구, 행정동)을 찾아 형상을 추출합니다
  • 주어진 좌표에 대한 행정동을 조회합니다.
  • 토큰 사용량 통계 확인
  • 행정동 이력 조회

인증

모든 API 요청은 토큰 기반 인증을 사용합니다. 회원 가입시 토큰이 발급됩니다. 내 프로필에서 발급된 토큰을 확인하세요.

토큰은 비밀번호와 같이 안전하게 보관하세요. 토큰에 일일 사용량과 월간 사용량이 할당됩니다.

토큰을 API 요청 시 전달해야 합니다. 인증되지 않은 요청은 거부됩니다.

예: ?token=YOUR_API_TOKEN

외부에 URL이 노출되는 서비스에서 API를 호출할 때는 token parameter 대신 HTTP 헤더에 Authorization: YOUR_API_TOKEN 형식으로 전달할 수 있습니다.

주소 지오코딩

주소를 지리적 좌표(위도, 경도)로 변환합니다.

GET 지오코딩

GET /geocode

요청 파라미터

파라미터 타입 필수 설명
q string 하나 이상의 주소를 포함하는 문자열. 각 주소는 줄바꿈(\n)으로 구분
token string API 인증 토큰
최대 3천건까지 지오코딩할 수 있습니다. 더 많은 주소를 처리하려면 POST 방식의 API를 사용하세요.
줄바꿈(\n)은 URL 인코딩 시 %0A로 변환됩니다.

curl 요청 예제

curl 'https://geocode-api.gimi9.com/geocode?q=서울특별시 송파구 송파대로8길 10%0A김제 온천길 37&token=YOUR_API_TOKEN'
url encoding을 사용하여 주소에 포함된 공백과 특수 문자를 인코딩해야 합니다. 예를 들어, 공백은 %20으로 인코딩됩니다.
curl 'https://geocode-api.gimi9.com/geocode?q=%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C%20%EC%86%A1%ED%8C%8C%EA%B5%AC%20%EC%86%A1%ED%8C%8C%EB%8C%80%EB%A1%9C8%EA%B8%B8%2010%0A%EA%B9%80%EC%A0%9C%20%EC%98%A8%EC%B2%9C%EA%B8%B8%2037&token=YOUR_API_TOKEN'

python 요청 예제

import requests

params = {
    "q": "서울특별시 송파구 송파대로8길 10\n김제 온천길 37", # 줄 바꿈으로 주소를 구분하세요.
    "token": "YOUR_TOKEN",  # 여기에 실제 토큰을 입력하세요
}
url = "https://geocode-api.gimi9.com/geocode"
response = requests.get(url, params=params)
print(response.json())
            

응답 예제

{
  "document_id": null,
  "document_name": null,
  "total_time": 0.0036127567291259766,
  "total_count": 2,
  "success_count": 2,
  "hd_success_count": 2,
  "fail_count": 0,
  "results": [
    {
      "inputaddr": "서울특별시 송파구 송파대로8길 10",
      "success": true,
      "errmsg": "",
      "addressCls": "ROAD_ADDRESS",
      "x_axis": 127.1291683066244,
      "y_axis": 37.47688998121118,
      "z": "05813",
      "h1_nm": "서울",
      "h23_nm": "송파구",
      "hd_nm": "장지동",
      "rm": "송파대로8길",
      "h1_cd": "11",
      "h23_cd": "11710",
      "hd_cd": "1171064600",
      "hd_history": [
        {
          "hd_cd": "1171064600",
          "hd_nm": "장지동",
          "hd_en": "Jangji-dong",
          "from_yyyymm": "202305",
          "to_yyyymm": "202507"
        }
      ],
      "kostat_h1_cd": "11",
      "kostat_h2_cd": "11240",
      "bld_mgt_no": "1171010900102520004000001",
      "bm": [
        "송파파인13",
        "1304동"
      ]
    },
    {
      "inputaddr": "김제 온천길 37",
      "success": true,
      "errmsg": "인근 도로명 주소: 37-1",
      "addressCls": "ROAD_ADDRESS",
      "x_axis": 127.84423028792409,
      "y_axis": 37.70551640104829,
      "z": "25112",
      "h1_nm": "강원",
      "h23_nm": "홍천군",
      "hd_nm": "북방면",
      "rm": "온천길",
      "h1_cd": "51",
      "h23_cd": "51720",
      "hd_cd": "5172038000",
      "hd_history": [
        {
          "hd_cd": "5172038000",
          "hd_nm": "북방면",
          "hd_en": "Bukbang-myeon",
          "from_yyyymm": "202306",
          "to_yyyymm": "202507"
        },
        {
          "hd_cd": "4272038000",
          "hd_nm": "북방면",
          "hd_en": "Bukbang-myeon",
          "from_yyyymm": "202305",
          "to_yyyymm": "202305"
        }
      ],
      "kostat_h1_cd": "32",
      "kostat_h2_cd": "32510",
      "bld_mgt_no": "",
      "bm": []
    }
  ]
}

POST 지오코딩

대량의 주소를 한 번에 지오코딩할 수 있는 POST 방식의 API입니다.

GET 방식과 동일한 기능을 제공하지만, 요청 본문에 JSON 형식으로 주소 목록을 전달합니다. GET 방식에 비해 더 많은 주소를 한 번에 처리할 수 있습니다.

POST /geocode

요청 파라미터

파라미터 타입 필수 설명
data object 지오코딩할 주소 목록
token string API 인증 토큰

요청 본문 예제

{
  "q": [
    "서울특별시 송파구 송파대로8길 10",
    "김제 온천길 37",
    "강원 춘천시 남산면 서천리 산111"
  ]
}

curl 요청 예제

curl 'https://geocode-api.gimi9.com/geocode' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: YOUR_TOKEN' \
  --data-raw $'{  "q": [    "서울특별시 송파구 송파대로8길 10",    "김제 온천길 37",    "강원 춘천시 남산면 서천리 산111"  ]}'
        

python 요청 예제

import requests
import json

url = "https://geocode-api.gimi9.com/geocode"
headers = {
    "Content-Type": "application/json",
    "Authorization": "YOUR_API_TOKEN"  # 여기에 실제 토큰을 입력하세요
}
data = {
    "q": [
    "서울특별시 송파구 송파대로8길 10",
    "김제 온천길 37",
    "강원 춘천시 남산면 서천리 산111"
    ]
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
            

응답 형식

GET 지오코딩과 동일한 응답 형식입니다.

응답 필드 설명

필드 타입 설명
total_time float 총 처리 시간 (초)
total_count integer 총 요청 주소 개수
success_count integer 성공한 주소 개수
hd_success_count integer 성공한 행정동 개수
fail_count integer 실패한 주소 개수
results array 지오코딩 결과 목록

results array의 객체 필드

필드 타입 설명
inputaddr string 입력 주소
success boolean 지오코딩 성공 여부
errmsg string 오류 메시지
addressCls string 주소 유형
x_axis float 경도 (EPSG:4326) (wgs84)
y_axis float 위도 (EPSG:4326) (wgs84)
z string 우편번호
h1_nm string 광역시도 이름
h23_nm string 시군구 이름
hd_nm string 행정동 이름
rm string 도로명
h1_cd string 광역시도 코드
h23_cd string 시군구 코드
hd_history array 행정동 이력
kostat_h1_cd string 통계청 광역시도 코드
kostat_h2_cd string 통계청 시군구 코드
bld_mgt_no string 건물 관리 번호
bm array 건물명 목록

역 지오코딩

지리적 좌표(위도, 경도)를 주소로 변환합니다.

도로명 주소와 지번 주소를 모두 반환합니다. 도로명 주소가 없는 경우 지번 주소만 반환됩니다.

GET /reverse_geocode

요청 파라미터

파라미터 타입 필수 설명
x float 경도 좌표 (EPSG:4326)
y float 위도 좌표 (EPSG:4326)
token string API 인증 토큰

요청 예제

GET https://geocode-api.gimi9.com/reverse_geocode?x=127.1146829&y=37.5138498&token=YOUR_API_TOKEN

curl 요청 예제

curl 'https://geocode-api.gimi9.com/reverse_geocode?x=127.1146829&y=37.5138498&token=YOUR_API_TOKEN'

python 요청 예제

import requests

params = {
    "x": 127.1146829,
    "y": 37.5138498,
    "token": "YOUR_API_TOKEN"  # 여기에 실제 토큰을 입력하세요
}
url = "https://geocode-api.gimi9.com/reverse_geocode"
response = requests.get(url, params=params)
print(response.json())
        

응답 예제

{
  "road_addr": {
    "ADR_MNG_NO": "11710109416935500001000000",
    "yyyymm": "MST.46000",
    "address": "서울특별시 송파구 송파대로8길 10",
    "success": true,
    "geom": "POLYGON ((127.127840 37.477157, 생략...))",
    "errmsg": ""
  },
  "jibun_addr": {
    "PNU": "1171010900108570000",
    "yyyymm": "202404",
    "address": "서울특별시 송파구 장지동 857번지",
    "success": true,
    "geom": "POLYGON ((127.127839 37.477158, 생략...))",
    "errmsg": ""
  },
  "success": true
}

응답 필드 설명

필드 타입 설명
road_addr object 도로명 주소 정보(도로명 주소가 있는 경우에만 포함)
jibun_addr object 지번 주소 정보
success boolean 전체 요청 성공 여부
road_addr / jibun_addr 객체 필드
필드 타입 설명
ADR_MNG_NO string 건물 관리 번호 - 도로명 주소에만 해당
PNU string PNU (지번 주소 관리 번호) - 지번 주소에만 해당
yyyymm string 데이터 기준 년월 (YYYYMM 형식, 예: 202306)
address string 전체 주소 (도로명 또는 지번)
success boolean 리버스 지오코딩 성공 여부
geom string WKT 형식의 지오메트리 정보 (예: POINT(X Y))
errmsg string 오류 메시지

코드로 행정구역 형상 검색

주어진 코드로 행정구역 영역(광역시도, 시군구, 행정동)을 찾아 지리적 형상 정보를 반환합니다.

특정 년월의 행정구역 정보를 조회할 수 있으며, 행정구역 경계의 WKT(Well-Known Text) 형식의 지오메트리 정보를 제공합니다.

GET /region

요청 파라미터

파라미터 타입 필수 설명
type string 영역 유형. 기본값은 "hd" (행정동). 가능한 값: "h1" (광역시도), "h23" (시군구), "hd" (행정동)
code string 행정구역 코드. 콤마로 구분하여 여러 개 입력 가능. 테스트용 기본값은 "1114055000" (명동)
yyyymm string 아니오 특정 년월(YYYYMM)의 행정구역을 조회. 생략시 현재 기준 데이터를 조회합니다.
token string API 인증 토큰

요청 예제

GET https://geocode-api.gimi9.com/region?type=hd&code=1114055000&yyyymm=202506&token=YOUR_API_TOKEN

curl 요청 예제

curl 'https://geocode-api.gimi9.com/region?type=hd&code=1114055000&yyyymm=202506&token=YOUR_API_TOKEN'

python 요청 예제

import requests

params = {
    "type": "hd",           # 행정동
    "code": "1114055000,4111760000'",  # 명동, 수원 광교1동
    "yyyymm": "202506",    # 2025년 6월
    "token": "YOUR_API_TOKEN"  # 여기에 실제 토큰을 입력하세요
}
url = "https://geocode-api.gimi9.com/region"
response = requests.get(url, params=params)
print(response.json())
        

응답 예제

[
    {
        "success": true,
        "type": "hd",
        "code": "1114055000",
        "name": "명동",
        "wkt": "POLYGON ((126.984159 37.553060, 126.982984 37.555564, ...))",
        "yyyymm": "202506"
    },
    {
        "success": true,
        "type": "hd",
        "code": "4111760000",
        "name": "광교1동",
        "wkt": "POLYGON ((127.062152 37.296292, 127.065016 37.291754, ...))",
        "yyyymm": "202506"
    }
]

응답 필드 설명 (배열)

필드 타입 설명
success boolean 요청 성공 여부
type string 영역 유형 ("h1", "h23", "hd")
code string 행정구역 코드
name string 행정구역 이름
wkt string WKT 형식의 지오메트리 정보 (행정구역 경계)
yyyymm string 데이터 기준 년월 (YYYYMM 형식)

영역 유형 설명

  • h1: 광역시도 (예: 11(서울특별시), 41(경기도))
  • h23: 시군구 (예: 종로구(11140), 수원시 영통구(41117))
  • hd: 행정동 (예: 명동(1114055000), 영통동(4111760000))
활용 팁

반환된 WKT 형식의 지오메트리 정보는 GIS 소프트웨어나 지도 라이브러리에서 직접 사용할 수 있습니다.

특정 시점의 행정구역 경계가 필요한 경우 yyyymm 파라미터를 사용하여 과거 데이터를 조회할 수 있습니다.

행정표준코드관리시스템(https://www.code.go.kr) 에서 전체 행정표준코드를 조회하고 다운로드할 수 있습니다.

행정동 이력

지정된 좌표를 기준으로 행정동 이력 정보를 조회합니다.

GET /hd_history

요청 파라미터

파라미터 타입 필수 설명
x float 경도 좌표 (EPSG:4326)
y float 위도 좌표 (EPSG:4326)
yyyymm string 아니오 조회할 년월 (YYYYMM 형식, 예: 202306). 지정하지 않으면 전체 이력 조회
token string API 인증 토큰

요청 예제

GET https://geocode-api.gimi9.com/hd_history?x=127.075074&y=37.143834&token=YOUR_API_TOKEN

응답 예제

[
  {
    "hd_cd": "4137052300",
    "hd_nm": "대원1동",
    "hd_en": "Daewon1(il)-dong",
    "from_yyyymm": "202312",
    "to_yyyymm": "202504"
  },
  {
    "hd_cd": "4137057000",
    "hd_nm": "대원동",
    "hd_en": "Daewon-dong",
    "from_yyyymm": "202305",
    "to_yyyymm": "202311"
  }
]

응답 필드 설명

필드 타입 설명
hd_cd string 행정동 코드 (10자리 행정표준 코드)
hd_nm string 행정동 한글 이름 (예: 대원1동)
hd_en string 행정동 영어 이름 (예: Daewon1(il)-dong)
from_yyyymm string 시작 년월 (YYYYMM 형식, 예: 202312)
to_yyyymm string 종료 년월 (YYYYMM 형식, 예: 202504)

토큰 통계

API 토큰의 사용량 통계를 조회합니다.

GET /token/stats

요청 파라미터

파라미터 타입 필수 설명
token string 통계를 조회할 API 토큰

요청 예제

GET https://geocode-api.gimi9.com/token/stats?token=YOUR_API_TOKEN

응답 예제

{
  "total_requests": 288945,
  "last_month_requests": 949,
  "monthly_quota": 100000000,
  "remaining_quota": 99999051,
  "daily_quota": 10000000,
  "daily_requests": 3,
  "remaining_daily_quota": 9999997,
  "last_request_date": "2025-06-03T09:54:20.450054+09:00"
}

응답 필드 설명

필드 타입 설명
total_requests integer 총 요청 수
last_month_requests integer 지난 달 요청 수
monthly_quota integer 월간 할당량
remaining_quota integer 남은 월간 할당량
daily_quota integer 일일 할당량
daily_requests integer 오늘 요청 수
remaining_daily_quota integer 남은 일일 할당량
last_request_date string 마지막 요청 날짜 (ISO 8601 형식)

API Swagger 문서(온라인 테스트)

RESTful API를 설계, 문서화, 테스트하기 위한 Swagger 기반의 도구를 제공합니다.

Swagger란?

Swagger는 RESTful API를 설계, 문서화, 테스트할 수 있는 오픈소스 도구입니다.

브라우저에서 직접 API를 호출해보고 응답을 확인할 수 있어 개발자들이 쉽게 API를 이해하고 활용할 수 있습니다.

실제 TOKEN을 입력하여 실시간으로 지오코딩 요청을 테스트하고 결과를 확인할 수 있습니다. (TOKEN을 입력하지 않아도 테스트해 볼 수 있습니다)

각 API 엔드포인트의 파라미터, 응답 형식, 예제 등이 자세히 문서화되어 있습니다.

간단한 curl 코드를 제공합니다.

Pandas와 함께 사용하기

설치 방법

pip를 사용하여 Gimi9 Geocoder를 설치할 수 있습니다:

pip install gimi9-geocoder
주의: API 호출 시 실제 API 토큰을 사용하세요. 샘플 코드의 "DEMO_TOKEN"은 데모용이며, 사용량에 제한이 있습니다..

자주 묻는 질문

API 토큰을 재발급받으면 기존 토큰은 즉시 무효화됩니다. 따라서 기존 토큰을 사용하던 모든 애플리케이션이나 서비스에서 새 토큰으로 업데이트해야 합니다. 토큰 재발급은 토큰이 유출됐을 때 보안을 위해 실시하는 것이 좋습니다.

일일 할당량을 초과하면 해당 날짜에는 더 이상 API 요청이 처리되지 않습니다. "할당량 초과" 오류 메시지가 반환됩니다. 할당량은 매일 자정(한국 시간 기준)에 초기화됩니다. Pro 회원으로 업그레이드하면 더 많은 일일 할당량을 이용할 수 있습니다.

주소 지오코딩이 실패하는 주요 원인:
  • 주소가 불완전하거나 모호함 (예: "서울시 강남구"처럼 상세 주소 없음)
  • 오타나 띄어쓰기 오류
  • 데이터베이스에 없는 최신 건물이나 도로명
  • 비표준 주소 형식 사용
  • 존재하지 않는 주소 입력
정확도를 높이려면 상세한 주소를 입력하고 공식 도로명주소 형식을 사용하세요.

파일 지오코딩 화면에서 [주소 힌트]를 입력하세요. 누락된 광역시도, 시군구 정보를 자동으로 보완하여 지오코딩을 수행합니다. 예를 들어 "서울 종로구"와 같이 입력하면 "내수동 72번지""서울 종로구 내수동 72번지"로 보완됩니다.

Pro 회원 신청은 현재 관리자를 통해서만 가능합니다. 문의하기 페이지나 이메일(gisman@gmail.com)을 통해 Pro 라이선스를 요청하세요. 24시간 이내에 Pro 상태로 업그레이드됩니다.

지오코더는 다양한 좌표계를 지원합니다:
  • EPSG:4326 (WGS84, GPS 경위도)
  • EPSG:5174 (한국 중부원점)
  • EPSG:5178 (UTM-K/Bessel)
  • EPSG:5179 (UTM-K/GRS80)
  • EPSG:5181 (카카오맵 좌표계)
  • EPSG:5186 (한국 2000 중부원점)
  • KATECH (국가교통DB 좌표계)
파일 지오코딩 시 원하는 좌표계를 선택할 수 있습니다.

하루에 1만건까지 사용할 수 있습니다. 그 이상 필요하면 프로버전(유료)을 사용하세요. 구입 문의: gisman@gmail.com

매일 데이터를 업데이트 합니다. 리버스 지오코딩과 행정동 이력은 월 1회 업데이트합니다.
오픈소스용 다운로드 파일은 1년에 한 번 배포합니다.

지오코딩은 주소정보 누리집의 여러 공공데이터를 사용합니다.

리버스 지오코딩은 브이월드의 연속지적도와 건물도형 공공데이터를 사용합니다.

지오코딩은 초당 3천 건, 시간당 1천만 건 이상을 처리하며, 리버스 지오코딩 속도 또한 유사합니다.

엔터프라이즈 서버는 여러개의 노드를 구성하여 처리 속도를 더 높일 수 있습니다.

최저 사양: AWS EC2 t2.micro (1 vCPU, 1GiB 메모리)

권장 사양: 8core 이상의 CPU, 16GiB 메모리)

저장 공간: 약 70GB 필요합니다. 무중단 업데이트를 위해서는 두 배인 140GB의 저장 공간이 필요합니다.

오픈소스 기여

기여를 환영합니다! GitHub 저장소를 포크하고 풀 리퀘스트를 보내주세요. 버그 리포트, 기능 제안, 문서 개선 등 모든 종류의 기여를 환영합니다.

지오코딩이 안 되는 주소가 있으면 알려주세요.

다음과 같은 경우 오픈소스 버전을 자유롭게 사용할 수 있습니다:

  • 개인적 사용: 개인이 비영리 목적으로 소프트웨어를 사용하는 경우
  • 교육 목적: 학교, 대학 등 교육 기관에서 학습 및 연구 목적으로 사용하는 경우
  • 비영리 단체: 자선 단체나 NGO 등이 그들의 미션을 수행하기 위해 사용하는 경우
  • 오픈소스 프로젝트: 다른 비상업적 오픈소스 프로젝트에서 해당 솔루션을 활용하는 경우
  • 정부 기관: 공공 서비스 제공을 위해 정부 기관에서 사용하는 경우
  • 학술 연구: 대학이나 연구소에서 순수 학술 목적으로 사용하는 경우

지원 및 문의

문제가 발생하거나 질문이 있으시면 GitHub Discussions를 통해 문의해 주세요.

빠르게 답을 얻으려면 카톡 오픈채팅으로 문의해주세요.