# GTFS, GTFS-RT และ GBFS: แตกต่างกันอย่างไร?

> เปรียบเทียบ GTFS, GTFS-RT และ GBFS เพื่อเลือกข้อมูลการเคลื่อนที่ของคุณ: ตารางเวลาที่วางแผนไว้ ข่าวสารอัปเดต สถานี และยานพาหนะที่ใช้ร่วมกัน

Source: https://www.roote.ai/th/guides/gtfs-gtfs-rt-et-gbfs-%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B9%81%E0%B8%95%E0%B8%81%E0%B8%95%E0%B9%88%E0%B8%B2%E0%B8%87%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3/
Language: th
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/th/guides/rosni-bat-pha-re-d-rae-rai-phan-rosni-thi-theo-ri-la-kha-yang-rae-rai/) อธิบายความแตกต่างนี้จากมุมมองของผู้ใช้

## GBFS สำหรับการเคลื่อนที่แบบใช้ร่วมกัน

GBFS ใช้ข้อมูล JSON ในการอธิบายบริการการเคลื่อนที่แบบใช้ร่วมกัน ขึ้นกับระบบและเวอร์ชัน ข้อมูลอาจรวมสถานี สถานะของสถานี ยานพาหนะ และลักษณะอื่นๆของบริการ เอกสารแบ่งข้อมูลสถานีและสถานะความพร้อมใช้งานอย่างชัดเจน [เอกสาร GBFS](https://github.com/MobilityData/gbfs/blob/v2.3/gbfs.md).

ในแอปพลิเคชันของคุณ ควรแยกตำแหน่งที่ตั้งที่ค่อนข้างคงที่และสถานะที่เปลี่ยนแปลงอย่างรวดเร็ว ไว้ใช้เวอร์ชันของรูปแบบข้อมูลและเวลาที่อ้างอิงขณะตีความข้อมูลด้วย

ข้อมูลความพร้อมใช้งานไม่ใช่ API สำหรับการจองหรือปลดล็อก แต่ช่วยให้ทราบบริการโดยรวม การเช่าหรือใช้งานขึ้นกับบริการนั้นๆ

## เปรียบเทียบตามกรณีใช้งาน

| ความต้องการ | รูปแบบที่ควรพิจารณา |
| --- | --- |
| อธิบายจุดหยุดและสายเดินรถที่วางแผนไว้ | GTFS Schedule |
| ตีความเวลาผ่านและวันให้บริการ | GTFS Schedule |
| อัปเดตเวลาผ่านหรือรับข้อมูลบริการ | GTFS-RT ขึ้นกับข้อมูลที่เผยแพร่ |
| ค้นหาสถานีหรือยานพาหนะในบริการการเคลื่อนที่แบบใช้ร่วมกัน | GBFS ขึ้นกับข้อมูลที่เผยแพร่ |

ตัวอย่างการออกแบบ: แผนที่แสดงจุดหยุดรถรางและสถานีรถจักรยาน ใช้ข้อมูลโครงสร้างสำหรับตำแหน่ง และข้อมูลสถานะเพื่อแสดงความพร้อมใช้จักรยาน ชั้นข้อมูลทั้งสองมีความต้องการการแคชและอัปเดตต่างกัน

## คาดการณ์ข้อจำกัดของแต่ละแหล่งข้อมูล

ตรวจสอบเวอร์ชัน ช่องข้อมูลที่ไม่จำเป็น ความครอบคลุม และสิทธิ์การใช้งาน รหัสประจำตัวมีความหมายเฉพาะในบริบทนั้นๆ ผู้ให้ข้อมูลสองรายอาจใช้รหัสเหมือนกันกับสิ่งต่างกัน

วางแผนสำหรับข้อมูลที่ขาดหรือเก่า รายการว่างจากข้อมูลที่ไม่พร้อมใช้งานไม่ควรถูกแสดงว่าไม่มีบริการ อย่าแทนที่ข้อมูลที่ไม่รู้จักด้วยศูนย์อย่างเงียบๆ

## ใช้ข้อมูลโดยตรงหรือผ่าน API

การนำเข้าข้อมูลโดยตรง คุณต้องรับผิดชอบรวบรวม ตรวจสอบ และตีความข้อมูลเอง API อาจเสนอข้อตกลงข้อมูลร่วม แต่คุณต้องเข้าใจความครอบคลุม คำเตือน และเงื่อนไขการใช้งานเสมอ

สำหรับกรณีใช้งานครั้งแรกกับ ROOTE โปรดดูที่ [วิธีค้นหาจุดหยุดใกล้เคียงด้วย API](https://www.roote.ai/th/guides/%E0%B8%A7%E0%B8%B4%E0%B8%98%E0%B8%B5%E0%B8%84%E0%B9%89%E0%B8%99%E0%B8%AB%E0%B8%B2%E0%B8%88%E0%B8%B8%E0%B8%94%E0%B8%88%E0%B8%AD%E0%B8%94%E0%B8%A2%E0%B8%B2%E0%B8%99%E0%B8%9E%E0%B8%B2%E0%B8%AB%E0%B8%99%E0%B8%B0%E0%B9%83%E0%B8%81%E0%B8%A5%E0%B9%89%E0%B9%80%E0%B8%84%E0%B8%B5%E0%B8%A2%E0%B8%87%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2api/). เริ่มจากความต้องการของส่วนติดต่อผู้ใช้ จากนั้นตรวจสอบช่องข้อมูลที่มีจริง

## อ่านตัวอย่างและเลือกสถาปัตยกรรม

ใน 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/th/guides/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%81%E0%B8%AA%E0%B8%94%E0%B8%87%E0%B8%AA%E0%B8%96%E0%B8%B2%E0%B8%99%E0%B8%B0%E0%B8%88%E0%B8%B1%E0%B8%81%E0%B8%A3%E0%B8%A2%E0%B8%B2%E0%B8%99%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B9%80%E0%B8%A3%E0%B8%B5%E0%B8%A2%E0%B8%A5%E0%B9%84%E0%B8%97%E0%B8%A1%E0%B9%8C%E0%B9%83%E0%B8%99%E0%B9%81%E0%B8%AD%E0%B8%9B%E0%B8%9E%E0%B8%A5%E0%B8%B4%E0%B9%80%E0%B8%84%E0%B8%8A%E0%B8%B1%E0%B8%99/)

[เลือก API หรือ MCP สำหรับผลิตภัณฑ์ของคุณ](https://www.roote.ai/th/guides/api-ou-mcp-pour-integration-donnees-mobilite/)

## คำถามที่พบบ่อย

### GTFS มีข้อมูลเวลาจริงโดยอัตโนมัติหรือไม่?

ไม่ GTFS Schedule แสดงข้อมูลที่วางแผนไว้ ข้อมูลเวลาจริงอยู่ในฟีดอื่น เช่น GTFS-RT

### GBFS ช่วยปลดล็อกจักรยานหรือไม่?

GBFS อธิบายบริการและข้อมูลสาธารณะ การเช่าหรือใช้งานขึ้นกับสิ่งที่ผู้ให้บริการรองรับ

### รูปแบบมาตรฐานรับประกันความครอบคลุมเต็มที่หรือไม่?

ไม่ รูปแบบกำหนดโครงสร้าง แต่ความครอบคลุมและข้อมูลที่เผยแพร่ขึ้นกับผู้ให้บริการ
