Saltar al contenido

PostGIS: polígono más cercano al punto

Solución:

Varias formas de hacer esto. Uno es encontrar la distancia y el orden ascendente.

SELECT geom 
FROM polys, points 
WHERE points.gid=1 AND ST_DWithin(poly.geom, points.geom, 1000) 
ORDER BY ST_Distance(a.geom, b.geom) LIMIT 1;

Agregué la llamada ST_DWithin para mostrar cómo puede limitar la cantidad de candidatos (hará uso del índice).

Utilizo ST_ClosestPoint para devolver el punto más cercano de cada polígono, luego calculo la distancia mínima

SELECT foo.* from
(SELECT min(st_distance(a.geom,ST_ClosestPoint(b.geom,a.geom))) from polyg a,point b) foo
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *