Nearest Neightbour function

المشرف العام

Administrator
طاقم الإدارة
I'm trying to create a function which calculates the nearest neighbors under a certain length in a table s_1 an stores them in an output table.

This is what I've got so far:

CREATE OR REPLACE FUNCTION NearestN()

RETURNS TABLE (

a integer,b integer,ST_Distance integer)AS

$$

SELECT ST_Distance(a.the_geom , b.the_geom ) from s_1 a, s_1 b

WHERE a.id < b.id

AND ST_DWithin(a.the_geom,b.the_geom, 50.0)

ORDER BY ST_Distance(a.the_geom, b.the_geom) ASC LIMIT 25;

$$

LANGUAGE plpgsql;

Needless to say to function is not working at all (I'm very new to sql) and I think my calculation does not only get me the nearest neighbor but all distances under a certain length.

And is it possible to make the length an argument of the function so I can vary just by calling the function?

Thx a lot



أكثر...
 
أعلى