static-GTFS-manager tool updates

311 views
Skip to first unread message

Nikhil VJ

unread,
Nov 12, 2018, 6:09:55 AM11/12/18
to Transit Developers
Hi folks,

I had previously posted about this here but making the subject line more specific now.

static-GTFS-Manager is an open source software tool developed by World Resources Institute, India for editing or creating static GTFS feeds for any transport system, in a user-friendly interface with zero programming skills needed on the user's part. The intended user base is transport agency officials and people hired by them. I'm based in Pune, India and am the lead developer.

A lot of development has happened since I last posted and we're on v3.3.0 now. Listing down some features and some news.

1. Binaries to double-click and run in Windows and Ubuntu : 
If you're on Windows, you can now just double-click a "GTFSManager.exe" in the program folder to launch the tool. 
If you're on Ubuntu/Linux, then double-click a binary file named "linux_GTFSManager_executable". (may have to set its permissions to executable first. See details here.)

2. Docker-based easy install and launch for MacOS users:
Install docker on your system, then:
Double-click "MacOS_docker_install.command" to build and install the program as a docker app.
Double-click "MacOS_docker_run.command" to run the program once you have installed it. 
Read this wiki page for more info. The same docker app can be deployed on Windows and Ubuntu systems too.

3. Layout changes : 
The top menu layout shows the GTFS tables in the order in which they should be populated if someone is trying to create a feed from scratch. Parts which aren't core GTFS are parked on the side.

4. DB change : 
Changed the program's internal databasing system to HDF5 format which lets one store, read tables at higher speed and compression compared to CSV or JSON, where schema (columns) need not be defined, and it is stored in local files, with no extra db server to setup. A different db was needed as the earlier json-based one worked well for smaller feeds but got very slow for larger feeds. Now the program runs smoothly with even very large GTFS feeds.

5. Chunking large tables: 
Stop_times and shapes tables are stored in chunks. During data reading ops, only the required chunk is loaded, keeping RAM consumption low. Also, chunking features with python's pandas module ensure that during GTFS import and export actions, a large feed doesn't clog up the RAM and crash the program.

6. Support for more tables from static GTFS spec: 
Frequencies.txt , calendar_dates.txt, feed_info.txt can now be managed on the tool. You can provision a route having frequencies, and have date-specific calendar schedules.

7. Default route sequence, shape:
GTFS format conventionally does not directly associate a route with a sequence of stops, allowing trips under one route to have any layout. This is great for routes having diverse trips, but makes provisioning of new trips tedious. The Default Route Sequence page sets up a default stops sequence for each direction of the route. It also supports uploading a shapefile to set as route's shape (shapes.txt). With this, when a new trip is provisioned, in stop_times the default route sequence is automatically loaded as a template, which the user can then change. (work ongoing on properly facilitating the last part)

8. Renaming, deleting id's : 
Special pages for renaming or deleting an ID (like a stop_id or a trip_id). The program cascades the changes across multiple tables, maintains feed validity by preventing cases like orphaned stop_id's in stop_times. It avoids unnecessary deleting by merely zapping entries where they're optional (like: zone_id in stops.txt). Bulk deleting is also supported, like if you delete a route_id then all the trips under it and their stop_times data are also deleted. This can be useful for feeds where some of the data is redundant and some housekeeping is needed.

9. Users
We're pleasantly surprised to see dozens of users from cities around the world finding and checking out the tool! The users have increased since introducing the .exe version for Windows.

10. Further development
There are several more enhancements lined up for development. You're invited to engage with the project on the repo. Getting a request / comment / upvote for a feature will move it up the priority list and make that enhancement happen sooner.


Cheers,
Nikhil VJ
+91-966-583-1250
Pune, India


Reply all
Reply to author
Forward
0 new messages