I have a polygon layer in QGIS containing the parcel data for a city and surroundings, and a point layer with information about properties that have been sold recently. Since there are far fewer points than the total number of parcels, I need to approximate the price of all of my parcels based on what has been sold nearby.
The sought after information in the point layer is the price per square meter, which each one of the points has in its attribute table.
My first idea was using voronoi polygons for this, and running voronoi on the point layer creates a polygon layer which i could join to each parcel afterwards. However, simply using voronoi doesn't produce a very good result since there are a lot of real world factors not taken into account.
As you can see, there are a couple of concerning things here. Since two adjacent values can differ by a lot, the result can be very unrealistic. There is also no real-world connection to how big each polygon should be, which, combined with my previous point, makes the results even more unpredictable.
I have tried a different method of just getting average price within 5 kilometers or so from each parcel, but this also causes some issues. A fixed search-distance of 5 kilometers works in more remote places where there aren't as many sales, but in more populated areas, a couple of kilometers can make a big difference in what type of area it is, which reflects on the price.
Is there some kind of established method for this or just a better way to do this?