According to ESRI's transit data model, this implementation, and several thesis papers, any non-spatial information (such as public transport schedules, employee info, trips etc) which is not stored in feature classes should be stored in geodatabase tables (I agree).

The problem I have is with accessing the data in those tables. Once the network dataset is created, how can the scheduling data be "loaded" or used for the route analysis? Or any of the other data, for that matter?

The articles I've linked to are from several years ago, and they all used different (custom) applications to retrieve the data from the geodatabase tables for use with the network dataset. They all used relationship classes to relate the tables to the various feature classes in the network dataset. Is there a way to do this using the new Python module in 10.1 (or any other way?)


Technically speaking, you could create multiple relationship classes (even of composite type which would allow you enable cascade delete - when, for instance, a street segment is deleted, associated records in a related tables will be deleted, and vice versa).

Then you could use a GP tool (or call from a Python code) for creating a network analysis layer, say VRP layer. Then you use some logic (I'd recommend checking what classes participate in a relationship class with the Describe and then arcpy.da.SearchCursor to go through the rows in the needed table/feature class) for pulling the rows you need and use the Add Locations GP tool in a Python script for the retrieved rows (for Routes table in VRP layer) or features (for Orders). Afterwards, you run the Solve GP tool (or call it from Python code).

You don't need to use the arcpy.na module for that since you would manage this type of workflow by using core GP functionality, but if you want to have a more fine-grained access to some of the solver properties, then arcpy.na would be helpful.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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