During my recent preparations for a conference trip to the IEEE International Conference on Decentralized Applications and Infrastructures in California, I was faced with the question of which places I could still visit in the context of a possible private stay afterwards.
Given various time contraints for the event as well as return flights, I was looking for potential places that are reachable by car within a certain time. Of course, this would have been easy to answer for specific places by just calculating individual routes.
However, I was looking for a way to see all reachable points at once. Literally all reachable points — I wanted to see a polygon on a map. And I wanted to be able to tap on the map and immediately see what is reachable from there.
Unfortunately, none of the big map/routing providers had this directly built into their map interfaces.
Then I remembered a talk by @sueselbeck in Berlin some time ago. Amongst other things, he presented an API for isoline routing as part of here.com's routing APIs. This was exactly the kind of data that I was looking for.
Quite spontaneously I decided to try building it myself. During lunch, I quickly grabbed the first best available domain name and went back to work. The next evening I finally had some time for coding and gave it a try.
Fast forward six hours later, the first prototype of was ready:
So, Sequoia National Park was too far away, but Yosemite National Park appeared to be reachable from Newark within three hours. Given that it is almost impossible to find an accomodation within YNP unless you book one year in advance, the next question was what is reachable from Yosemite valley.
(I actually stayed in Mariposa later and had some really great hikes in YNP, but that is another story.)
Technically, the prototype boils down to:
- Using HERE's geocoding autocomplete API for search-as-you-type in the address search field.
- Calling HERE's geocoding API for converting address search strings into geo-coordinates.
- Calling HERE's routing API to calcualte an isoline polygon, i.e., the area that is reachable within a certain time or distance.
- Using HERE's map API to render the map.
The site is served from a static AWS S3 bucket.
You can check out the prototype at: http://reachable.in
However, please keep in mind that this is really a very initial alpha version and I am not a web developer at all.
After looking up several locations around the globe and also trying different time frames, another idea emerged:
Intersection of multiple isolines
Imagine two partners who are looking for a shared apartment. Both are working in different parts of a town. By intersecting the 10-minutes isolines around their two work locations, they could immediately identify the area from which both can get to work in under 10 minutes — and that would be their search area for the new flat.
Like this, for example:
Of course, commuting to work should be rather done by bike or by walking. HERE's APIs do offer a pedestrian mode, however, bike- or public transport-based isolines are not supported yet.
Personally, I would love to see more of this functionality being integrated into mapping and routing applications. Of course, time-based reachability is already considered in some housing search-engines etc. However, looking at a map that shows you the actual area is still something I haven't seen a lot yet. For example, try to imagine the places that you can reach by car from Berlin within five hours. Got it? Well, here you go:
It was a lot of fun and very nice to see, how easy it has become to build such a tool within no time.