How do I add transportation schedules to a multimodal network dataset? For example, Bus 1 runs between 08:00 and 16:00, and Bus 2 between 14:00 and 23:00. If a passenger wants to solve for a route starting at 16:30, Bus 1 cannot be included in the result as it is not in service at that time.

After some research, I came across this article about managing a public transit system in GIS using ArcInfo 8 (the article is from 2004). The transit data model is essentially the same as the one that ESRI currently has available, except they added a table called ScheduleTimetable, which contains the bus schedules which are related to routes. This table can't be added to the network dataset though, as file gdb tables can't be stored inside a feature dataset (and therefore can't be used in a network dataset). How would I be able to access the time fields so they can be used as restrictions for the routes?


3 Answers 3


According to this post on timetable-based routing on the ArcGIS forums, this is not possible as of yet in Network Analyst.


You can create a Custom Evaluator kind this one: http://www.arcgis.com/home/item.html?id=72ef24542857413c8981f2e196f1bb13

I have personalized this importaing transit data in network dataset creating on the fly:

//distance evaluator
            IEvaluatedNetworkAttribute evaluatedNetworkAttribute = new EvaluatedNetworkAttributeClass();
            INetworkAttribute2 networkAttribute = (INetworkAttribute2)evaluatedNetworkAttribute;
            networkAttribute.Name = "Minutes";
            networkAttribute.UsageType = esriNetworkAttributeUsageType.esriNAUTCost;
            networkAttribute.DataType = esriNetworkAttributeDataType.esriNADTDouble;
            networkAttribute.Units = esriNetworkAttributeUnits.esriNAUMinutes;
            networkAttribute.UseByDefault = true;

INetworkConstantEvaluator netConstantEvaluator = new NetworkConstantEvaluatorClass(); netConstantEvaluator.ConstantValue = 0; evaluatedNetworkAttribute.set_Evaluator(networkSourceEdge, esriNetworkEdgeDirection.esriNEDAlongDigitized, (INetworkEvaluator)netConstantEvaluator); evaluatedNetworkAttribute.set_Evaluator(networkSourceEdge, esriNetworkEdgeDirection.esriNEDAgainstDigitized, (INetworkEvaluator)netConstantEvaluator); DepartureTimeEvaluator.DepartureTimeEvaluator departureTimeEvaluator = new DepartureTimeEvaluator.DepartureTimeEvaluator(); IPropertySet propertySet = new PropertySet(); propertySet.SetProperty(DepartureTimeEvaluator.DepartureTimeEvaluator.PROPNAME_SCHEDULE_PATHGDB, featureDataset.Workspace.PathName); propertySet.SetProperty(DepartureTimeEvaluator.DepartureTimeEvaluator.PROPNAME_SCHEDULE_TABLE, DepartureTimeEvaluator.DepartureTimeEvaluator.DEFAULT_TABLE); propertySet.SetProperty(DepartureTimeEvaluator.DepartureTimeEvaluator.PROPNAME_SOURCEID_FIELDNAME, DepartureTimeEvaluator.DepartureTimeEvaluator.DEFAULT_SOURCEID_FIELDNAME); propertySet.SetProperty(DepartureTimeEvaluator.DepartureTimeEvaluator.PROPNAME_OID_FIELDNAME, DepartureTimeEvaluator.DepartureTimeEvaluator.DEFAULT_OID_FIELDNAME); propertySet.SetProperty(DepartureTimeEvaluator.DepartureTimeEvaluator.PROPNAME_DEPARTURETIMES_FIELDNAME, DepartureTimeEvaluator.DepartureTimeEvaluator.DEFAULT_DEPARTURETIMES_FIELDNAME); departureTimeEvaluator.Data = propertySet; evaluatedNetworkAttribute.set_Evaluator(networkSourceJunction, esriNetworkEdgeDirection.esriNEDNone, departureTimeEvaluator); evaluatedNetworkAttribute.set_DefaultEvaluator(esriNetworkElementType.esriNETEdge, (INetworkEvaluator)netConstantEvaluator); evaluatedNetworkAttribute.set_DefaultEvaluator(esriNetworkElementType.esriNETJunction, (INetworkEvaluator)netConstantEvaluator); IArray attributeArray = new ArrayClass(); attributeArray.Add(evaluatedNetworkAttribute); deNetworkDataset.Attributes = attributeArray;

I have recently visited the link that you shared originally - it seems that the discussion continued and now it is possible to incorporate Add GTFS to a Network Dataset - http://www.arcgis.com/home/item.html?id=0fa52a75d9ba4abcad6b88bb6285fae1 - I am currently attempting to incorporate time tables into a multimodal public transport network myself. So perhaps this could assist.

  • Hey Winston, nice to see you here :) Yes, at the time that option did not exist. I got in contact with Melinda Morang at ESRI, who was developing that tool. By the time it came out, the project I needed it for had already been completed. This definitely seemed like a viable option. If you use this, please post back here? Commented Jun 29, 2015 at 5:01

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.