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 the starting geometry and then tries to better fit the point dataset. Depending on the chosen concavity the shape can be more or less precise. Different parameters can also be used for the calculation of the isochrones, depending on the needed precision. However, rising precision comes with higher computation times.
Therefore, GOAT uses a specific parameter for the calculation 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.