I have been trying for 2 days to join points representing addresses (in Paris region) to the closest polygon (parcel of land).
The problems :
The parcels of land are contiguous, sometimes a point related to the next parcel could actually be closer to the next parcel's centerpoint/vertice midpoint than to its own.
The parcels of land are contiguous, sometimes a point related to the next parcel could actually be closer to the next parcel's centerpoint/vertice midpoint than to its ownThere are sometimes several points (addresses) by land parcel
There are sometimes several points (addresses) by land parcelSome points are located quite close to the vertice of "their" parcel, sometimes further away (depending also on the street width) so it is difficult to use a buffer strategy (plus the buffers would overlap over each other since land parcels are adjacent)
Some points are located quite close to the vertice of "their" parcel, sometimes further away (depending also on the street width) so it is difficult to use a buffer strategy (plus the buffers would overlap over each other since land parcels are adjacent)I tried NN Join but it doesn't move forward at all (I have a large database) and I am not sure how to specifiy how many points I want to select.
I tried"NNJoin"
but it doesn't move forward at all (I have a large database) and I am not sure how to specifiy how many points I want to selectI tried "Join attributes by nearest" but some dots are equally distant to the polygon and then all included, which is ok but the distance problem means it sometimes include some dots it shouldn't include.
I tried"Join attributes by nearest"
but some dots are equally distant to the polygon and then all included, which is ok but the distance problem means it sometimes include some dots it shouldn't includeI tried a space matrix with vertices extracted from the polygons, but it froze.
I tried a space matrix with vertices extracted from the polygons, but it froze...My guess is that ideally, I should establish a kind of perpendicular projection of the parcels on the street side only, that would stop at the median line of the street. This way I would be sure not to include the points of adjacent parcels or parcels on the other side of the street. But I have no idea if and how to do this... Otherwise, my less ideal solution would be to use "Join attributes by nearest", specify 3 or 4 as maximum possible addresses and a maximum distance of 1 or 2 m, and hope to get the majority of points without too many of the neighbouring points. Not so great as you see...
My guess is that ideally, I should establish a kind of perpendicular projection of the parcels on the street side only, that would stop at the median line of the street. This way I would be sure not to include the points of adjacent parcels or parcels on the other side of the street. But I have no idea if and how to do this... Otherwise, my less ideal solution would be to use"Join attributes by nearest"
, specify 3 or 4 as maximum possible addresses and a maximum distance of 1 or 2 m, and hope to get the majority of points without too many of the neighbouring points. Not so great as you see...
Below, is a screenshot + what I envision with the median line of the streets and the perpendicular projection.
Now I have tried to use Voronoi (the SagaSAGA one the other ones seem to take a lot of time) around the Pole of Inaccessibility of the land parcels, but the result is a kind of disaster :-) .
I think I am onto something though, @Bruce Xiaolong Liu is already developing a plugin for Voronoi for polygons: Calculating Voronoi Diagrams for polygons I I didn't manage to install it, but maybe I can find some workaround to achieve something a bit similar. I first thought about applying Voronoi to extracted vertices from the polygons, then combining each polygon from the same parcel into one larger polygon, but it seems a bit complicated. I will see if I find something else.
Another idea: replacing the polygons with points, then using the simple region growing tool by SagaSAGA. But I am not an advanced user and unsure how to do it.