J'ai un minLat, minLong, maxLat et maxLong à partir d'une boîte dessinée sur une carte. En ce moment, ma requête pour obtenir tous les points dans la boîte ressemble à ceci:
SELECT *
FROM geomTable
WHERE (longitude BETWEEN minLon AND maxLon)
AND (latitude BETWEEN minLat AND maxLat)
Je veux utiliser la colonne de géométrie au lieu des colonnes lat / longues pour obtenir les résultats. J'ai essayé cette requête:
SELECT *
FROM mytable
WHERE mytable.geom && ST_MakeEnvelope(minLon, minLat, maxLon, maxLat, 4326);
from this post: Sélectionnez le cadre de sélection à l'aide de postgis, mais il ne renvoie aucun résultat.
Quelqu'un at-il un exemple de la façon de sélectionner tous les points dans une boîte créée par min / max lat / long en utilisant la géométrie dans postgis?
geomTable
et le champmytable.geom
?Réponses:
Vos données ne sont pas en lat / lon, vous devez donc pousser votre boîte dans l'espace de coordonnées de vos données:
la source