sql >> Databáze >  >> RDS >> PostgreSQL

K-Nearest Neighbor Query v PostGIS

Od konce září 2011 PostGIS podporuje indexované dotazy na nejbližší sousedy prostřednictvím speciálních operátorů použitelných v klauzuli ORDER BY:

SELECT name, gid
FROM geonames
ORDER BY geom <-> st_setsrid(st_makepoint(-90,40),4326)
LIMIT 10;

...vrátí 10 objektů, jejichž geom je nejbližší -90,40 škálovatelným způsobem. Několik dalších podrobností (možností a upozornění) je v tomto oznámení a použití operátorů <-> a <#> je nyní také zdokumentováno v oficiální referenci PostGIS 2.0. (Hlavní rozdíl mezi těmito dvěma je, že <-> porovnává těžiště tvaru a <#> porovná jejich hranice – bez rozdílu bodů, jiné tvary si vyberou, co je vhodné pro vaše dotazy.)



  1. Přidejte cizí klíč do existující tabulky v SQLite

  2. Chyba serveru SQL 113:Chybějící koncová značka komentáře „*/“

  3. Podmínka WHERE v MySQL s 16 různými příklady dotazů

  4. Jak opravit chybu připojení databáze MySQL JDBC 08001