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

Jak mohu dotazovat všechna svá data do vzdálenosti 5 metrů?

Obecně platí, že nejlepší PostGIS funkce pro takový dotaz je ST_DWithin() :

např. všichni zákazníci, kteří bydlí do 1000 metrů od obchodu č. 1:

SELECT customers.* 
FROM customers, shops
WHERE ST_DWithin(customers.the_geog, shops.the_geog, 1000)
  AND shop.id = 1

ST_DWithin použije prostorový index které jste měli vytvořit a tedy překonat ST_Distance.

Zdá se, že v Django existuje odpovídající filtr s názvem dwithin :

D(m=5) vrátí objekt vzdálenosti o délce 5 metrů

geom je geometrie, ze které chcete vypočítat vzdálenosti k objektům PSČ

dwithin() je použitá funkce

poly je atribut geometrie objektů PSČ

z = Zipcode(code=77096, poly='POLYGON(( 10 10, 10 20, 20 20, 20 15, 10 10))')


  1. Odraz v PLSQL?

  2. Jak omezit výsledky v MySQL, PostgreSQL a SQLite

  3. jak přiřadit číslo výskytu v sql

  4. Oracle Security Alert pro CVE-2021-44228