Tengo un minLat, minLong, maxLat y maxLong de un cuadro dibujado en un mapa. En este momento, mi consulta para obtener todos los puntos en el cuadro se ve así:
SELECT *
FROM geomTable
WHERE (longitude BETWEEN minLon AND maxLon)
AND (latitude BETWEEN minLat AND maxLat)
Quiero usar la columna de geometría en lugar de columnas de lat / long para obtener los resultados. Intenté esta consulta:
SELECT *
FROM mytable
WHERE mytable.geom && ST_MakeEnvelope(minLon, minLat, maxLon, maxLat, 4326);
de esta publicación: Seleccione el cuadro delimitador usando postgis pero no devuelve ningún resultado.
¿Alguien tiene un ejemplo de cómo seleccionar todos los puntos dentro de un cuadro creado por min y max lat / longs usando geometría en postgis?
geomTable
y el campomytable.geom
?Respuestas:
Sus datos no están en lat / lon, por lo que debe insertar su caja en el espacio de coordenadas de sus datos:
fuente