이 문서는 개발자를 위한 SubwayInfoService 클래스 사용 가이드입니다.
SubwayInfoService 클래스 구입 : https://sir.kr/cmall/1719750800(옵션 : TAGO 지하철 API Class)
이 클래스는 국토교통부에서 제공하는 공공데이터 오픈 API를 활용하여 지하철 역 정보, 출구 주변 버스 노선, 출구 주변 시설 목록, 시간표 정보를 조회할 수 있도록 설계되었습니다.
아래에서 클래스 선언, 함수 원형, 사용법, 예시, 그리고 각 함수의 세부 설명을 확인할 수 있습니다.
클래스 선언
$serviceKey = 'YOUR_SERVICE_KEY';
$subwayInfoService = new SubwayInfoService($serviceKey);
- $serviceKey: 공공데이터포털에서 발급받은 인증키를 입력합니다.
- 아래의 공공데이터 포털 사이트에서 발급과 활용 신청을 하시면 됩니다.
- 국토교통부(TAGO)지하철정보(https://www.data.go.kr/data/15098554/openapi.do)
- SubwayInfoService: 이 클래스는 지하철 관련 정보를 쉽게 조회하기 위해 설계되었습니다.
클래스 내 주요함수 소개
getKeywordBasedSubwayStationList($subwayStationName, $numOfRows = 10, $pageNo = 1, $type = 'xml')
기능: 지하철역 목록을 키워드로 검색합니다.
매개변수:
$subwayStationName
: 조회할 지하철역 이름 (예: ‘서울역’)$numOfRows
: 페이지당 결과 개수 (기본값: 10)$pageNo
: 페이지 번호 (기본값: 1)$type
: 응답 형식 (XML 또는 JSON)
반환 값: XML 또는 JSON 형식의 역 목록
getSubwayStationExitBusRouteList($subwayStationId, $numOfRows = 10, $pageNo = 1, $type = 'xml')
기능: 특정 지하철역 출구별 버스 노선을 조회합니다.
매개변수:
$subwayStationId
: 지하철역 ID (예: ‘MTRS11133’)$numOfRows
: 페이지당 결과 개수 (기본값: 10)$pageNo
: 페이지 번호 (기본값: 1)$type
: 응답 형식 (XML 또는 JSON)
반환 값: 출구별 버스 노선 목록
getSubwayStationExitFacilityList($subwayStationId, $numOfRows = 10, $pageNo = 1, $type = 'xml')
기능: 특정 지하철역 출구별 주변 시설 목록을 조회합니다.
매개변수:
$subwayStationId
: 지하철역 ID (예: ‘MTRS11133’)$numOfRows
: 페이지당 결과 개수 (기본값: 10)$pageNo
: 페이지 번호 (기본값: 1)$type
: 응답 형식 (XML 또는 JSON)
반환 값: 출구별 주변 시설 목록
getSubwayStationScheduleList($subwayStationId, $dailyTypeCode, $upDownTypeCode, $numOfRows = 10, $pageNo = 1, $type = 'xml')
기능: 특정 지하철역의 시간표를 조회합니다.
매개변수:
$subwayStationId
: 지하철역 ID (예: ‘MTRS11133’)$dailyTypeCode
: 요일 코드 (01: 평일, 02: 토요일, 03: 일요일)$upDownTypeCode
: 상/하행 코드 (U: 상행, D: 하행)$numOfRows
: 페이지당 결과 개수 (기본값: 10)$pageNo
: 페이지 번호 (기본값: 1)$type
: 응답 형식 (XML 또는 JSON)
반환 값: 시간표 목록
getAllBusRoutesByStation($subwayStationId)
기능: 특정 지하철역 출구별로 모든 버스 노선을 조회합니다.
매개변수:
$subwayStationId
: 지하철역 ID (예: ‘MTRS11133’)
반환 값: 출구별로 정렬된 모든 버스 노선 목록
getAllFacilitiesByStation($subwayStationId)
기능: 특정 지하철역 출구별로 모든 주변 시설을 조회합니다.
매개변수:
$subwayStationId
: 지하철역 ID (예: ‘MTRS11133’)
반환 값: 출구별로 정렬된 모든 시설 목록
getSubwayStationInfo($lineName, $stationName)
기능: 특정 호선과 역명을 기반으로 해당 역의 정보를 조회합니다.
매개변수:
$lineName
: 노선 이름 (예: ‘1호선’)$stationName
: 지하철역 이름 (예: ‘서울역’)
반환 값: 호선과 역 이름이 일치하는 지하철역 정보
사용 예제
// 1. 특정 역의 상세 정보를 조회
$stationInfo = $subwayInfoService->getSubwayStationInfo('1호선', '서울역');
print_r($stationInfo);
// 2. 특정 역 출구의 버스 노선 조회
$busRoutes = $subwayInfoService->getAllBusRoutesByStation($stationInfo['subwayStationId']);
print_r($busRoutes);
// 3. 특정 역 출구의 주변 시설 조회
$facilities = $subwayInfoService->getAllFacilitiesByStation($stationInfo['subwayStationId']);
print_r($facilities);
// 4. 특정 역의 시간표 조회
$schedule = $subwayInfoService->getSubwayStationScheduleList(
$stationInfo['subwayStationId'], '01', 'U'
);
print_r($schedule);
SubwayInfoService 클래스에 대해 궁금하신 사항은 댓글이나 문의사항에 남겨주시면 감사하겠습니다.