# GTFS, GTFS-RT 및 GBFS : 무엇이 다른가요?

> GTFS, GTFS-RT 및 GBFS를 비교하여 모빌리티 데이터를 선택하세요: 예정된 시간표, 실시간 정보, 정류장 및 공유 차량 정보.

Source: https://www.roote.ai/ko/guides/gtfs-gtfs-rt-gbfs-%EC%B0%A8%EC%9D%B4%EC%A0%90/
Language: ko
Author: ROOTE

GTFS Schedule은 계획된 교통 서비스를 설명합니다. GTFS Realtime(주로 GTFS-RT로 불림)은 서비스의 실시간 정보를 제공합니다. GBFS는 공유 모빌리티 서비스, 특히 게시된 데이터 흐름에 따른 정류장 및 이용 가능한 차량을 설명합니다. 여러분의 애플리케이션이 해결해야 할 질문에 따라 적합한 형식을 선택하세요.

이 형식들은 데이터를 구성하지만, 어디서나 제공되거나 각 데이터 흐름의 품질이 보장되지는 않습니다.

## 계획된 서비스를 나타내는 GTFS

GTFS Schedule 세트는 운영자, 정류장, 노선, 운행 정보 및 그 통과 시간 등을 설명하는 표 형식 파일들을 모은 것입니다. 달력은 해당 일자를 나타냅니다. 파일들은 식별자로 연동됩니다. [GTFS Schedule 참조](https://gtfs.org/documentation/schedule/reference/).

이 형식은 “이 정류장은 어디에 있나요?” 혹은 “이 서비스의 예정 통과 시간은 언제인가요?”와 같은 질문에 답할 수 있습니다. 시간표를 활용하려면 달력과 파일 간 관계를 해석해야 합니다.

정류장 목록만 읽는 것으로는 운행 시간 정보를 재구성할 수 없습니다. 반대로 정류장 위치 정보는 시간표 없이도 유용할 수 있습니다.

## 서비스 정보를 실시간으로 갱신하는 GTFS-RT

GTFS Realtime은 운행 최신 정보, 차량 위치, 알림을 제공할 수 있습니다. 운행 업데이트에서는 특히 통과 시간과 서비스 변경이 포함됩니다. 데이터 흐름은 구조화된 직렬화 포맷인 Protocol Buffers를 사용합니다. [GTFS Realtime 소개](https://gtfs.org/documentation/realtime/reference/).

제작자는 일부 범주만 게시할 수 있으며, 차량 위치 데이터 유무가 모든 정류장에 대한 예상정보를 보장하지는 않습니다.

인터페이스에서는 예정된 통과 시간과 갱신된 예상 시간을 구분하세요. 저희 가이드 [예정 시간표와 실시간 정보](https://www.roote.ai/ko/guides/%EB%B2%84%EC%8A%A4%EC%8B%9C%EA%B0%84%ED%91%9C-%EC%9D%B4%EB%A1%A0%EC%A0%81-%EC%8B%9C%EA%B0%84%ED%91%9C%EC%99%80-%EC%8B%A4%EC%8B%9C%EA%B0%84-%EC%8B%9C%EA%B0%84%ED%91%9C-%EC%B0%A8%EC%9D%B4%EC%A0%90/) 가 사용자 관점에서 이 차이를 설명합니다.

## 공유 모빌리티를 위한 GBFS

GBFS는 JSON 데이터를 통해 공유 모빌리티 서비스를 설명합니다. 시스템과 버전에 따라 정류장, 상태, 차량 및 서비스의 기타 특성을 알릴 수 있습니다. 문서에서 특히 정류장 정보와 가용 상태를 구분합니다. [GBFS 문서](https://github.com/MobilityData/gbfs/blob/v2.3/gbfs.md).

애플리케이션에서 비교적 안정적인 위치 정보와 빠르게 변하는 상태 정보를 분리하세요. 해석 시 포맷 버전과 관련 타임스탬프를 유지하세요.

가용성 데이터 흐름은 예약이나 잠금 해제 API가 아닙니다. 이는 제공 상황을 알리는 데 도움을 주며, 대여 작업은 해당 서비스에 맡겨집니다.

## 사용 사례에 따른 비교

| 필요 사항 | 검토할 포맷 |
| --- | --- |
| 예정된 정류장과 노선을 설명 | GTFS Schedule |
| 예정된 통과 시간과 서비스 일자 해석 | GTFS Schedule |
| 통과 시간 업데이트 또는 서비스 정보 수신 | 게시된 데이터 흐름에 따라 GTFS-RT |
| 공유 모빌리티 정류장 또는 차량 위치 파악 | 게시된 데이터에 따른 GBFS |

설계 예: 지도는 트램 정류장과 자전거 스테이션을 표시합니다. 장소 관련 구조적 데이터와 자전거 가용성의 갱신 상태 데이터를 함께 사용합니다. 두 데이터 층은 캐시 및 업데이트에 서로 다른 요구사항을 가집니다.

## 각 소스의 한계 고려

버전, 선택적 필드, 적용 범위, 이용 권한을 확인하세요. 식별자는 맥락 내에서만 의미가 있습니다: 서로 다른 제작자가 동일 ID를 다른 개체에 사용할 수 있습니다.

누락되거나 오래된 데이터도 대비하세요. 이용 불가 데이터 흐름에서 빈 목록은 서비스 부재로 오인돼선 안 됩니다. 알 수 없는 정보를 조용히 0으로 대체하지 마세요.

## 직접 데이터 흐름을 사용하거나 API 활용

직접 통합은 데이터 수집, 검증, 해석 책임을 집니다. API는 공통 계약을 제안할 수 있지만, 항상 범위, 경고, 조건을 확인해야 합니다.

ROOTE의 첫 사용 사례는 [API로 근처 정류장 검색 방법](https://www.roote.ai/ko/guides/api%EB%A1%9C-%EA%B7%BC%EC%B2%98-%EA%B5%90%ED%86%B5-%EC%A0%95%EB%A5%98%EC%9E%A5-%EA%B2%80%EC%83%89%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95/)을 참조하세요. 인터페이스 필요에 따라 시작하고, 실제 사용 가능한 필드를 확인하세요.

## 발췌문 읽기 및 아키텍처 선택하기

GTFS Schedule에서 stop_times.txt의 발췌문은 운행, 정류장, 예정된 통과 시간을 연결합니다. 아래의 축약된 예는 교육용이며 완전한 GTFS 세트가 아니며 식별자는 trips.txt, stops.txt 및 달력 파일과 연결되어야 합니다.

GTFS Realtime에서는 유용한 엔티티를 찾으세요: TripUpdate는 통과 시간을 업데이트할 수 있고, VehiclePosition은 위치를 설명하며, Alert는 서비스 정보를 전달합니다. 차량 위치가 도착 예상 시간은 아닙니다. 전송 형식은 Protocol Buffers이며, 진단용 JSON 표현은 참고용으로 실제 바이너리 스트림과 다릅니다.

GBFS에서 station_information은 역 정보를 설명하며 station_status는 게시된 상태를 나타냅니다. 일부 카운터 이름과 사용 가능한 파일은 버전에 따라 다릅니다. 아래 JSON 발췌문은 GBFS 2.3 버전과 num_bikes_available, num_docks_available 필드를 보여줍니다; 예시를 사용하기 전에 버전을 확인하세요.

장소 맵은 구조적 데이터부터 시작할 수 있습니다. 다음 통과 스크린에는 관련 업데이트와 명확히 계획된 백업이 필요합니다. 이용 가능한 자전거 화면은 카운터, 대여 조건, 시간 유효성을 관리해야 합니다. 이 세 화면은 자동으로 동일한 캐시 정책을 공유하지 않습니다.

```
# Extrait pédagogique de stop_times.txt
trip_id,arrival_time,departure_time,stop_id,stop_sequence
trip_demo,08:10:00,08:10:00,stop_demo,1

# Extrait pédagogique de station_status en GBFS 2.3
{
  "station_id": "station_demo",
  "num_bikes_available": 3,
  "num_docks_available": 7,
  "is_installed": true,
  "is_renting": true,
  "is_returning": true,
  "last_reported": 1720000000
}
```

[자전거 이용 가능 상태와 최신성을 형식화하기](https://www.roote.ai/ko/guides/%EC%8B%A4%EC%8B%9C%EA%B0%84-%EC%9E%90%EC%A0%84%EA%B1%B0-%EC%9D%B4%EC%9A%A9%EA%B0%80%EB%8A%A5%EC%84%B1-%EC%95%B1-%ED%91%9C%EC%8B%9C-%EB%B0%A9%EB%B2%95/)

[제품에 맞는 API 또는 MCP 선택하기](https://www.roote.ai/ko/guides/api-mcp-%EB%AA%A8%EB%B9%8C%EB%A6%AC%ED%8B%B0-%EB%8D%B0%EC%9D%B4%ED%84%B0-%ED%86%B5%ED%95%A9-%EC%84%A0%ED%83%9D/)

## 자주 묻는 질문

### GTFS에 자동으로 실시간 정보가 포함되나요?

아니요. GTFS Schedule은 예정 정보를 나타내고, 실시간 정보는 주로 GTFS-RT 등 별도 데이터 흐름에 포함됩니다.

### GBFS로 자전거 잠금 해제가 가능한가요?

공개 데이터 및 서비스를 설명하지만, 대여 기능은 운영자가 제공합니다.

### 표준 포맷이면 모든 정보가 다 제공되나요?

아니요. 포맷은 구조만 정의하며, 제공 범위와 게시 정보는 데이터 출처에 따라 다릅니다.
