I am building a route planning system, but i have still to decide what underlying routing engine i will use. So far i have found pgrouting and neo4j.
I have my route network in a postgresql/postgis database (imported from a shapefile). I have made queries to extract nodes (endpoints of ways where you have to make a decision what direction to go or dead ends) and to extract edges (often made up by several consecutive ways). All my edges are bidirectional.
My main goal is to calculate routes on this network using an A-star algorithm where distance =cost.
My feeling tells me that a graph database like neo4j is the way to go (as it seems to be made for just this purpose), but they don't seem to support A-star by default and also there is no real sense of geometry. It seems better suited for social networks instead of maps.
- Would pgrouting fulfill my needs?
- Is it fast enough for on the fly queries (+-2000 nodes, +-4000 edges)? Normally this would be a few ms for A-star, but i am unsure about this implemenatation in sql.
- Does pgrouting A-star give me a list of nodes and edges?
- In most examples i see about pgrouting i notice there is usually a list of commands after calculation of the route (like "At X turn left, etc"). Does pgrouting produce this or is this from another system?
Hopefully someone can give me some information about what system to choose. Neo4j, pgrouting, or some other system.