DK11 for Delphi | GisTopology.TGIS_Topology.ConcaveHull | Overloads | Constructors | Methods | Properties | Events
Creates a concave hull based on the provided shape and edge length.
// Delphi public function ConcaveHull( const _shape : TGIS_Shape; const _alpha : Double ) : TGIS_ShapePolygon; overload;
// C++ Builder public: TGIS_ShapePolygon* ConcaveHull( TGIS_Shape* const _shape, const double _alpha ) /* overload */;
Name | Type | Description |
---|---|---|
_shape | TGIS_Shape | source shape |
_alpha | Double | maximum edge length |
Type | Description |
---|---|
TGIS_ShapePolygon | concave hull as a polygon |
The alpha parameter (maximum edge length) tells the algorithm that the length of each edge of the concave hull should not exceed this value. The algorithm starts with finding the convex hull and then attempts to “shrink” it by eliminating edges of length greater than alpha. It is not guaranteed that the concave hull will consist only of edges shorter than alpha because it may not be possible to eliminate some “long” edges in a reasonable manner. However, the output shape is guaranteed to be topologically correct (i.e. no self crossings, contains all input points).
The difference between a convex and a concave hull (sample data unit is kilometer, sample data size is 100×100 km):
Convex Hull | Concave Hull, alpha=1 | Concave Hull, alpha=20 |