Is there a standard or a best practice way to store certain features about roads:

Road directionality:

One way streets: Roads going in one direction only

Center Turning lanes: roads that exist between two lanes, that either lane can use to turn left or right such as this

Highway interchange Ramps and merge lanes

Road Functionality:

Intersection layout (signalized or unsignalized):

Incorporating the different allowed and disallowed patterns of an intersection into a db, such as:

No-U turns

Turn left on green (or not)

green cycles and times

Actuated versus non-actuated approaches in intersections

Right of way rules: Some intersections might have different Right of Way rules than typical. Take for example a hilly road, where everyone must stop at the stop sign, except for the people who are traveling uphill. They do not have a stop sign, so all traffic must yield to them.

@Mapperz - North american, but it shouldn't really matter. by one-way direction, I mean that some roads you can only go from point A to point B but not the other way around
–
dassoukiAug 11 '11 at 14:09

1

Tell ESRI that - Use Network Analysis for years and still they allow right turns when on red! (illegal in the UK as crossing the path on oncoming traffic).
–
Mapperz♦Aug 11 '11 at 14:58

@Mapperz - Even in Canada, in Quebec, Right on Red is not allowed, and in some jurisdictions, they implement a 15 second all white rule (meaning, pedestrians on all approaches get white)
–
dassoukiAug 11 '11 at 15:00

4 Answers
4

Unfortunately, some of those feature are deeply dependent of the piece of software you use.

For example, let's take the U-Turns in ArcGIS and PGRouting. In ArcGIS, it is something you can choose as an option, in PGRouting, it is nested in the code.

On way street can be processed in two way. The are set up part of the graph with a very high cost (PGRouting) or simply removed from the graph (ESRI, which makes more sense)

Turns cost of prohibition are anyway a set of rules you need to know and that are really data dependent. Rule could be modified dynamically in PGRouting, but not in ArcGIS as far as I know (my last use of Network Analyst was on 9.3 and at that point, the graph had to be recompiled every time you make a change).

So you should take a look at what is done on both PGRouting and ArcGIS. It will determine a lot of how you need to store things.

Fabien, Thanks for the amazing info, I wasn't aware of the major differences between Arc and pgRouting. Currently, I haven't purchased a network analyst license, I'm considering using pgRouting/postgis for this application. any suggestions on how to mode3l and represent center lanes?
–
dassoukiAug 11 '11 at 14:44

2

No routing engine manage such a thing as lane. For them, it only egdes that have attribute and relation between them. So you would need to know between wich segment you have thing kind of lanes (for example from A to B and from A to C), and then assign a cost between those two segments. In PGRouting, it would be done using the Shooting Star algoritm but you can also define turn cost in ArcGIS Network Analyst.
–
Fabien AncelinAug 11 '11 at 16:04

2

If you want to use PGRouting and Shooting Star, it is a nice tool, but you will need to dive into the code in order to solve a couple of bugs, you need to know that, but it is mainly logic, no hard core programming. Link for shooting star and rules : pgrouting.org/docs/foss4g2008/ch09.html
–
Fabien AncelinAug 11 '11 at 16:06

Here's a draft logical data model I've been told (unofficially) they are working on implementing at Colorado DOT. It is geared for ArcGIS, but I think it is generic enough to borrow parts of for use in PostGIS without having ArcSDE.

It is not clear to me how (or if) this data model fits into the Rome project at Esri.

Hi OJW. Welcome to gis.stackexchange. Please consider adding some text and summing up the main points of the linked pages in your answer. We're trying to collect the best information permanently and links can break.
–
underdark♦Aug 11 '11 at 19:33