Más

PostGIS: polígono más cercano al punto

PostGIS: polígono más cercano al punto


Tengo un archivo .shp de polígonos y una ubicación única (punto).

¿Cómo puedo recuperar el polígono más cercano a esa única ubicación?


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

SELECCIONE geom FROM polys, points DONDE points.gid = 1 Y ST_DWithin (poly.geom, points.geom, 1000) ORDEN POR 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))) de polyg a, punto b) foo

Ver el vídeo: Import raster to PostgreSQL using raster2pgsql