‘변동자료 연계서비스’를 통해 매일 최신의 도로명주소
일일 변동자료를 다운로드 받으실 수 있습니다.
※ 도로명주소 변동자료 연계서비스 가이드
‘변동자료 연계서비스’를 통해 매일 최신의 도로명주소
일일 변동자료를 다운로드 받으실 수 있습니다.
※ 도로명주소 변동자료 연계서비스 가이드
- ADSClient-dll-x.x.jar : 변동자료 연계서비스 클라이언트 라이브러리(x.x는 버전 넘버) 입니다. 이 DLL 파일은 적용하고자 하는 application에 위치해야 합니다.
- ADSClient-x.x.zip : 클라이언트 라이브러리의 소스파일은 입니다. 이 zip 파일을 통해서 DLL를 통해서 개발하지 않고, 소스를 수정하여 사용하실 수 있습니다.
- 국가주소연계서비스_변동자료_연계서비스_가이드_닷넷 : 변동자료 연계서비스 가이드 문서를 통해서 변동자료 연계서비스를 적용하기 위한 설명을 확인할 수 있습니다.
1. 승인키[필수] : 변동자료 연계서비스 사용을 위해 제공받은 승인키 2. 요청자료 구분[필수] : 제공 받고자 하는 요청자료의 구분값(가이드 문서 참고) 3. 변동자료 날짜구분[필수] : 일변동 자료(D), 월변동 자료(M) 으로 구분되며, 매칭데이터및 지도 자료는 D만 가능함, 기초구역관련 정보는 M 4. 재반영 포함여부[필수] : 재반영 데이터를 포함하여 제공받을지 여부(기본으로 Y 설정을 통해서, 재반영 데이터도 일변동 자료 제공시 함께 적용할 수 있도록 해야합니다.) 5. 요청 데이터 일자(From) : 일반적으로 일변동 자료 요청시에는 해당 값을 요청하지 않습니다. 6. 요청 데이터 일자(To) : 일반적으로 일변동 자료 요청시에는 해당 값을 요청하지 않습니다.
using System;
using System.Collections.Generic;
using System.Text;
using kr.go.ads.client;
namespace UpdateClient
{
class Program
{
static void Main(string[] args)
{
Program uc = new Program();
try
{
uc.getAddrInfo();
}
catch (Exception ex)
{
System.Console.Write(ex.StackTrace);
}
}
public void getAddrInfo(){
ADSReceiver ads = new ADSReceiver();
Properties props = new Properties();
String app_key,req_date,cntc_cd,req_date_to,date_gb,retry_in;
//-----------------------요청 정보 설정------------------------------------------
app_key = props.APP_KEY;
req_date = props.REQ_DATE;
req_date_to = props.REQ_DATE_TO;
cntc_cd = props.CNTC_CD;
date_gb = props.DATE_GB;
retry_in = props.RETRY_IN;
// 일변동 자료를 저장할 장소를 설정합니다.
ads.setFilePath("addrInfo");
ads.setCreateDateDirectory(ADSUtils.YYMMDD);
//-----------------------------------------------------------------------------
try {
ReceiveDatas receiveDatas = ads.receiveAddr(app_key, date_gb, cntc_cd, retry_in, req_date, req_date_to);
/* --------------------------------- 응답 결과 확인 --------------------------------- */
if(receiveDatas.Result != 0){
if(receiveDatas.Result == -1){
// 서버 접속 실패 : 잠시후 재 시도 하시기 바랍니다.
System.Console.WriteLine("서버 접속 실패");
}
// 서버 페이지 오류 사항 확인
System.Console.WriteLine("Result code : " + receiveDatas.Result);
System.Console.WriteLine("Response code : " + receiveDatas.ResCode);
System.Console.WriteLine("Response Msg : " + receiveDatas.getResMsg());
System.Console.WriteLine("Total count : " + receiveDatas.ResTotalCnt);
System.Console.WriteLine("Normal count : " + receiveDatas.ResNormalCnt);
System.Console.WriteLine("Retry count : " + receiveDatas.ResRetryCnt);
return;
}
// 서버 응답 확인
System.Console.WriteLine("Response code : " + receiveDatas.ResCode); // 응답코드
System.Console.WriteLine("Response Msg : " + receiveDatas.getResMsg()); // 응답메시지
System.Console.WriteLine("Total count : " + receiveDatas.ResTotalCnt); // 전체 자료수
System.Console.WriteLine("Normal count : " + receiveDatas.ResNormalCnt); // 변동 자료수
System.Console.WriteLine("Retry count : " + receiveDatas.ResRetryCnt); // 재반영 자료수
/* --------------------------------- 응답 결과 완료 --------------------------------- */
// 결과 데이터 정렬
List<ReceiveData> result = receiveDatas.getReceiveDatas(ADSUtils.UPDATE_ASC);
foreach (ReceiveData receiveData in result)
{
// 결과 데이터 건별 정보 확인
System.Console.WriteLine(receiveData.FileName);
}
} catch (Exception e) {
System.Console.WriteLine(e.StackTrace);
}
}
}
}
ADSReceiver 클래스의 receiveAddr()함수를 호출하여, 데이터를 요청합니다.
// 파일 저장 경로 등록
ADSReceiver ads = new ADSReceiver();
ads.setFilePath("addrInfo"); // 파일을 저장할 기본 Path를 지정합니다.
ads.setCreateDateDirectory(ADSUtils.YYMMDD); // 날짜형식의 하위 디렉토리를 생성합니다. 날짜 형식은 YYMMDD 입니다.
ads.setUsingDate(ADSUtils.MAKE_DATE); // 파일 생성일을 기준으로 데이터를 저장합니다.
제공받은 파일을 저장하는 경로를 설정할 수 있습니다.
// 일변동자료 다운로드 호출함수
ReceiveDatas receiveDatas = ads.receiveAddr(app_key, date_gb, cntc_cd, retry_in, req_date_from, req_date_to);
// 재반영 다운로드 호출함수
ReceiveDatas receiveDatas = ads.receiveRetry(app_key, date_gb, cntc_cd);
변동자료 다운로드 서비스시에는 receiveAddr()함수를, 재반영 데이터 다운로드 서비스시에는 receiveRetry() 함수를 사용합니다.
// 결과 데이터 Sort
List<ReceiveData> result = receiveDatas.getReceiveDatas(ADSUtils.UPDATE_ASC); // 반영 순서대로 정렬
List<ReceiveData> result = receiveDatas.getReceiveDatas(ADSUtils.MAKE_ASC); // 파일이 생성된 일자별 정렬
다운로드 받은 결과 데이터를 원하는 방식으로 Sort를 수행해서 List를 전달합니다.
// 결과 데이터 확인 : 데이터를 정렬하여 가져올 수 있습니다.
List<ReceiveData> result = receiveDatas.getReceiveDatas(ADSUtils.UPDATE_ASC);
foreach (ReceiveData receiveData in result)
System.Console.WriteLine("DOWNLOAD FILE NAME:");
System.Console.WriteLine(receiveData.FileName);
System.Console.WriteLine(" RETRY:");
System.Console.WriteLine(receiveData.RetryYn);
System.Console.WriteLine(" MAKE DATE:");
System.Console.WriteLine(receiveData.CreateDate);
System.Console.WriteLine(" FILE DATE:");
System.Console.WriteLine(receiveData.FileDate);
}
제공 받은 데이터의 정보를 확인 할 수 있습니다.