[GIS] Forcing route in ArcGIS Network Analyst

arcgis-10.0arcgis-desktopnetwork-analyst

I'm fairly new into the public transportation universe and now I have to create route analysis.

I have thousands of routes to create, so that leave out the manual option. I obviously have origins and destinations, but transportation means as well (car, subway, bus and bus route and subway lines number for public transit. I even have in-station and out-station for the subway). In short, anything to follow, step-by-sted, a person moving from its origin to its destination.

Is there a way, with Network Analyst, to force a route to take a certain highway, or a bus route if I have it's number in attribute? I thought of creating stops, but a bus route can be very long so using the centroid of the line isn't an option, same as using a stop for a highway which can be hundreds of km long…

I could at least solve my routes separately for car and public transit, but again, how to force the later to use public transit when solving my network?


The goal is to create a map of all routes taken, coming from and going to a city.

I have ArcView 10.0 (soon ArcEditor) and Netork Analyst (I could take the pgrouting avenue as well, but it's not officially supported by my organization).

The problem is when I create my routes with NA, it always takes the highways when sometime I know the user took the train. It's king of doing like Google when asking directions and choosing public transit.

I have interview data describing everything (from home, took his car to this station to take the train, then got out at that station to take the subway until its destination, …). I have everything as attribute. home_x, home_y, first mean of transportation = 'car', in_train_station, out_train_station, in_subway, out_subway, dest_x, dest_y, etc. Of course, as attribute in my table.

I'd like the system to take the info contains in the table to create its route, for example, forcing the route highway 15, to take the train line #2 and subway #3 until the destination, which is at [dest_X, dest_Y].

My current thought is using ArcPy. I'd select all the elements (highways, train, subway lines, …) using the attributes, create a network using only those lines, create the route with Network Analyst, export the route into a shp and doing it in loop for all the line in my input table.

I think doing a couple hundreds could be fine, but for the for city I had to do this analysis, I have 8000+ routes to create. Next year, we'll do a regional campaign and we'll have 160,000+ routes.

Best Answer

I suppose the first question is why you want so many routes to that precision? 8000 routes overlaid on one map is not going to look very pretty. Would you not be better just to draw straight lines? Is the actual route really that important?

There are a number of different problems with the approach you propose above - the first is going to be connecting the rail/subway and road networks together without which it can't be routed as a whole, which from your description above of data with modal interchanges, is what you need.

The next problem is, as you say, getting enough waypoints to force your routes to take a certain mode of transport. I guess you will probably need to get a mid point between each part of the rail network that is between an interchange onto the other network. But how do you stop road journeys routing onto the rail network (which is usually more direct)? You could add a very high cost for rail routes, but this might force some journeys to double back unless you got the waypoint right in the middle. And how on earth do you deal with bus / tram networks, short of adding waypoints for each route segment?

The final problem is processing time. Depending on the size of the network, it could be very high for the number of routes you are talking about here.

To be honest, I'm not even sure that the advanced and expensive transport modelling packages such as TransCAD / EMME3 have this functionality out of the box, as they are primarily concerned with modelled data, rather than real world data.

Bottom line is that it's possible I think, but will involve substantial investment in time to sort out the network and a heavy degree of programming before you can undertake this analysis.

Having said that, someone must have attempted this before. Which is a good argument to ask transport professionals, not just GIS people.

Related Question