GTFS Schedule은 계획된 교통 서비스를 설명합니다. GTFS Realtime(주로 GTFS-RT로 불림)은 서비스의 실시간 정보를 제공합니다. GBFS는 공유 모빌리티 서비스, 특히 게시된 데이터 흐름에 따른 정류장 및 이용 가능한 차량을 설명합니다. 여러분의 애플리케이션이 해결해야 할 질문에 따라 적합한 형식을 선택하세요.
이 형식들은 데이터를 구성하지만, 어디서나 제공되거나 각 데이터 흐름의 품질이 보장되지는 않습니다.
계획된 서비스를 나타내는 GTFS
GTFS Schedule 세트는 운영자, 정류장, 노선, 운행 정보 및 그 통과 시간 등을 설명하는 표 형식 파일들을 모은 것입니다. 달력은 해당 일자를 나타냅니다. 파일들은 식별자로 연동됩니다. GTFS Schedule 참조.
이 형식은 “이 정류장은 어디에 있나요?” 혹은 “이 서비스의 예정 통과 시간은 언제인가요?”와 같은 질문에 답할 수 있습니다. 시간표를 활용하려면 달력과 파일 간 관계를 해석해야 합니다.
정류장 목록만 읽는 것으로는 운행 시간 정보를 재구성할 수 없습니다. 반대로 정류장 위치 정보는 시간표 없이도 유용할 수 있습니다.
서비스 정보를 실시간으로 갱신하는 GTFS-RT
GTFS Realtime은 운행 최신 정보, 차량 위치, 알림을 제공할 수 있습니다. 운행 업데이트에서는 특히 통과 시간과 서비스 변경이 포함됩니다. 데이터 흐름은 구조화된 직렬화 포맷인 Protocol Buffers를 사용합니다. GTFS Realtime 소개.
제작자는 일부 범주만 게시할 수 있으며, 차량 위치 데이터 유무가 모든 정류장에 대한 예상정보를 보장하지는 않습니다.
인터페이스에서는 예정된 통과 시간과 갱신된 예상 시간을 구분하세요. 저희 가이드 예정 시간표와 실시간 정보 가 사용자 관점에서 이 차이를 설명합니다.
공유 모빌리티를 위한 GBFS
GBFS는 JSON 데이터를 통해 공유 모빌리티 서비스를 설명합니다. 시스템과 버전에 따라 정류장, 상태, 차량 및 서비스의 기타 특성을 알릴 수 있습니다. 문서에서 특히 정류장 정보와 가용 상태를 구분합니다. GBFS 문서.
애플리케이션에서 비교적 안정적인 위치 정보와 빠르게 변하는 상태 정보를 분리하세요. 해석 시 포맷 버전과 관련 타임스탬프를 유지하세요.
가용성 데이터 흐름은 예약이나 잠금 해제 API가 아닙니다. 이는 제공 상황을 알리는 데 도움을 주며, 대여 작업은 해당 서비스에 맡겨집니다.
사용 사례에 따른 비교
| 필요 사항 | 검토할 포맷 |
|---|---|
| 예정된 정류장과 노선을 설명 | GTFS Schedule |
| 예정된 통과 시간과 서비스 일자 해석 | GTFS Schedule |
| 통과 시간 업데이트 또는 서비스 정보 수신 | 게시된 데이터 흐름에 따라 GTFS-RT |
| 공유 모빌리티 정류장 또는 차량 위치 파악 | 게시된 데이터에 따른 GBFS |
설계 예: 지도는 트램 정류장과 자전거 스테이션을 표시합니다. 장소 관련 구조적 데이터와 자전거 가용성의 갱신 상태 데이터를 함께 사용합니다. 두 데이터 층은 캐시 및 업데이트에 서로 다른 요구사항을 가집니다.
각 소스의 한계 고려
버전, 선택적 필드, 적용 범위, 이용 권한을 확인하세요. 식별자는 맥락 내에서만 의미가 있습니다: 서로 다른 제작자가 동일 ID를 다른 개체에 사용할 수 있습니다.
누락되거나 오래된 데이터도 대비하세요. 이용 불가 데이터 흐름에서 빈 목록은 서비스 부재로 오인돼선 안 됩니다. 알 수 없는 정보를 조용히 0으로 대체하지 마세요.
직접 데이터 흐름을 사용하거나 API 활용
직접 통합은 데이터 수집, 검증, 해석 책임을 집니다. API는 공통 계약을 제안할 수 있지만, 항상 범위, 경고, 조건을 확인해야 합니다.
ROOTE의 첫 사용 사례는 API로 근처 정류장 검색 방법을 참조하세요. 인터페이스 필요에 따라 시작하고, 실제 사용 가능한 필드를 확인하세요.
발췌문 읽기 및 아키텍처 선택하기
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
}
자주 묻는 질문
GTFS에 자동으로 실시간 정보가 포함되나요?
아니요. GTFS Schedule은 예정 정보를 나타내고, 실시간 정보는 주로 GTFS-RT 등 별도 데이터 흐름에 포함됩니다.
GBFS로 자전거 잠금 해제가 가능한가요?
공개 데이터 및 서비스를 설명하지만, 대여 기능은 운영자가 제공합니다.
표준 포맷이면 모든 정보가 다 제공되나요?
아니요. 포맷은 구조만 정의하며, 제공 범위와 게시 정보는 데이터 출처에 따라 다릅니다.