1. Concave Hull
Concave hulls are often used to generalize bounding polygons around a given sets of points. Depending on the chosen concaveness the precision of the isochrone can differ. The following example illustrates the difference between a convex and a concave hull.
1.1. Points from the network
1.2. Convex Hull
Imagine you take an a rubber band and you stretch it around the points. This is called convex hull. As you can see this representation is missing level of detail but comes with the advantage of fast computation.
1.3. Concave Hull
A concave hull usually begins with a convex hull as starting geometry and then tries to fit better the point dataset. Depending on the chosen concavity the shape can be more or less precise. Different parameters can be used for the calculation of the isochrones, depending of the needed precision. However rising precision comes with higher computation times.
Therefore, GOAT uses a specific parameter for the caclulation of the isochrones, that represents a compromise between accuracy and computation time. Thanks to the PLV8 extension the Concaveman library can be used directly in the PostgreSQL database.