I'm trying to use train tracks as a network in ArcGIS Network Analyst.

We are trying to create a model for security agents on board our trains and we'd like to optimize their daily "route". For now, it's all made by hand.

My approach is to take our gtfs data and create a network using stop times to determine when the train segment is "traversable". When there's a train on the segment, it's open, if not, it's restricted.

The problem is I can't set a restriction based on time in Network Analyst (or wasn't able to). I would like to be able to say by a formula or script than you can take that segment only from 7:03 AM to 7:10 AM for example.

Is it possible?

1 Answer 1


What you want to do is possible, but not in the manner you're thinking.

A network could generally be considered static in that the rules and restrictions for the edges are governed by single, static values. Accounting for change and time of day is another level known as Traffic.

You may want to read through this ArcGIS help page for a detailed explanation, but basically either storing a variety of values for a single edge or multiple networks with varying values would take up too much space. Instead, the travel time properties (or a profile) for an edge are referenced from a lookup table based on time of day.

What you need to do is create historical traffic data for your network based on the train schedule. There are several tutorials and help pages that can assist you with this, but covering the whole process would be too long for a SE question/answer.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.