PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie finde ich die kürzeste Entfernung vom Punkt zum Polygon?

Der Entfernungsoperator <-> funktioniert gut zwischen Punkten und Polygonen.

Sie können wie folgt abfragen:

SELECT b.*
FROM osm_buildings AS b
ORDER BY b.polygon <-> 'POINT(3.14 2.78)'::geometry
LIMIT 10;

Dies bringt die 10 Gebäude, die diesem Punkt am nächsten sind.

Diese Abfrage kann einen Index für das polygon verwenden Spalte.