목차
지오코더 설명서
기미나인 지오코더는 한국 주소 지오코딩 솔루션입니다. 주소를 지리적 좌표(위도와 경도)로 변환하며, 그 반대로 좌표를 주소로 변환합니다.
특징
- 다양한 주소 형식 지원 (도로명 주소, 지번 주소)
- 지오코딩 및 리버스 지오코딩
- 간편한 API 사용
- 파일 지오코딩
- 공공데이터 지오코딩
- 지도 시각화
- 지도 공유
- 매우 적은 리소스 사용
- 초고속 처리
- 온프레미스 호스팅 가능(Enterprise 제품)
- 쉬운 설치와 데이터 업데이트
웹 서비스 사용법
계정 관리
회원가입
지오코더 서비스를 이용하기 위해 회원으로 가입하세요. 회원가입 시 자동으로 7일간의 Pro 회원 혜택이 제공됩니다.
회원가입 절차
상단 네비게이션 바에서 "회원가입" 버튼을 클릭합니다.
필수 정보(사용자명, 이메일, 비밀번호)를 입력합니다.
"회원가입" 버튼을 클릭하여 가입을 완료합니다.
가입 즉시 API 토큰이 발급되고, 7일간의 Pro 혜택이 적용됩니다. 발급된 토큰을 사용자 프로필에서 확인할 수 있으며 API 호출시 사용합니다.
Pro 혜택 안내
회원가입 시 자동으로 7일간의 Pro 회원 혜택이 부여됩니다. 이 기간 동안 제공되는 혜택은 다음과 같습니다:
- 일일 100만건 지오코딩 및 리버스 지오코딩
- 월간 1천만건 지오코딩 및 리버스 지오코딩
- 모든 Pro 기능 사용 가능
7일 후에는 자동으로 일반 회원으로 전환됩니다.
- 일일 1만건 지오코딩 및 리버스 지오코딩
- 월간 10만건 지오코딩 및 리버스 지오코딩
로그인 및 로그아웃
로그인 방법
- 상단 네비게이션 바에서 "로그인" 버튼을 클릭합니다.
- 사용자명과 비밀번호를 입력합니다.
- "로그인" 버튼을 클릭하여 로그인을 완료합니다.
로그아웃 방법
- 상단 네비게이션 바에서 사용자명을 클릭합니다.
- 드롭다운 메뉴에서 "로그아웃"을 선택합니다.
비로그인 사용 제한 안내
비로그인 사용자는 데모 모드에서 한 번에 최대 100건까지만 지오코딩할 수 있습니다. 더 많은 주소를 처리하려면 로그인해주세요.
그리고, 지도 불러오기 기능을 사용할 수 없습니다.
비밀번호 재설정
- 로그인 페이지에서 "비밀번호를 잊으셨나요?" 링크를 클릭합니다.
- 가입 시 사용한 이메일 주소를 입력합니다.
- 이메일로 받은 링크를 통해 새 비밀번호를 설정합니다.
프로필 관리
프로필 확인 및 수정
로그인 후 프로필 페이지에서 개인 정보를 확인하고 수정할 수 있습니다.
API 토큰 관리
API 토큰은 지오코더 API를 프로그래밍 방식으로 호출할 때 필요한 인증 수단입니다.
또한, 웹 페이지에서 지오코딩할 때에도 적용됩니다.
토큰 발급 및 재발급
- 프로필 페이지에서 "API 토큰 관리" 섹션으로 이동합니다.
- 토큰이 없는 경우 "토큰 생성" 버튼을 클릭합니다.
- 토큰을 재발급하려면 "토큰 재발급" 버튼을 클릭합니다.
토큰을 재발급하면 기존 토큰은 즉시 무효화됩니다. 신중하게 결정하세요.
토큰 보안 팁
- 토큰은 암호처럼 안전하게 보관하세요.
- 공개 저장소(GitHub 등)에 토큰을 포함하지 마세요.
- 토큰 유출이 의심되면 즉시 재발급 받으세요.
API 사용량 확인
계정 삭제
더 이상 서비스를 이용하지 않으려면 계정을 삭제할 수 있습니다.
주의사항
계정 삭제는 되돌릴 수 없으며 모든 정보가 영구적으로 삭제됩니다.
- 개인 계정 정보가 삭제됩니다.
- API 토큰이 무효화됩니다.
- 모든 API 사용 기록이 삭제됩니다.
- 저장된 지도가 삭제됩니다.
계정 삭제 방법
- 프로필 페이지에서 페이지 하단으로 스크롤합니다.
- "계정 관리" 섹션에서 "회원 탈퇴" 버튼을 클릭합니다.
- 확인 대화상자에서 비밀번호를 입력하고 삭제 동의를 체크합니다.
- "회원 탈퇴" 버튼을 클릭하여 계정 삭제를 완료합니다.
지도 사용하기
지도 기본 기능
- 확대/축소: 마우스 스크롤 또는 키보드의 +/- 버튼 사용
- 이동: 드래그하여 지도 이동 또는 키보드의 화살표 버튼 사용
- 팝업: 지도를 클릭하면 해당 위치의 주소 정보가 팝업으로 표시됩니다.
- 행정구역 보기: 마우스를 이동하면 해당 위치의 행정구역 경계와 이름이 표시됩니다. 연도별 행정동, 시군구, 광역시도 영역을 확인할 수 있습니다.
지오코딩 결과 표시
- 성공한 주소는 지도 위에 마커로 표시됩니다.
- 마커를 클릭하면 상세 정보가 팝업으로 나타납니다.
- 결과 목록에서 항목을 클릭하면 지도에서 해당 위치로 이동합니다.
- 결과 목록에서 실패한 항목을 클릭하면 상세 정보가 팝업으로 나타납니다.
지도 레이어 변경
왼쪽 아래의 레이어 아이콘을 클릭하여 배경 지도를 변경할 수 있습니다:
- 일반: 브이월드 일반 지도
- 영상: 브이월드 항공사진 하이브리드
- 오픈스트리트맵
지오코딩 사용하기
주소 찾기
여러 줄의 주소를 입력하여 지오코딩합니다. 즉시 지도로 위치가 표시됩니다.
주소 찾기 사용 방법
- 툴바의 "새 지도..." 메뉴에서 "주소 찾기" 버튼을 클릭합니다.
- 주소 입력창에 주소를 입력합니다. (한 줄에 하나씩)
- 또는 샘플 주소를 선택하여 불러옵니다.
- "지오코딩 실행" 버튼을 클릭합니다.
주소 입력 팁
- 한 번에 최대 3,000개의 주소를 입력할 수 있습니다.
- 비로그인 사용자는 최대 100건까지만 처리 가능합니다.
결과 필터링
결과 필터링
사이드바에서 결과를 필터링할 수 있습니다:
- 성공: 성공적으로 지오코딩된 주소 표시/숨김 (완전하지 않은 주소의 대표 좌표는 성공으로 분류됩니다)
- 실패: 지오코딩에 실패한 주소 표시/숨김
결과 목록 탐색
- 목록에서 항목을 클릭하면 해당 위치로 지도가 이동합니다.
- 실패한 항목의 툴팁으로 실패 원인을 확인할 수 있습니다.
파일 지오코딩
지원 파일 형식
- CSV (쉼표 등의 문자로 구분된 값)
- Excel (.xls, .xlsx)
- TXT (텍스트 파일)
- TSV (탭으로 구분된 값)
파일 포맷
파일 포맷을 신경쓰지 마세요:
- 주소 컬럼이 포함된 파일을 업로드하세요. 이게 끝입니다.
- 주소 정보를 포함하는 컬럼을 자동으로 판단합니다.
- CSV 파일의 인코딩을 자동으로 판단합니다.
- CSV 파일의 구분자는 쉼표, 탭, 세미콜론 등 다양하게 지정할 수 있습니다. 파일의 구분자를 자동으로 판단합니다.
파일 업로드 및 처리
파일 지오코딩 단계
- 툴바의 "새 지도..." 메뉴에서 "파일 지오코딩" 버튼을 클릭합니다.
- "파일 선택" 버튼을 클릭하여 지오코딩할 파일을 선택합니다.
- 출력 좌표계를 선택합니다. (기본값: EPSG:4326)
- "지오코딩 실행" 버튼을 클릭합니다.
- 처리가 완료될 때까지 기다립니다.
주소 힌트
"도포길 16"과 같은 행정구역이 생략된 주소가 포함된 파일이라면 주소 힌트를 사용하세요.
예를 들어, "전라남도 영암군"을 힌트로 지정하면 "전라남도 영암군 도포길 16"으로 처리됩니다.
파일 처리 제한
- 일반 회원: 최대 1만건 처리 가능
- Pro 회원: 1백만건의 대용량 파일 처리 가능
- 비로그인 사용자: 최대 100건 처리 가능
결과 다운로드
지원되는 다운로드 형식
- CSV: 콤마로 구분된 텍스트 파일 (UTF-8)
- XLSX: 엑셀 파일
- SHP: ESRI 쉐이프파일 (좌표가 부여된 데이터만)
- GeoJSON: 웹 매핑용 표준 형식
- KML: Google Earth 등에서 사용 가능
- JSON: 개발자용 데이터 형식
QGIS
SHP, GeoJSON, KML 파일을 QGIS로 열 수 있습니다.
QGIS는 무료 오픈소스 GIS 소프트웨어로, 다양한 GIS 데이터를 시각화하고 분석할 수 있습니다.
SHP 파일은 .zip 형식으로 다운로드되며, 압축을 풀지 않고도 QGIS에서 바로 열 수 있습니다.
다운로드 방법
- 지오코딩 처리가 완료되면 툴바의 다운로드 버튼이 활성화됩니다.
- 원하는 형식의 다운로드 버튼을 클릭합니다.
SHP 파일은 성공적으로 지오코딩된 데이터만 포함합니다.
SHP 파일은 .zip 파일로 다운로드 됩니다. (압축을 풀지 않고 QGIS에서 열 수 있습니다)
컬럼 구성
- 업로드한 파일의 컬럼이 모두 포함됩니다.
- 지오코딩 결과 컬럼이 추가됩니다.
- 추가 컬럼: 성공여부, X좌표, Y좌표, 행정표준 시도 코드, 행정표준 시군구코드, 통계청 시도코드, 통계청 시군구코드, 행정표준 행정동코드, 행정표준 행정동명
- 다운로드 포맷을 선택할 때 "행정동 이력 포함" 옵션을 체크하면 행정동 이력이 포함됩니다.
공공데이터 지오코딩
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 호출 한도가 일반 회원 수준으로 조정됩니다.
API 사용법
소개
지오코더 API는 주소를 지리적 좌표로 변환하고, 좌표를 주소로 변환하는 기능을 제공합니다.
이 API를 통해 다음과 같은 기능을 사용할 수 있습니다:
- 주소 지오코딩 - 주소를 위도/경도 좌표로 변환
- 역 지오코딩 - 위도/경도 좌표를 주소로 변환
- 영역 검색 - 주어진 코드로 행정구역 영역(광역시도, 시군구, 행정동)을 찾아 형상을 추출합니다
- 주어진 좌표에 대한 행정동을 조회합니다.
- 토큰 사용량 통계 확인
- 행정동 이력 조회
인증
모든 API 요청은 토큰 기반 인증을 사용합니다. 회원 가입시 토큰이 발급됩니다. 내 프로필에서 발급된 토큰을 확인하세요.
토큰은 비밀번호와 같이 안전하게 보관하세요. 토큰에 일일 사용량과 월간 사용량이 할당됩니다.
토큰을 API 요청 시 전달해야 합니다. 인증되지 않은 요청은 거부됩니다.
예: ?token=YOUR_API_TOKEN
외부에 URL이 노출되는 서비스에서 API를 호출할 때는 token parameter 대신 HTTP 헤더에 Authorization: YOUR_API_TOKEN
형식으로 전달할 수 있습니다.
주소 지오코딩
주소를 지리적 좌표(위도, 경도)로 변환합니다.
GET 지오코딩
요청 파라미터
파라미터 | 타입 | 필수 | 설명 |
---|---|---|---|
q | string | 예 | 하나 이상의 주소를 포함하는 문자열. 각 주소는 줄바꿈(\n)으로 구분 |
token | string | 예 | API 인증 토큰 |
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 방식에 비해 더 많은 주소를 한 번에 처리할 수 있습니다.
요청 파라미터
파라미터 | 타입 | 필수 | 설명 |
---|---|---|---|
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 | 건물명 목록 |
역 지오코딩
지리적 좌표(위도, 경도)를 주소로 변환합니다.
도로명 주소와 지번 주소를 모두 반환합니다. 도로명 주소가 없는 경우 지번 주소만 반환됩니다.
요청 파라미터
파라미터 | 타입 | 필수 | 설명 |
---|---|---|---|
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) 형식의 지오메트리 정보를 제공합니다.
요청 파라미터
파라미터 | 타입 | 필수 | 설명 |
---|---|---|---|
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) 에서 전체 행정표준코드를 조회하고 다운로드할 수 있습니다.
행정동 이력
지정된 좌표를 기준으로 행정동 이력 정보를 조회합니다.
요청 파라미터
파라미터 | 타입 | 필수 | 설명 |
---|---|---|---|
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 토큰의 사용량 통계를 조회합니다.
요청 파라미터
파라미터 | 타입 | 필수 | 설명 |
---|---|---|---|
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
자주 묻는 질문
- 주소가 불완전하거나 모호함 (예: "서울시 강남구"처럼 상세 주소 없음)
- 오타나 띄어쓰기 오류
- 데이터베이스에 없는 최신 건물이나 도로명
- 비표준 주소 형식 사용
- 존재하지 않는 주소 입력
- EPSG:4326 (WGS84, GPS 경위도)
- EPSG:5174 (한국 중부원점)
- EPSG:5178 (UTM-K/Bessel)
- EPSG:5179 (UTM-K/GRS80)
- EPSG:5181 (카카오맵 좌표계)
- EPSG:5186 (한국 2000 중부원점)
- KATECH (국가교통DB 좌표계)
오픈소스용 다운로드 파일은 1년에 한 번 배포합니다.
지오코딩은 초당 3천 건, 시간당 1천만 건 이상을 처리하며, 리버스 지오코딩 속도 또한 유사합니다.
엔터프라이즈 서버는 여러개의 노드를 구성하여 처리 속도를 더 높일 수 있습니다.
최저 사양: AWS EC2 t2.micro (1 vCPU, 1GiB 메모리)
권장 사양: 8core 이상의 CPU, 16GiB 메모리)
저장 공간: 약 70GB 필요합니다. 무중단 업데이트를 위해서는 두 배인 140GB의 저장 공간이 필요합니다.
오픈소스 기여
기여를 환영합니다! GitHub 저장소를 포크하고 풀 리퀘스트를 보내주세요. 버그 리포트, 기능 제안, 문서 개선 등 모든 종류의 기여를 환영합니다.
지오코딩이 안 되는 주소가 있으면 알려주세요.
다음과 같은 경우 오픈소스 버전을 자유롭게 사용할 수 있습니다:
- 개인적 사용: 개인이 비영리 목적으로 소프트웨어를 사용하는 경우
- 교육 목적: 학교, 대학 등 교육 기관에서 학습 및 연구 목적으로 사용하는 경우
- 비영리 단체: 자선 단체나 NGO 등이 그들의 미션을 수행하기 위해 사용하는 경우
- 오픈소스 프로젝트: 다른 비상업적 오픈소스 프로젝트에서 해당 솔루션을 활용하는 경우
- 정부 기관: 공공 서비스 제공을 위해 정부 기관에서 사용하는 경우
- 학술 연구: 대학이나 연구소에서 순수 학술 목적으로 사용하는 경우