Regarding data


#1
  1. I need to develop application having timetable of all transportation medium like (bus ,train,rail,ferry,light rail).
    so for that
    I am accessing https://api.transport.nsw.gov.au/v1/publictransport/timetables/complete/gtfs

Am I on right way?(because there is also other api’s for timetable like transxchange)

  1. how frequently these data get updated from your side ? i mean in a day, in a week , in a month, in a year?? (because i need real time data)

  2. As I have listed above my requirements like timetable data of (bus ,train,rail,ferry,light rail),
    so is it enough to call this single api or do i need to call others?

  3. by accessing this gtfs api i am getting 8 txt files having big size of data. how they are inter related to each other? i mean how they are connected? if i need to query for single bus how can i filter that?


#2

If you need to deal with the timetable information with realtime data for all transport modes, then you should use the timetable for realtime API dataset: https://opendata.transport.nsw.gov.au/dataset/public-transport-timetables-realtime

From there you should be able to get the URL end-points you need (for buses, there are multiple end-points).

There are specs on the website showing you how the files are connected to each other.


#3

Hi @dhamu143, strongly recommend you read all the documentation available on the Open Data Hub and Google GTFS specification. This includes:

Thanks,
Alex


#4

when i try to access https://opendata.transport.nsw.gov.au/dataset/public-transport-timetables-realtime
i am getting this type of error.

Error: Illegal wire type of unknown field 0 in Message .transit_realtime.FeedMessage#decode: 3

it means it contains some error.


#5

Looks like you are trying to talk to the URL and decode it? That URL is not an API end-point; it is a page you can read up to start on accessing realtime data.


#6

i have tried this api .
https://api.transport.nsw.gov.au/v1/gtfs/schedule/buses

not that URL


#7

There are multiple buses end-points, one for each bus operators.

For example:

https://api.transport.nsw.gov.au/v1/gtfs/schedule/buses/SMBSC001
https://api.transport.nsw.gov.au/v1/gtfs/schedule/buses/SMBSC002
https://api.transport.nsw.gov.au/v1/gtfs/schedule/buses/SMBSC003


and so on.

You can find all this information on the Open Data documentation/website.


#8

i have used this

GtfsRealtimeBindings.FeedMessage.decode(body); to decode response.

and i am getting this error

Error: Illegal wire type of unknown field 0 in Message .transit_realtime.FeedMessage#decode: 3

how can i decode this reponse? i am using node js language.


#9

I had problems with this library in some cases so ended up using other Node JS library instead. Also note that there are different proto files for different transport modes (e.g. buses has its own TfNSW extension in the proto file).


#10

can you please recommend me some working decoding library in nodejs. ?