GTFS에 적용되는 Google 대중교통 확장 프로그램

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

소개

Google 대중교통팀은 일반 대중교통 피드 사양(GTFS)을 개선하여 Google 파트너의 요구사항을 반영하기 위해 지속적으로 노력하고 있습니다. Google 지도의 대중교통팀에 제출된 피드에서 파트너가 사용할 수 있는 몇 가지 확장 프로그램이 GTFS 사양에 포함될 수 있도록 제안되었습니다. 아래에서 이러한 기능의 전체 목록을 확인할 수 있습니다.

GTFS 사양을 확장하기 위한 제안이 있는 경우 GTFS 변경 공식 프로세스를 참고하세요.

특정 요금으로 허용되는 최대 환승 횟수

여러 기관이 포함된 피드에서 요금 속성을 지원하기 위해 다음과 같은 확장 프로그램을 고려하고 있습니다.

필드 이름 상태 세부정보
transfers 필수 이 필드를 사용하여 해당 요금에서 허용되는 최대 환승 횟수를 설정합니다. 여기에 블록 환승(좌석 내 환승이라고도 함)은 포함되지 않습니다. Google 대중교통은 0에서 5까지의 값을 허용합니다. 특정 요금으로 가능한 환승 횟수를 제한하지 않으려면 transfers 필드를 비워 둡니다.

IC 카드 가격(일본)

IC 카드는 일본에서만 통용되는 충전식 선불 스마트 카드로서, 기차, 지하철, 버스, 모노레일 요금 지불에 사용할 수 있습니다. Pasmo, SUICA(Super Urban Intelligent Card) 등 대부분의 IC 카드는 승객에게 할인 혜택을 제공하는 경우가 많습니다. 다음과 같은 Google 전용 확장 프로그램은 IC 카드의 요금 모델링을 지원합니다.

fare_attributes.txt

필드 이름 필수 세부정보
ic_price 선택사항 IC 카드 사용자에게 할인이 제공되는 경우 이 값은 할인이 적용된 요금입니다. IC 카드 사용자에게 할인이 제공되지 않는 경우 값을 -1로 설정합니다. 대중교통 기관이 IC 카드를 지원하지 않는 경우 값을 -1로 설정합니다.

추가 경로 유형

현재 GTFS는 특정 경로에 대한 서비스 유형(예: 버스, 철도, 페리)을 설명하는 데 사용할 수 있는 다양한 경로 유형을 정의합니다. 보다 다양한 유형의 집합을 지원하기 위해 routes.txt route_type 입력란에 대한 확장 프로그램이 제안되었습니다. 자세한 내용은 확장된 GTFS 경로 유형을 참고하세요.

역 차량 유형

특정 정류장을 운행하는 차량의 유형을 지정하기 위한 확장 프로그램이 제안되었습니다.

stops.txt

필드 이름 필수 세부정보
vehicle_type 선택사항

이 필드를 이용해 정류장에서 사용되는 교통수단의 유형을 설명합니다. 제안된 GTFS 경로 유형 확장 값을 포함하여 유효한 routes.txt route_type 값이 허용됩니다.

통상 서비스에서 벗어난 이동

특별 이벤트 또는 계획된 운영 중단(예: 선로 공사)으로 인해 정규 시각표 이외의 시간에 운영하거나 평소의 경로에서 벗어난 이동을 나타내는 데 유용합니다. 그러한 예외적인 서비스를 나타내기 위해 trips.txt에 대한 확장 프로그램이 제안되었습니다.

trips.txt

필드 이름 필수 세부정보
exceptional 선택사항

특별 이벤트로 인해 추가된 서비스나 계획된 운영 중단(선로 공사)으로 인해 일반적인 경로에서 벗어난 이동과 같은 예외 사항을 나타내려면 이 필드를 1로 설정합니다. 정규 서비스의 경우에는 0으로 설정합니다.

경로 간 환승 및 이동 간 환승

현재 GTFS 사양을 사용하는 기관은 transfers.txt 파일을 통해 선호하는 환승, 동시 환승 및 제한 환승과 같은 환승 의미를 정의함으로써 해당 기능을 지원할 수 있습니다. 현재 이러한 환승은 정류장에만 적용됩니다. Google은 여러 기관으로부터 경로 수준, 심지어 이동 수준에서 보다 자세한 환승 정보를 지정하기를 원한다는 의견을 받았습니다. 따라서 이 기관들과 협력하여 경로 간 환승 및 이동 간 환승을 모델링하는 제안을 내놓았으며 현재 GTFS 관계자의 의견을 기다리고 있습니다.

동기

특정한 두 개의 정류장 간에 이루어지는 모든 이동에 대해 동일한 환승을 지정하지 않고 해당 정류장 간에 특정 경로 또는 특정 이동 간에 환승을 지정할 수 있어야 합니다.

예:

  • 특정 열차를 타고 와서 내린 후 기다렸다 같은 플랫폼에서 다른 열차로 환승하는 경우 이 두 이동에 대해 동시 환승을 지정하려고 합니다. 그러나 이 기차역의 모든 환승이 동시 환승일 필요는 없습니다.

  • 어떤 열차가 최대 30분 늦어지는 경우가 종종 있다면 도착 예정 시간과 출발 예정 시간의 차이가 35분 미만인 경우 이 열차에서 다른 열차로 환승하는 것을 허용하지 않고자 합니다.

세부정보

transfers.txt에 4개의 선택 입력란을 추가합니다.

  • from_route_id
  • to_route_id
  • from_trip_id
  • to_trip_id

from_route_idto_route_id 필드는 route_id(routes.txt로 지정됨)를 포함하여 지정된 환승이 적용되는 범위를 축소합니다. from_route_id가 지정된 경우 해당 from_stop_id에서 지정된 경로 ID를 가진 도착편에만 환승이 적용됩니다. to_route_id가 지정된 경우 해당 to_stop_id에서 지정된 경로 ID를 가진 출발편에만 환승이 적용됩니다.

from_trip_idto_trip_id 필드는 trips.txt에서 지정된 trip_id를 포함할 수 있습니다. from_trip_id가 주어지면 from_route_id가 무시되고 to_trip_id가 주어지면 to_route_id가 무시됩니다. from_trip_id가 지정된 경우 주어진 from_stop_id에서 지정된 이동 ID가 있는 도착편에만 환승이 적용됩니다. to_trip_id가 지정된 경우에는 주어진 to_stop_id에서 지정된 이동 ID가 있는 출발편에만 환승이 적용됩니다.

환승의 특이도

일부 환승은 다른 환승보다 더 구체적입니다. 환승을 적용해야 하는 경우를 판단하기 위해 간단한 순위 지정 메커니즘을 정의해야 합니다. 따라서 환승의 '특이도'를 정의합니다.

환승 소스의 특이성은 from_stop_id만 제공되면 0, from_route_id가 지정되면 1, from_trip_id가 지정되면 2입니다. 환승 타겟도 동일하게 to_stop_id만 제공되면 0, to_route_id가 지정되면 1, to_trip_id가 지정되면 2가 적용됩니다. 이 두 값의 합이 0에서 4까지의 환승 특이도입니다. 순서가 지정된 한 쌍의 도착 이동과 출발 이동의 경우, 두 이동 간의 특이도가 가장 큰 환승이 선택됩니다. 따라서 어떤 쌍의 이동이라도, 적용할 수 있는 최대 특이도가 동일한 환승이 2개여서는 안 됩니다.

모호한 규칙의 예:

from_stop_id,to_stop_id,from_route_id,to_route_id,transfer_type
stopFrom,stopTo,routeFrom,,0
stopFrom,stopTo,,routeTo,1

이 두 환승 모두 특이도가 1입니다. 그러나 정류장 stopFrom에 도착하는 경로 ID routeFrom에서 정류장 stopTo에 도착하는 경로 ID routeTo로 이동하는 환승에는 이 두 규칙을 적용할 수 있습니다.