Skip to content

Rjf/isochrone simplification - #172

Open
robfitzgerald wants to merge 7 commits into
mainfrom
rjf/isochrone-simplification
Open

Rjf/isochrone simplification#172
robfitzgerald wants to merge 7 commits into
mainfrom
rjf/isochrone-simplification

Conversation

@robfitzgerald

@robfitzgerald robfitzgerald commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator

this PR adds new isochrone drawing features, adding an optional isochrone simplification algorithm to run for ConcaveHull isochrones.

ConcaveHull built from points along linestrings at some reasonable stride can produce quality representations for many travel modes:

Screenshot 2026-08-27 at 4 23 59 PM

However, this algorithm can produce many vertices leading to substantial disk space requirements.

Rust Geo's Simplify algorithm accepts a tolerance and will combine vertices within that tolerance. Simplification can greatly reduce the number of redundant vertices. here are some results of exploring simplification on a test polygon:

tolerance_latlon tolerance_meters coords
0 0 0 1497
1 0.00135 14.9999 41
2 0.0027 29.9997 22
3 0.0054 59.9994 19

Configuration

To add simplification, use the optional simplify_epsilon_latlon parameter:

isochrone_algorithm = { type = "concave_hull", concavity = 2.0, simplify_epsilon_latlon = 0.00135 }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant