I'm looking for an algorithm for simplifying isochrones which were generated using OSM data.

These are generally characterised as having lots of small "holes" mostly due to missing OSM data but also frequently having small "islands" due to the use of transport like subways. I have tried a number of tools for this but all are too aggressive at shrinking space - most critically, deleting the islands. Reachability to these public transport islands is very important.

So rather than focusing on tools, I wanted to step back a bit and ask if any particular algorithms are well or not well suited to such a task? i.e. being aggressive at removing holes but conservative about not removing islands.

The isochrones start life in GeoJSON format. They eventually will be imported to PostGIS.

  • For computing simpler isochrones, you might be interested in api.oalley.fr. Algorithm generates isochrone areas without holes. It may be seen as a perk or as a flaw, but if you need simpler zones you might be interested. Note: I am one of the devs, so far computations need improvement and this thing is mostly an experiment, but we are letting everyone play with it for free. – Overdrivr Oct 24 '16 at 12:37

Maybe resolution is start from begining?

Which way you're creating isochrones?

I'm using pg_routing and it returns set of edges reachable in specified time instead of a polygon so I can draw polygon from this data the way I want to - I can use st_ConvexHull, st_ConcaveHull, st_Buffer...

The first function is like place something in rubber balloon, second is like suck out air from this balloon, and this function could be think you're looking for cause it'll return geometry represents a possibly concave geometry that encloses all geometries within the set and have got parameter preventing holes in returned geometry...

But still I'm not sure if it's good way - you'll get one geometry which will not be true, because you cant jump off the train while it's running. Maybe you have to use ST_ExteriorRing to get holes out and then st_simplify to simplify the geometries?

Please add comment which will guide me to right way if you think this answer could be useful so I can re-edit it to be correct.

  • I am using OpenTripPlanner to generate isochrones. pgRouting doesn't seem to have proper GTFS/public transport timetable support so that's why I went with OTP. My idea is to have OTP generate at high precision them apply my own custom smoothing to it. I agree that the "jump off a train while it's running" would be a fatal problem with the isochrones - hence why the islands need to be there. – rgareth4 Jun 16 '14 at 21:08

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.