Houston Metropolitan Transit Authority (METRO) Project:Creation of a Fixed Route Scheduling Database by the Precision Merging of Schedule, Bus Stop and Base Map Data Sets to Support Scheduling Operations The project objective was to successfully merge varied databases to support the Computerized Telephone Information System (CTIS) and other METRO Enterprise GIS applications. The design and development of a Microsoft® Visual Basic® program to convert schedule data from a commercially available software package into Oracle® will be explained. Special focus will be provided on the integration of schedule, bus stop and street base map databases that are maintained by individual METRO departments and other governmental entities. Discussion will include the resulting procedures, route model, turn table modifications and AML� tools developed to create routes and sequence bus stops and turn points. IntroductionThe Customer Information Center at METRO employs 20 agents during peak times and receives an average of 4,100 fixed route service inquiries every weekday. The majority of these inquiries involve trip planning. Currently, the agents generate trip itineraries by using key maps to locate the origin and destination of the trip and to identify the routes serving these points. The scheduled trip timetables are then used to identify the trip times and transfer points. To better respond to public requests for bus route and scheduling information, METRO decided to implement a Computerized Telephone Information System (CTIS). The core of the CTIS is an itinerary planning software system with a UNIX® server and a client-based graphical user interface. CTIS supports customer service personnel queries, an Interactive Voice Response (IVR) system for direct telephone access by the public and Web page access via an Internet browser. Passenger Routing and Information System (PARIS®) software, by Megadyne Information Systems, was selected by METRO to best fit the existing software and database systems. A goal of the project was to develop procedures and programs for merging and integrating data from the existing databases and make recommendations for altering the databases to better meet the system needs. The existing databases consisted of a commercial scheduling database (Trapeze® FX) by Trapeze, a bus stop inventory maintained in ArcView� and a street centerline database from the Houston-Galveston Area Council � Geographic Data-sharing Committee consisting of public and private representatives. ArcInfo� and ArcView were the geographic information systems (GIS) software of choice for storing and maintaining the geographic data. Tools were developed in Arc Macro Language (AML), Avenue� and Microsoft Visual Basic programming languages. The result was the creation of a Microsoft Access database, which produced ASCII files that were loaded into the PARIS development database using the SQL*Loader® utility for Oracle. The development database was loaded and quality checked and then moved to the production database for service change implementation. Service changes take place three times a year at METRO, and the resulting schedule and route changes must be captured for the CTIS. Project ResourcesIdea IntegrationSM provided the principle resources for the database development project. The team included a project manager, a GIS analyst/programmer (dedicated to programming about one-fourth to one-half of the time), two to five GIS analysts who built and sequenced routes, and a technical writer responsible for documenting the process from start to finish. METRO�s route system includes 134 bus routes with over 760 patterns. System design and programming along with building and sequencing the initial routes was a four-month process requiring close collaboration with a variety of METRO departments. Implementing a service change took approximately four to five weeks with a staff of three to five personnel. Information Required by PARISFourteen data tables are required to populate the PARIS database. Route building and sequence processing result in the creation of the four tables listed in Table 1. The Base Map Processing section further describes the general methods used for building routes and sequencing routes to produce these tables. Table 1. Tables Created by Building and Sequencing the Routes in ArcInfo
Processing the METRO Trapeze FX reports creates the remaining tables, listed in Table 2. The Trapeze Raw Report Files and Processing section explains how these ten tables were created for PARIS. Table 2. Tables Created from Processing Raw Trapeze Reports
The 14 tables were temporarily stored and processed in Microsoft Access. Processing in Microsoft Access was limited to queries for performing quality checks, joining tables, formatting fields, updating values, altering values for modified service (i.e., day after Thanksgiving) and dropping routes for employee shuttles. Additional Access tables (see Table 3) contain essential information that is not provided by the Trapeze reports. The CTIS/PARIS database manager or the Scheduling Department maintains these tables manually. Table 3. Tables Created and Maintained in Microsoft Access
Trapeze Raw Report Files and ProcessingThe Trapeze FX scheduling software is a microcomputer-based, multi-user scheduling, run cutting and routing system. It helps the user define routes, generate timetables, assign vehicles, create driver runs and determine off-days assignments. The Trapeze FX version licensed by METRO is a DOS based system and represents the older generation of Trapeze products. It does not have direct access to the database via Open Database Connection (ODBC). Hence, the required schedule data generated from Trapeze FX was in ASCII report format and not in data table format. The reports were converted into relational database format from their original formats, which included variable-length records, header with columns and rows and fixed-record-length formats. The ASCII reports required for the project were the All Nodes, Patterns, Trips and Schedule reports. Samples of these reports are provided in the appendix. When creating the reports from Trapeze, specific columns (fields) had to be included in the ASCII reports. The All Nodes Report is composed of fixed records and includes all the time points for the METRO network. Time points represent selected bus stops along the route. The All Nodes Report has the time point or node names that are in the short abbreviated (four-character-wide field named ABBR) and an intermediate length (two, four-character-wide fields named NAME4A and NAME4B) format. The time point names serve as primary keys in a cross-reference table that is used to join the Patterns Report and Trips Reports to the Schedule Report. The Patterns Report is in header with columns and rows format and includes all the various patterns or paths that the buses travel for a particular route and time points. The Patterns Report includes pattern number, time point, destination sign codes and direction (inbound/outbound) fields. The data beneath each time point abbreviation consists of 1s or 0s. The 1 indicates the node is used in the pattern and the 0 indicates the node is not used in the pattern. The Trips Report is in header with column and rows format and contains the pattern number, time points, trip times, direction, service type (week day, Saturday or Sunday service) and block number (the bus used for that part of the route). The Schedule Report is in variable-record-length format and contains the pattern, time points, service, direction and trip time. TrapezeParse ApplicationA Microsoft Visual Basic application was developed to convert the raw Trapeze ASCII reports to data tables. TrapezeParse subdivides the processing of the Trapeze FX reports into pre-processing and post-processing. Figure 1 shows the TrapezeParse Application Interface. The challenge of pre-processing lies within the ability to tokenize the parts of the various reports. VideoSoft® AWK ActiveX® control was used to tokenize reports that were in header with column and rows format into components that were then read by row and column. The pre-processing directly converts the Schedule, Trips and Patterns reports into separate tables that are stored in a Microsoft Access database. Post-processing uses the Allnodes file that was directly converted into a dBase IV table, and joins the Schedule, Trip and Pattern tables together into a Microsoft Access table called tblDone. Post-processing also creates values for the fields that are used in the PARIS engine. The tblDone table includes every occurrence of a time point/node being used by any pattern of a bus route for the entire METRO system. A series of Microsoft Access queries were developed to filter the tblDone table to create 10 of the 14 tables required by PARIS. Route modeling differences between PARIS and Trapeze FX required additional selection and update queries to prepare the data for PARIS. One case of a modeling difference was found for circular routes. METRO�s circular routes are designated with different route numbers for each direction, clockwise and counterclockwise. In the Trapeze FX modeling process, METRO�s circular routes (26/27 and 426/427) are designated with one route number for both the clockwise and counterclockwise direction. The designation numbers for these two routes are edited manually on the public time tables and other publications. Update queries were created to select the clockwise or outbound patterns and assign the correct route number. As described in the following sections, every time a METRO service change occurs, the Trapeze Reports must be processed twice. The first processing is used only as source data to generate a pick list for the ArcInfo Sequencing Tool. The second processing is for the finalized tables for PARIS loading. Figure 1. TrapezeParse Application Interface Preliminary ProcessingThe first time the raw Trapeze FX reports are processed to create the tblDone is to produce a preliminary version of the pattern_dtl2SEQ table that is needed for sequencing. An ASCII file is created from a Microsoft Access query against the tblDone table to produce the pattern_dtl2SEQ table, which is exported to a dBase IV format. The pattern_dtl2SEQ table is then converted to an INFO table called pattern.dat. A frequency is run on the pattern.dat file to create the pick lists from which users select the patterns for sequencing. Knowing when to obtain and process the updated Trapeze reports for producing the pattern_dtl2SEQ table required close coordination with the Scheduling Department. The new Trapeze reports for the service change had to be moderately stable before they were processed. Routes that were subject to changes by the Scheduling Department were reported to the CTIS/PARIS database manager so they could be created and sequenced last. Final ProcessingThe second time that the Trapeze reports are processed by the TrapezeParse Application is to produce the tables required for PARIS loading. HGAC-GDC Street Base MapThe street base map is derived from raw TIGER data and adjusted to local electrical utility parcel map, digital orthophotography and satellite imagery by the Houston-Galveston Area Council � Geographic Data-sharing Committee (HGAC-GDC) members. Street names and ranges were modified by the HGAC to match local utility parcel map ranges. The street base map continually is being upgraded by the GDC, and each arc segment has been assigned a unique identification number, called HGAC_recnm. METRO has used the July 1999 version of the GDC base map for the first three METRO service changes and has renamed it the CTIS base map. All geographic and attribute modifications to the CTIS base map by METRO have been flagged and provided to the GDC using the HGAC_recnm starting at 500,000 as a key. All new geographic changes are assigned the next sequential value by METRO. Since modifications to the July 1999 version of the GDC base map by other GDC members have not been incorporated into the CTIS, strict HGAC_recnm values are maintained by the GDC. In the future the GDC and CTIS base maps will be balanced and METRO routes repaired. METRO Bus Stop Inventory DatabaseLast year METRO successfully completed a comprehensive bus stop inventory project. The addresses (latitude/longitude) of more than 10,500 bus stops were collected using GPS technology. The bus stop inventory database was developed to maintain the bus stop location, routes servicing the bus stop and the amenities at the bus stop such as shelter, bench and trash receptacle information. The bus stop address data is also vital for other forthcoming ITS projects such as the automatic vehicle location (AVL) system. The Scheduling Department maintains the bus stop inventory using work orders that are provided by the Maintenance Department. The bus stop inventory is maintained in the ArcView point shape file format and is converted into the ArcInfo coverage format. The resulting point coverage is used in the route building and sequencing processes. Base Map ProcessingCTIS base map processing is divided into four steps:
Step 1: Coverage Version ProcessingIf a new version of the TIMEPT (time point), BUSSTOP (bus stop) or CTIS (base map) coverage is released, the updated coverage must be processed before the tables can be prepared for PARIS loading. Processing a new version of TIMEPT � If Planning and Development modifies the TIMEPT coverage attributes, it is necessary to update the STRT (street) field in TPLOC.DAT for all the time points. The new TPLOC.DAT is then ready for transfer to the PARIS server. If a time point is added to an existing bus route and the path traveled by the bus is altered for any pattern, each affected pattern must be rebuilt. In addition, all patterns affected by the new time point must be resequenced. Processing a new version of BUSSTOP � When a bus stop is added, deleted or replaced in a route that was sequenced already, the sequencing tables must be corrected. If a new bus stop is added after an affected route was sequenced, the bus stop must be added to the BUS.DAT and SOP.DAT files manually. These changes are made by assigning the appropriate sequence number to the bus stop based on the location of the stop in relation to the nearest intersection. Processing a new version of CTIS Base Map � When the Cartography Department releases a new version of the base map, the coverage (CTIS) has to be processed. CTIS processing is divided into four tasks:
Step 2: Route Building ProcessingWhen building an ArcInfo route system of the bus routes, the team obtained printed copies of the latest map and driving instructions for each route, as well as the Patterns Reports and the Trips Reports. The reports were used to determine which patterns were still valid and needed to be built. A Route Editing Tool (see Figure 2) was developed to help users create the routes. Building a route was a multi-step process that required completion of the following tasks:
Step 3: Sequencing ProcessingThe time points for each route were pre-assigned sequence numbers in both directions. The first time point for a route is always numbered 200, and subsequent time points are incremented by 100. Sequence numbers must be assigned manually to every bus stop and vehicle turn point between each time point. Typically, bus stop and turn points are sequenced in increments of 5 unless there are more than 19 bus stops and turns before the next time point. This strategy allows room for adding additional stops or turns if needed later or a mistake is made. Figure 3 illustrates how a pattern is sequenced. Before sequencing a route, the team obtained the latest map and driving instructions for the route and printed out the current Patterns Report and Trips Report. The reports were used to determine which patterns were still valid and needed to be sequenced. Also, the team used the Patterns Report to establish which time points were used in each pattern. A 1 in a time point column indicates that the time point applies to the particular pattern. A 0 indicates that the time point is not used for the pattern. The sequencing process requires the following coverages: pattern route, bus stop, time point and turn point. The result of the sequencing process is a series of newly created tables (i.e., BUS.DAT, TURN.DAT, SOP.DAT and TPLOC.DAT). A Sequencing Tool (see Figure 4) was developed to make the task of sequencing easier. In general, the procedure to sequence a route involves these steps:
If any of these errors occurs, the tables do not successfully load into PARIS. AML programs were created to detect errors in the sequencing tables and were run once the sequencing process was complete. ![]()
Step 4: Sequencing Tables and Route Loading ProcessingThe final step for processing the base map involves two tasks:
Loading the PARIS DatabaseThe new version of the CTIS base map that is used for the route building and sequencing is converted into the shapefile format and processed by an Avenue script to produce a comma delimited ASCII file. The base map ASCII file is loaded into PARIS using a SQL*Loader script and is built in the PARIS development database. The required PARIS tables from the route building, sequencing and TrapezeParse processing are output to comma delimited ASCII format files and loaded into PARIS using SQL*Loader scripts. A series of PARIS processes are then run on the UNIX server to build the database. Quality checks are made against the development database, errors are corrected and the database is moved into the production database. At this point the database is ready to be used by the PARIS itinerary planning software. Future METRO Service ChangesThe first three METRO Service Changes used the SQL*Loader method to populate PARIS with comma delimited ASCII format files. The ASCII files were transferred via either FTP or directly from the PC with Windows NT OS to the Solaris OS using a mapped disk drive made available using Samba. The SQL*Loader method was preferred because of the ability to view the results of each table load in a report, which proved invaluable in troubleshooting data errors. It is anticipated that future database loads will be performed using ODBC from Microsoft Access. METRO�s Scheduling Department is planning to acquire a Windows NT based schedule system. The new generation of scheduling software systems has powerful data reporting and exporting capabilities and can connect with other relational databases through ODBC. A more advanced scheduling system with GIS and relational database capabilities will certainly reduce the time and effort to produce and process the schedule information required by PARIS. Appendix � Trapeze ReportsSample reports in this appendix illustrate the format of reports produced by METRO�s Trapeze FX scheduling software. Author InformationDavid Dignum, formerly of Idea IntegrationTechnical Marketing Esri-Houston Satellite 3700 Buffalo Speedway, Suite 510 Houston, Texas 77098 Tele (713) 629-0475 Fax (713) 629-0682 ddignum@Esri.com Kim Dinh
Kimberly Heintschel
Jason Soroko, formerly of Idea Integration
Imad Haj-Ismail
|