I look for a solution how I can join several polygons that do not overlap with each other and have no common sides, by creating a new polygon. That is, it should be an output polygon covering the "outer" vertices of several input polygons, but in general repeating their shape (see attached figure, red line). I tried several features in QGIS, in particular Convex Hull and Minimum bounding geometry, but it didn't work out what I needed.
Not a complete solution, but a starting point - maybe someone can further develop the main idea. The basic idea is to connect the centroids of neighboring polygons with a line and than buffer that line. It works if the polygons have an attribute (
id in my case) in the order the polygons should be connected. But that is easy to generate.
You can than use the following expression to create a visualization with geometry generator or actual geometries with
Menu Processing / Toolbox / Geometry by expression:
buffer ( collect_geometries ( array_foreach ( generate_series ( 1, count( $id)-1 ), make_line ( centroid ( geometry ( get_feature_by_id ( @layer, @element ) ) ), centroid ( geometry ( get_feature_by_id ( @layer, @element+1 ) ) ) ) ) ), 0.19 )
You could create a multipolygon layer and create your multipolygons from your polygons based on an attribute value, proximity or something else... On these multipolygon features you can then apply the function of your choice: bounding box, oriented bounding box, convex hull and it will "merge like" your original features. Below is an example, the 2 top features are part of the same multipolygon. First picture before and second picture after a convex hull operation. Tested on QGIS.