‘변동자료 연계서비스’를 통해 매일 최신의 도로명주소
일일 변동자료를 다운로드 받으실 수 있습니다.

※ 도로명주소 변동자료 연계서비스 가이드

  1. 변동자료 연계서비스 신청서
  2. ㆍ변동자료 연계서비스 신청서 [다운로드]

  3. 클라이언트 DLL 다운로드
  4. ㆍADSClient_DLL.zip [다운로드]
  1. DLL 적용 요약 가이드

  2. ㆍDLL 다운로드 및 설치
변동자료 연계서비스 클라이언트 API에는 아래와 같은 파일이 제공됩니다.

- 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) : 일반적으로 일변동 자료 요청시에는 해당 값을 요청하지 않습니다.
    
    1. ㆍDLL 적용 샘플 소스
    2. 
      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()함수를 호출하여, 데이터를 요청합니다.
      receiveAddr()함수에 사용되는 입력파라미터는 app_key, date_gb, cntc_cd, retry_in, req_date_from, req_date_to입니다.
      결과 데이터는 ReceiveDatas 객체로 반환되며, 이를 getReceiveDatas(int order)를 통해서 정렬하여 결과 데이터를 List 타입으로 결과를 반환합니다
    3. 1. 데이터 파일 저장 경로 설정
    4. 
      // 파일 저장 경로 등록
      ADSReceiver ads = new ADSReceiver();
      ads.setFilePath("addrInfo");						// 파일을 저장할 기본 Path를 지정합니다.
      ads.setCreateDateDirectory(ADSUtils.YYMMDD);			// 날짜형식의 하위 디렉토리를 생성합니다. 날짜 형식은 YYMMDD 입니다.
      ads.setUsingDate(ADSUtils.MAKE_DATE);				// 파일 생성일을 기준으로 데이터를 저장합니다.
      
      
      제공받은 파일을 저장하는 경로를 설정할 수 있습니다.
      ads.setFilePath(String filePath)로 파일을 저장할 기본 Path를 설정합니다.
      setCreateDateDirectory(String datePattern)로 해당 날짜형식의 하위 디렉토리를 자동 생성하도록 할 수 있습니다.
      입력 파라미터인 String datePattern값이 null 이면 기본 'YYYYMMDD' 형식의 디렉토리에 변동 자료가 저장됩니다.
      입력 파라미터는 ADSUtils.YYYYMMDD, ADSUtils.YYMMDD, ADSUtils.YYYYY, ADSUtils.MMDD 4종류를 제공하고 있습니다.
      setUsingDate(int usingDatePattern) 을 통해서, 디렉토리를 생성시 일변동자료의 기준일, 일변동자료 파일 생성일을 기준으로 해당 디렉토리에 파일이 저장됩니다.
      일변동자료 기준일(ADSUtils.FILE_DATE) : 변동내역의 기준일자 입니다. 예) 20150101일 변동 자료 - > 20150101일자에 해당하는 디렉토리에 파일이 저장됩니다.
      일변동자료 생성일(ADSUtils.MAKE_DATE) : 변동자료의 생성일자 입니다. 예) 20150101일 변동자료가 20150110일 생성된 경우 -> 20150110일자에 해당하는 디렉토리에 파일이 저장됩니다.
    5. 2. 변동자료 및 재반영 데이터 다운로드 서비스 호출
    6. 
      // 일변동자료 다운로드 호출함수
      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() 함수를 사용합니다.
      재반영 데이터 조회시에는 retry_in, req_date_from, req_date_to 파라미터가 필요하지 않습니다.
    7. 3. 결과 데이터 정렬
    8. 
      // 결과 데이터 Sort
      List<ReceiveData> result = receiveDatas.getReceiveDatas(ADSUtils.UPDATE_ASC);		// 반영 순서대로 정렬
      List<ReceiveData> result = receiveDatas.getReceiveDatas(ADSUtils.MAKE_ASC);			// 파일이 생성된 일자별 정렬
      
      다운로드 받은 결과 데이터를 원하는 방식으로 Sort를 수행해서 List를 전달합니다.
      입력파라미터 반영순서 정렬(ADSUtils.UPDATE_ASC) 파일생성일 정렬(ADSUtils.MAKE_ASC)
    9. 4. 결과 데이터 확인
    10. 
      // 결과 데이터 확인 : 데이터를 정렬하여 가져올 수 있습니다.
      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);
      }
      
      제공 받은 데이터의 정보를 확인 할 수 있습니다.
      제공 받은 데이터 파일을 정렬하여 List<ReceiveData>로 결과값을 제공 받을 수 있습니다.
      제공받은 각 파일의 정보는 ReceiveData 객체로 제공되며, 아래 와 같이 확인할 수 있습니다.
      ㆍreceiveData.FileName() : 파일명 정보
      ㆍreceiveData.FilePath() : 파일 절대경로
      ㆍreceiveData.RetryYn() : 재반영 데이터 여부(Y:재반영데이터, N:일반 변동데이터)
      ㆍreceiveData.FileDate() : 변동자료 파일기준일(YYYYMMDD 형식)
      ㆍreceiveData.CreateDate() : 변동자료 파일 생성일(YYYYMMDD 형식)
      ㆍreceiveData.CntcCode() : 요청자료 코드
      ㆍreceiveData.FileSize() : 파일 사이즈(byte)
      ㆍreceiveData.ResCode() : 응답코드
      ㆍreceiveData.ResMsg() : 응답메시지(한글)