[hackpgh-discuss] Re: Bus stop API

  • From: gwen <gwenix@xxxxxxxxx>
  • To: hackpgh-discuss@xxxxxxxxxxxxx
  • Date: Mon, 25 Oct 2010 09:13:12 -0400

With any luck, this might mean they're going to fix the data too.  I
hope so, because before it went bad, the app was incredibly useful for
me.

On Mon, Oct 25, 2010 at 8:46 AM,  <matthew@xxxxxxxxxxxx> wrote:
> Thanks for the heads-up regarding RouteShout being less than trustworthy.
> Less than an hour after I registered for an API key, I received an email
> saying they were upgrading the API versioning (inserting a "/v1/" into the
> URL to help with migration between different versions) so it looks like
> someone is working on it. If the data isn't good though, it's pretty
> worthless.
>
> I was initially going to directly use the PA's data feed, but the
> routeshout API was much easier and quicker to start working with. I'll
> have to dig around for some existing parsers before I dump too much time
> into this.
>
> Thanks much,
> Matthew
>
>> The guy who was working on the RouteShout app has since left
>> DeepLocal, and the app has suffered for it.  I wouldn't trust their
>> data, it's often very very wrong, and misses entire runs of buses.  I
>> really don't know why it's so bad, but it is, and I've given up on it.
>>
>> As Derrick pointed out, the data is available directly from
>> PortAuthority.  I would use that instead (it's where google gets their
>> information too!)
>>
>> On Tue, Oct 12, 2010 at 4:57 PM, Matt Stultz <matt@xxxxxxxxxxxxxxxxxx>
>> wrote:
>>> The routeshout thing is actually done by a local company called
>>> DeepLocal.
>>> We have had these guys come in to the shop to talk about one of their
>>> other
>>> products that is a spin off of routeshout called gumbands. I'm sure they
>>> would love to see this once we have it up and running. They also
>>> explained
>>> why it's only schedules and not real time as Derrick pointed out.
>>>
>>> Thanks,
>>> Matt
>>>
>>> On Tue, Oct 12, 2010 at 4:54 PM, Matt Mets <mahto@xxxxxxxxxxxxx> wrote:
>>>>
>>>> The flipdot display I have is probably a pull from an old bus, so we
>>>> could
>>>> probably start with that
>>>> (http://www.flickr.com/photos/cibomahto/4549394144/). It is technically
>>>> on
>>>> loan, though, so a replacement is probably a good idea :-)
>>>>
>>>> Cheers,
>>>> Matt
>>>>
>>>> On 10/12/2010 04:46 PM, Matthew Beckler wrote:
>>>>>
>>>>> I was thinking it would be great to acquire an old bus sign (like from
>>>>> the top of the front of the bus) to display the next bus to arrive,
>>>>> and
>>>>> maybe how long until it arrives? I might have a contact with a contact
>>>>> of some Authority figures, so we'll see what we can find.
>>>>>
>>>>> This seems like something simple that could be run on the jukebox, and
>>>>> spit serial out at an arduino or something.
>>>>>
>>>>> On 10/12/2010 04:33 PM, Matt Mets wrote:
>>>>>>
>>>>>> Awesome! I 'acquired' the bus sign and a pedestrian walk/don't walk
>>>>>> light for this project. I can put together a simple relay controller
>>>>>> to
>>>>>> drive the sign, and bring it back into the shop. It would probably be
>>>>>> nice to have a sign that displays which route the current bus is on;
>>>>>> I
>>>>>> also have a loaner flipdot display that could be re-purposed for
>>>>>> this.
>>>>>> Any designs on which computer/embedded thing to run this on? It could
>>>>>> potentially be a cloud-based service that is polled by a dumb client,
>>>>>> in
>>>>>> a similar manner to the LED sign.
>>>>>>
>>>>>> Loving the multi-layered approach for making these projects :-)
>>>>>>
>>>>>> Cheers,
>>>>>> Matt
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 10/12/2010 04:26 PM, Matthew Beckler wrote:
>>>>>>>
>>>>>>> I know that someone mentioned that we have a bus stop sign hanging
>>>>>>> out
>>>>>>> in the shop, with the grand idea to have it light up or otherwise
>>>>>>> indicate when a bus is coming soon. I suppose the first step towards
>>>>>>> that is figuring out how to get that data, so this afternoon I took
>>>>>>> a
>>>>>>> snack break and got something working.
>>>>>>>
>>>>>>> There is a website called RouteShout that parses the General Transit
>>>>>>> Feed Spec (GTFS)[0] feed that transit agencies publish so Google can
>>>>>>> provide transit info on google maps. RouteShout provides an easy and
>>>>>>> useful web API around that data (http://www.routeshout.com/main/api)
>>>>>>> that is pretty slick.
>>>>>>>
>>>>>>> I registered for an API key, and wrote a chunk of python to do what
>>>>>>> we
>>>>>>> need. There is lots of info available, but all we really need to do
>>>>>>> is
>>>>>>> to "Get a list of upcoming stops for a specific agency and stop
>>>>>>> (within
>>>>>>> next 2 hours)". For my key, the PA, and the HackPGH bus stop on
>>>>>>> Jumonville at Watson, this is the url to fetch:
>>>>>>>
>>>>>>> http://api.routeshout.com/rs.stops.getTimes
>>>>>>> ?key=361099f484000362836fca4cc320085d
>>>>>>> &agency=paac
>>>>>>> &stop=E33040
>>>>>>>
>>>>>>> The API call returns a "webpage" that looks something like this,
>>>>>>> slightly trimmed:
>>>>>>> {
>>>>>>>      "response": {
>>>>>>>              "timezone": "America/New_York",
>>>>>>>              "times": [
>>>>>>>                  {
>>>>>>>                      "type": "scheduled",
>>>>>>>                      "arrival_time": "03:49 PM",
>>>>>>>                      "departure_time": "03:49 PM",
>>>>>>>                      "route_short_name": "71D",
>>>>>>>                      "route_long_name": "HAMILTON - VIA
>>>>>>> OAKLAND-SHADYSIDE-5TH AV - OR"
>>>>>>>                  },
>>>>>>>                  {
>>>>>>>                      "type":"scheduled",
>>>>>>>                      "arrival_time":"03:50 PM",
>>>>>>>                      "departure_time":"03:50 PM",
>>>>>>>                      "route_short_name":"71C",
>>>>>>>                      "route_long_name":"POINT BREEZE - VIA
>>>>>>> OAKLAND-SHADYSIDE-CENTRE AV - OR"
>>>>>>>                  },
>>>>>>>         ...
>>>>>>>     ]
>>>>>>>     }
>>>>>>>     "status": "ok"
>>>>>>> }
>>>>>>>
>>>>>>> I wrote a little bit of python to fetch and parse this data, giving
>>>>>>> us
>>>>>>> results like this:
>>>>>>>
>>>>>>> matthew@broderick$ ./get_stop_data.py
>>>>>>> Status: ok
>>>>>>> Timezone: America/New_York
>>>>>>> 04:16 PM
>>>>>>>      71A
>>>>>>>      NEGLEY - VIA OAKLAND-SHADYSIDE-CENTRE AV - OR
>>>>>>> 04:17 PM
>>>>>>>      500
>>>>>>>      HIGHLAND PK - DOWNTOWN-OAKLAND-ZOO - OA
>>>>>>> 04:20 PM
>>>>>>>      71D
>>>>>>>      HAMILTON - VIA OAKLAND-SHADYSIDE-5TH AV - OR
>>>>>>>
>>>>>>> Seems like this is a good first step towards getting some sort of
>>>>>>> bus
>>>>>>> alert system going. I'll go ahead and add this information and my
>>>>>>> script
>>>>>>> to the wiki.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Matthew
>>>>>>>
>>>>>>> [0]
>>>>>>> http://code.google.com/transit/spec/transit_feed_specification.html
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>>
>> --
>> Gwendolyn R. Schmidt
>>
>>
>
>
>
>



-- 
Gwendolyn R. Schmidt

Other related posts: