tulsawebdevs / django-multi-gtfs

Django app to import and export General Transit Feed Specification (GTFS)
http://tulsawebdevs.org/
Apache License 2.0
50 stars 32 forks source link

Maybe remove the 'Inbound-Outbound' labels #32

Closed araichev closed 9 years ago

araichev commented 10 years ago

I've found the choices=(('0', 'Outbound'), ('1', 'Inbound')) argument of the direction attribute of the Trip model (https://github.com/tulsawebdevs/django-multi-gtfs/blob/0c9d9ae47ba25f32655ccba5a0af2201234647da/multigtfs/models/trip.py#L123) to be somewhat problematic, because it's not accurate for all feeds.

More specifically, in some feeds, such as good old SEQ, 0 does not always mean outbound, and 1 does not always mean inbound. In that feed, some direction 0 routes are inbound and some are neither inbound nor outbound, being cross-town routes. And that's not breaking the GTFS rules as far as i can tell, because 0 = Outbound and 1 = Inbound are only example interpretations in the spec (see https://developers.google.com/transit/gtfs/reference#trips_fields).

With that in mind, i vote for removing the 'Inbound-Outbound' labels associated with directions 1 and 0.

jwhitlock commented 10 years ago

0 = Primary, 1 = Secondary? Or is no labels better?

araichev commented 10 years ago

I think no labels is better.

The one bit we have to indicate direction (as specified in GTFS) can't separate the variety of (more than two) geographical directions among routes: inbound, outbound, crosstown, northbound, southbound, eastbound, westbound, etc. It can only separate opposite directions within routes: this way of traversing the linestring or the opposite way of traversing the linestring. So the most appropriate labels would be something like 'this way' and 'the opposite way', which aren't any better than 0 and 1, in my opinion.