On 26 March 2010 09:01, M.E.Dodd <[email protected]> wrote:
> Is it possible to find the nearest point in one table compared to points in 
> another table BUT without using the same point in the second table more than 
> once.
> I have one table of points and want to find the nearest point in another 
> table, the trouble is that some points in the second table are used many 
> times and others are not used at all even though they are only slightly 
> further away.  There are different numbers of points in each table, each 
> table has hundreds or thousands of points.  The multiple use of points in the 
> second table like this might be biasing the analysis.

This is slightly complicated to determine. There are two tables A and
B, where the number of points in A is less than or equal to B. There
is exactly 1 solution, unless there are more than 1 set of points with
the same nearest-distance.

You will need to write some code up in R, PL/pgSQL, or any computer
environment with loops. Here is the pseudocode for the function:

Make an empty result set M for matches between A and B
While numrow(M) < numrow(A):
    point A0 := Select any point A not in M order by x-coord, y-coord
    point B1 := Find closest B point from point A0 not in M
    point A1 := Find closest A point from point B1 not in M
    Insert into M(A,B) values(A1, B1)
Return set M


-Mike
_______________________________________________
Qgis-user mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-user

Reply via email to