기본 원칙

기본 원칙

GTFS Realtime의 당초 비전을 유지하기 위해 사양을 확장할 때 고려해야 할 다음과 같은 많은 기본 원칙이 마련되었습니다.

피드는 실시간으로 제작하고 사용하기에 효율적이어야 합니다.

실시간 정보는 지속적인 동적 데이터 스트림으로 효율적인 처리가 필요합니다. 프로토콜 버퍼는 개발자가 사용하기 쉽고 데이터를 효율적으로 전송할 수 있으므로 사양의 기본으로 선택되었습니다. GTFS와 달리 많은 기관이 GTFS Realtime 피드를 직접 편집할 것으로 기대하지 않습니다. 프로토콜 버퍼를 선택하게 된 이유는 대부분의 GTFS Realtime 피드가 프로그래매틱 방식으로 제작 및 사용된다는 결론에 따른 것입니다.

사양은 승객 정보입니다.

GTFS와 마찬가지로 GTFS Realtime은 주로 승객 정보와 관련이 있습니다. 즉, 사양에는 다른 무엇보다도 탑승자를 위한 도구에 유용한 정보가 포함되어야 합니다. 대중교통 기관이 시스템 간에 내부적으로 전송하려는 운영 중심의 정보가 상당히 많이 있을 수 있습니다. 그러나 GTFS Realtime은 이를 목적으로 하지 않으며 보다 적합한 다른 운영 중심의 데이터 표준이 있을 수 있습니다.

사양의 변경사항은 이전 버전과 호환되어야 합니다.

사양에 기능을 추가할 때 기존 피드를 못 쓰게 만드는 변경은 피해야 합니다. 기존 피드 게시자가 피드에 기능을 추가하기 전까지는 Google에서도 더 많은 기능을 만들지 않을 것입니다. 또한 가능하면 기존 파서가 최신 피드의 이전 부분을 계속 읽을 수 있기를 기대합니다. 프로토콜 버퍼를 확장할 때에는 어느 정도 이전 버전과의 호환성을 보장하는 게 일반적입니다. 그러나 이전 버전과의 호환성을 손상시킬 수 있는 기존 입력란에 대한 의미상의 변경은 하지 않는 것이 좋습니다.

추측성 기능은 권장하지 않습니다.

새로운 기능을 추가할 때마다 피드 생성 및 읽기가 복잡해집니다. 따라서 유용하다고 알려진 기능만 추가될 것입니다. 모든 제안은 새로운 기능을 사용하는 실제 대중교통 시스템에 대한 데이터를 생성하고 이를 읽고 표시하는 소프트웨어를 작성하는 방식으로 테스트하는 것이 가장 바람직합니다.

새로운 기능을 지원하기 위해 다음 섹션에서 설명하는 확장 프로그램을 활용합니다. GTFS Realtime의 제작자와 사용자는 먼저 확장 프로그램에서 새로운 기능을 테스트할 수 있습니다. 기능을 공식적으로 채택할 준비가 되면 공식 GTFS Realtime Proto 정의 자체에 해당 기능이 추가됩니다.