In terms of "an easy way" I can suggest using a "Virtual Layer" through Layer > Add Layer > Add/Edit Virtual Layer...
. However, @Vince is absolutely correct that "it might not be the right way".
This solution is also based on @JoshC's note: "you have some sort of unique id field for your features".
Let's assume we have seventeen features in 'point_layer' with three groups of the patch of plants respectively, see the image below. This is a trivial example because points are following certain point patterns, i.e. they are clustered.
With the following queries, it is possible to achieve several results as
a ConvexHull
SELECT p.Name,
ConvexHull(AddPoint(MakeLine(p.geometry), StartPoint(MakeLine(p.geometry)))),
COUNT(*) AS Elements
FROM point_layer AS p
GROUP BY p.Name
The output Virtual Layer will look like
a Polygon
p.s. keep in mind points order for each group
SELECT p.Name,
MakePolygon(AddPoint(MakeLine(p.geometry), StartPoint(MakeLine(p.geometry)))),
COUNT(*) AS Elements
FROM point_layer AS p
GROUP BY p.Name
The output Virtual Layer will look like
an Envelope
SELECT p.Name,
Envelope(AddPoint(MakeLine(p.geometry), StartPoint(MakeLine(p.geometry)))),
COUNT(*) AS Elements
FROM point_layer AS p
GROUP BY p.Name
The output Virtual Layer will look like
a Voronoi diagram
SELECT p.Name,
VoronojDiagram(AddPoint(MakeLine(p.geometry), StartPoint(MakeLine(p.geometry)))),
COUNT(*) AS Elements
FROM point_layer AS p
GROUP BY p.Name
The output Virtual Layer will look like
References: