55

Is anyone using open source tools and/or data to generate drive time polygons that radiate out from a given location? For example, I have used ESRI products like Network Analyst and Business Analyst to generate polygon boundaries that represent the maximum distance one can travel along a road network from a given point within a user defined period of time (say 5, 10, and/or 15 minutes). Are there any similar open source or web-based alternatives?

I saw this post, but it really doesn't give alternative options: Can you make a travel region polygon with with Google Maps API?

I was particularly curious to know if anyone is (or can) use OpenStreetMap to do drive time analysis?

Also, is there any implementation of the pgRouting utilities that could be used to generate polygons? http://pgrouting.postlbs.org/

0

9 Answers 9

54

This question has been converted to Community Wiki and wiki locked because it is an example of a question that seeks a list of answers and appears to be popular enough to protect it from closure. It should be treated as a special case and should not be viewed as the type of question that is encouraged on this, or any Stack Exchange site, but if you wish to contribute more content to it then feel free to do so by editing this answer.


GRASS v.net.iso will give you a result like this:

enter image description here

You might not want to run a convex hull algorithm on this output. Imagine the blue roads: A convex hull around them would contain a lot of parts that are not reachable in the time represented by "blue".

Instead, you might want to look into alpha-shapes (related question: What are Definition, Algorithms and Practical Solutions for Concave Hull?)

alpha shape sketch

You can create drive time isochrones using pgRouting and QGIS (as described here). I didn't use OSM in this case, but of course you could build your routable network based on OSM (see osm2pgrouting tool).

enter image description here

(full resolution)

For a pure PostGIS solution, you can use pgRouting alpha shape function. Here is a comparison of alpha shapes as implemented in pgRouting and the approach I presented in the previous update:

enter image description here

Colored areas represent the results of alpha shape function, black lines are the results of the interpolation approach described earlier. The catchment areas are less detailed using pgRouting's alpha shapes. Also, there seems to be no way to vary the value of alpha to create more detailed representations.

0
11

GRASS' v.net.iso can be used to to create the drive time 'network' which you could pass into a 'convex hull' command to get a polygon. Perhaps not ideal, but would work!

0
10

Well, potentially you could use v.net.iso from GRASS GIS. However it doesn't create polygons (AFAIK), but splits the lines by cost classes from the source.

As for calculating drive times from OSM, you could import the data into GRASS with v.in.osm, and use the v.net.iso to calculate the cost zones. If you wanted travel times and you don't have road speed limits potentially you could calculate the speed limit based on some function of road class.

9

You can use GraphHopper for that task, which also supports different mode like walking or biking and uses OpenStreetMap per default. You'll need some Java coding which explores the road network from the starting point similar to how the Dijkstra algorithms works but then you can get something like the following even in real time (<0.5s):

enter image description here

The code will collect the points which you have to convert to a polygon with e.g. the JTS tools. The speed largely depends on this last step. Without this it would be possible under 0.5s even for large distances.

Another way would be with OpenTripPlanner.

5

You might want to check out the open Route360° JavaScript API, which works with both Leaflet and Google maps. It returns travel time polygons for the following travel modes: walk, bike, car, transit.

Travel time polygons - NYC

It is free and open source and coverage is pretty good. You can find a lot of different tutorials on how to use it on the website.

0
2

I also stumbled upon gvSIG's Network extension, but the configuration documentation that I have found so far is fairly poor. I have high hopes for it, I just need to figure out the details for calculating cost.

I was using the US Census TIGER data for the road network and actually generated some polygons, but just couldn't get the cost units to really make sense. If anyone has successfully implemented this tool, I would love to hear about it.

I also found Quantum Navigator for QGIS, but I haven't found any recent updates.

2

The result with the concave hull approach is great and I've taken alot of inspiration from the above images. But I noticed that the results can include some areas that are inaccessible by road (like the river, for example). No doubt that this is not a problem in terms of searching for relevant features (population centroids, number of homes) by distance or time from the origin. But it also only works at either end of each link. Again, not an issue in the great majority of cases (since the longest road links have access control - you can't normally get off them until you get to the next junction/intersection).

However, for all that, I've been working on a different approach based on the LINKS returned by PgRouting / (or a raw "Dijkstra" algorithm) ordered by time from the origin node. It's relatively simple and categorizes links by time band and also splits links that cross the time boundaries. Then links with the same categorization (e.g. 0-2 mins, 2-4 mins) are buffered by 250 metres.

1

Although not directly answering your question, you should take a look at the Mapnificent API.

Mapnificent provides dynamic public transport travel time maps for many cities in the US and some world wide. You can use the Mapnificent API to augment your Google Maps application with public transport travel time overlays.overlays.

Take a look at London here. alt text

0
0

At this year's WhereCampPDX, several OpenStreetMap representatives stated that using OSM data for routing is fairly common in Europe. However, it is rarer in the US because the map is usually not good enough. You can check out an OSM-based routing service at:

http://openrouteservice.org/

0

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