One can try the "Mean coordinate(s)" geoalgorithm.
Computes a point layer with the center of mass of geometries in an
input layer.
An attribute can be specified as containing weights to be applied to
each feature when computing the center of mass.
If an attribute is selected in the parameter, features will be grouped
according to values in this field. Instead of a single point with the
center of mass of the whole layer, the output layer will contain a
center of mass for the features in each category.
Let's assume there is a point layer called 'points_test' with its attribute table, see image below
Fields:
"id"
: a unique identifier
"Group"
: a grouping field for points (corresponds to your province or municipality). In case you do not have these values, please use additionally the "Join attributes by location"
"Weight"
: a field with weights
How does this geoalgorithm work?
I. Using the geoalgorithm without checked fields
It will return just one dot (a yellow one).
II. Applying only the 'Unique ID field'
It will result in one point for each unique group, check the red dots
III. Setting both the 'Unique ID field'
and the 'Weight field'
It will result in one point for each unique group based on the points' field with weights, see the green dots
One should always distinguish between:
- a midpoint
- a centroid (a geocentroid)
- a center
Only in specific (and rare) cases, they are equal.
References: