انتقال بلوکی که به آن انتقال درون صندلی نیز گفته می شود، زمانی در دسترس است که مجموعه ای از سفرها شرایط زیر را داشته باشند:
- سفرها متوالی است.
- یک وسیله نقلیه هر دو سفر را انجام می دهد.
- سفرها با همان مقدار
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 یکسانی داشته باشند (مترو، ریل، اتوبوس و غیره). سفرها می توانند متعلق به یک بلوک باشند، حتی اگر در روزهای مختلف باشند. اگر بلوکهایی در یک فید ثابت تعریف شده باشند، در گزارش اعتبارسنجی، در برگه نمای کلی نشان داده میشوند.