انتقال بلوکی که به آن انتقال درون صندلی نیز گفته می شود، زمانی در دسترس است که مجموعه ای از سفرها شرایط زیر را داشته باشند:
- سفرها متوالی است.
- یک وسیله نقلیه هر دو سفر را انجام می دهد.
- سفرها با همان مقدار
block_id
در فایلtrips.txt
در فید حمل و نقل ارائه می شوند.
پیش نیازها
برای اینکه Google Maps تشخیص دهد که انتقال بلوک بین سفرها امکان پذیر است، پیش نیازهای زیر باید رعایت شود:
- سفرها باید از همان مقدار
block_id
درtrips.txt
استفاده کنند. این نشان می دهد که در سفرها از یک وسیله نقلیه استفاده می شود. - سفرها باید در همان روزها یا در روزهای متوالی اگر سفر از نیمه شب گذشته باشد، انجام شود.
- سفرها باید متوالی بوده و با هم تداخل نداشته باشند.
- آخرین توقف سفر ورودی و اولین توقف سفر خروجی یا باید یکسان باشد (توصیه می شود) یا از نظر فیزیکی نزدیک باشد.
از block_id
برای فعال کردن انتقال بلوک استفاده کنید
انتقال بلوک می تواند بین سفرهای متوالی در مسیرهای مختلف یا در همان مسیر انجام شود اگر مسیر یک خط حلقه باشد. از فیلد block_id
استفاده کنید تا مشخص کنید کدام سفرها در یک بلوک هستند و جابهجاییهای داخل صندلی گزینهای در دسترس هستند.
مثال 1: نقل و انتقالات را برای سفرهای برنامه ریزی شده مسدود کنید
در این مثال، مقادیر زیر را در هر فایل در نظر بگیرید:
trips.txt
route_id | trip_id | block_id |
---|---|---|
RouteA | RouteATrip1 | Block1 |
RouteB | RouteBTrip1 | Block1 |
stop_times.txt
trip_id | arrival_time | departure_time | stop_id | stop_sequence |
---|---|---|---|---|
RouteATrip1 | 12:00:00 | 12:01:00 | A | 1 |
RouteATrip1 | 12:05:00 | 12:06:00 | B | 2 |
RouteATrip1 | 12:15:00 | C | 3 | |
RouteBTrip1 | 12:18:00 | C | 1 | |
RouteBTrip1 | 12:22:00 | 12:23:00 | D | 2 |
RouteBTrip1 | 12:30:00 | E | 3 |
در این مثال:
- کاربری که مسیری را از ایستگاه A تا توقف E جستجو میکند، در ساعت 12:00 در مسیر A در ایستگاه A سوار میشود و پس از پایان
RouteATrip1
وقتی به ایستگاه C میرسد، روی خودرو میماند. این به این دلیل است که همان وسیله نقلیهRouteBTrip1
برای مسیر B ارائه می دهد. - مسافران
RouteATrip1
که می خواهند به توقف درRouteBTrip1
ادامه دهند، می توانند برای این انتقال در وسیله نقلیه بمانند. - مسافران سفرهای دیگر با وسایل نقلیه دیگر در همین مسیرها این گزینه را ندارند زیرا برای هر سفر از وسایل نقلیه متفاوتی استفاده می کنند.
مثال 2: مسدود کردن انتقال برای سفرهای مبتنی بر فرکانس با زمان دقیق
انتقال بلوک فقط برای سفرهای مبتنی بر فرکانس که یکی از شرایط زیر را دارند، علاوه بر الزامات ذکر شده در بخش پیش نیازها، پشتیبانی می شود:
- اگر سفر به صورت حلقه ای باشد، باید در همان توقف شروع و به پایان برسد.
- در
frequencies.txt
، مقدار قسمتexact_times
باید1
باشد.
مثال زیر نحوه تنظیم مقادیر برای شرط دوم را شرح می دهد:
trips.txt
route_id | trip_id | block_id |
---|---|---|
route1 | route1_trip1 | block_2 |
route2 | route2_trip1 | block_2 |
stop_times.txt
trip_id | arrival_time | departure_time | stop_id | stop_sequence |
---|---|---|---|---|
route1_trip1 | 08:00:00 | 08:04:00 | stop1 | 1 |
route1_trip1 | 08:10:00 | 08:14:00 | stop2 | 2 |
route1_trip1 | 08:20:00 | stop3 | 3 | |
route2_trip1 | 08:24:00 | stop3 | 1 | |
route2_trip1 | 08:30:00 | 08:34:00 | stop4 | 2 |
route2_trip1 | 08:40:00 | 08:44:00 | stop5 | 3 |
frequencies.txt
trip_id | start_time | end_time | headway_secs | exact_times |
---|---|---|---|---|
route1_trip1 | 08:00:00 | 08:20:00 | 600 | 1 |
route2_trip1 | 08:24:00 | 08:44:00 | 600 | 1 |
در این مثال:
- کاربری که مسیری از
stop1
تاstop5
را جستجو می کند، در ساعت 08:00 در مسیرstop1
درroute1
هدایت می شود. پس از پایانroute1_trip1
کاربر پس از رسیدن بهstop3
روی خودرو میماند. دلیلش این است که همان وسیله نقلیهroute2_trip1
برایroute2
خدمات می دهد. - مسافران
route1_trip1
که میخواهند تا توقفی درroute2_trip1
ادامه دهند، میتوانند برای این انتقال در وسیله نقلیه بمانند. - مسافران سفرهای دیگر با وسایل نقلیه دیگر در همین مسیرها این گزینه را ندارند زیرا برای هر سفر از وسایل نقلیه متفاوتی استفاده می کنند.
- برای مثال
route1_trip1
در نظر بگیرید. مقدارheadway_secs
نصف فاصله بینstart_time
وend_time
است. در این صورت یعنی دو سفر وجود دارد. برای کسب اطلاعات بیشتر در مورد استفاده ازheadway_secs
، به مرجع برنامه زمانی GTFS در gtfs.org مراجعه کنید.
انتقال بلوک در یک خط حلقه
در یک خط حلقه، اولین توقف و آخرین توقف یک سفر یکسان هستند و stop_id
یکسان دارند. این هم برای سفرهای مبتنی بر برنامه و هم برای سفرهای فرکانس ضروری است.
مشروط بر اینکه سفرهای حلقه متوالی همان block_id
داشته باشند، انتقال بلوک یا داخل صندلی فعال است، که به مسافران اولین سفر اجازه میدهد تا زمانی که خودرو در حلقه بعدی ادامه میدهد، روی خودرو بمانند.
بلوک های معتبر در فیدهای GTFS
برای اینکه امکان انتقال بلوک وجود داشته باشد، باید یک یا چند بلوک را به درستی در فید تعریف کنید. برای تأیید اعتبار، سفرهایی که متعلق به یک بلوک هستند نمیتوانند همپوشانی داشته باشند و باید route_type
یکسانی داشته باشند (مترو، ریل، اتوبوس و غیره). سفرها می توانند متعلق به یک بلوک باشند، حتی اگر در روزهای مختلف باشند. اگر بلوکهایی در یک فید ثابت تعریف شده باشند، در گزارش اعتبارسنجی، در برگه نمای کلی نشان داده میشوند.