I have a database of about 1M geolocated addresses and I'm looking for a way to sort/filter these records based on a starting point and max travel time.


  • "find every baker shop within 30 min of {where I am}"
  • "find every {whatever} within 60 min of {my work address}"
  • Optional: "find every {whatever} within 60 min of {where I am} AND 30 min of {my work address}"

Is there a known algorithm for this type of queries ?

It looks like PostGIS + pgRouting would fit the job, but I don't know where to start.

I'm looking for a server-side solution that I'll query with a PHP application.

  • sounds like you have already answered your own question in the question.
    – Mapperz
    Jun 8, 2015 at 14:05
  • I'm new to the GIS world. I don't know if PostGIS is the best way to go, especially with 1M row + timetable data. What would be the expected performance ? Which PostGIS feature should I learn first ? Is there any other tool that address this problem specifically and would be better than PostGIS ? Jun 8, 2015 at 14:10
  • expected performance would be based on what hardware (+RAM) and speed of your network
    – Mapperz
    Jun 8, 2015 at 14:11

1 Answer 1


The search term you need is "isochrone". A web search should reveal techniques for creating your 30-minute (or 60-minute, or whatever) boundary. With that, it's a simple intersection problem to find the contained points.

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.