Hi,
 
I think this is a tolerance issue. If you try
 
select 
st_distance(ST_MakeEnvelope(-105.17353271032549,39.798766541338225,-105.07765728967452,39.83016145866177,4326),
 st_setsrid(ST_MakePOint(-105.130637 ,39.830165),4326))
 
The distance is very short : 3.54133823066149e-06
 
And i you add the where clause, it is also true that your lat is not <= to the 
given one, so the single line returned with the simple && query is now excluded.
 
Hugues.

________________________________

De : [email protected] 
[mailto:[email protected]] De la part de Pavel Shub
Envoyé : samedi 2 février 2013 07:14
À : [email protected]
Objet : [postgis-users] (no subject)


Hi all,


Please tell me if I'm doing something incorrectly, but I seem to be getting 
wrong results for the following bounding box query:

select * from geotest where geom && 
ST_MakeEnvelope(-105.17353271032549,39.798766541338225,-105.07765728967452,39.83016145866177,4326)


Given table with columns: name (varchar), lat (double), lon (double), geom 
(geometry). geom having srid 4326 points


A row with lat = 39.830165, lon = -105.130637 is returned. I find this very 
peculiar because the latitude is greater than the maxiumum latitude in the 
envelope (39.83016145866177). If I then add a 'and lat <= 39.83016145866177' 
clause, the row is no longer returned.

I noticed this on postgres 9.1 with postgis 1.5 then when testing again got the 
same results on postgres 9.2 and postgis 2.0


Is this intended and I missed some documentation somewhere, or is this an issue?


Thank you,

Pavel Shub
_______________________________________________
postgis-users mailing list
[email protected]
http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users

Reply via email to