Usted puede utilizar Postgres del generate_series dos veces, una para la dirección x, de una vez por la "y", para generar una cuadrícula, como, por ejemplo,
SELECT ST_AsText(ST_MakePoint(x, y))
FROM
generate_series(0, 40, 10) as x,
generate_series(200, 220, 10) y;
donde el primer número es el punto de inicio, el segundo el punto final y la final el tamaño de paso, es decir, una grilla de partida en (0, 200) y termina en (40, 220) con 10 metros de intervalos. Salí de la ST_AsText en así que usted puede visualizar los resultados, las primeras filas de los cuales son:
POINT(0 200)
POINT(0 210)
POINT(0 220)
POINT(10 200)
POINT(10 210)
POINT(10 220)
Ahora usted puede utilizar esto en una consulta al unirse en el real de la mesa y el uso ST_DWithin para establecer la tolerancia de intersección (si usted tiene puntos exactamente en una red, puede utilizar ST_Intersects).
SELECT t.*
FROM
your_table AS t,
(SELECT ST_MakePoint(x, y) as geom
FROM
generate_series(0, 40, 10) as x,
generate_series(200, 220, 10) y)
AS grid
WHERE ST_DWithin(t.geom, grid.geom, 1);
que va a encontrar de todo, desde la tabla que está a menos de 1 m de la cuadrícula.
Usted querrá asegurarse de que usted tiene un índice espacial en su mesa y, obviamente, ajustar la cuadrícula para su propia caso de uso.