get all users who live in downtown Boston using lat/lng
Voici la déclaration SQL pour récupérer tous les utilisateurs qui vivent dans le centre-ville de Boston en utilisant les coordonnées lat/long dans Postgres :
SELECT *
FROM users
WHERE ST_DWithin(
ST_SetSRID(ST_MakePoint(users.longitude, users.latitude), 4326)::geography,
ST_SetSRID(ST_MakePoint(-71.0596, 42.3601), 4326)::geography,
1000
);
Explication :
ST_SetSRID(ST_MakePoint(users.longitude, users.latitude), 4326)
crée un point à partir des coordonnées lat/long de chaque utilisateur.ST_SetSRID(ST_MakePoint(-71.0596, 42.3601), 4326)
crée un point à partir des coordonnées lat/long du centre-ville de Boston.::geography
convertit les points en objets géographiques pour pouvoir utiliser la fonctionST_DWithin
.ST_DWithin
est une fonction qui vérifie si deux objets géographiques sont à une distance inférieure ou égale à une certaine valeur (en mètres).- Dans cet exemple, nous vérifions si les utilisateurs sont à une distance de 1000 mètres ou moins du centre-ville de Boston.
- La requête renvoie tous les utilisateurs qui satisfont cette condition.
- Public
- ·
- Thu, 24 Aug 2023 14:18:47 GMT