Sedan slutet av september 2011 har PostGIS stödt indexerade frågor om närmaste granne via en speciell operatör som kan användas i ORDER BY-satsen:
SELECT name, gid
FROM geonames
ORDER BY geom <-> st_setsrid(st_makepoint(-90,40),4326)
LIMIT 10;
... returnerar de 10 objekt vars geom
är närmast -90,40
på ett skalbart sätt. Några fler detaljer (alternativ och varningar) finns i det meddelandeinlägget och användningen av <-> och <#>-operatörerna är nu också dokumenterad i den officiella PostGIS 2.0-referensen. (Den största skillnaden mellan de två är att <->
jämför formens centroider och <#>
jämför deras gränser — ingen skillnad för poäng, andra former väljer vad som är lämpligt för dina frågor.)