More to the point, it's a float32 box, not a double64 box. Your two points are in fact different, waaaaaay down deep into the precision of their 64-bit double coordinates. So deep in fact that the human readable decimal representations don't show it (look at the hexewkb output, and you'll see the differences, you should be able to do that, points are small enough to eyeball in hex).
So when the 32-bit box is extracted from the 64-bit doubles, the points are identical at that level of precision and = returns true, while st_equals working against the doubles does not. P On Fri, Jan 8, 2010 at 8:12 AM, Sufficool, Stanley <[email protected]> wrote: > n1.geom = n2.geom is not binary equal, it is bounding box equal which may > include rounding errors? > > st_asbinary(n1.geom) = st_asbinary(n2.geom) is binary equal > > > >> -----Original Message----- >> From: [email protected] >> [mailto:[email protected]] On >> Behalf Of William Temperley >> Sent: Friday, January 08, 2010 7:28 AM >> To: [email protected] >> Subject: [postgis-users] st_equals strangeness >> >> >> Dear all, >> >> Given two points with exactly the same coordinates that are >> binary equal (geom = geom), I don't understand how st_equals >> can return false. >> >> The following statement: >> >> select >> st_astext(n1.geom), >> st_astext(n2.geom) >> from nodes n1, nodes n2 >> where (n1.node_id = n2.node_id) >> and (not st_equals(n1.geom, n2.geom)) and n1.geom = n2.geom; >> >> >> yields: >> st_astext | st_astext >> ------------------------------------------+------------------- >> ---------- >> ------------------------------------------+------------- >> POINT(28.291805 37.0481949999918) | POINT(28.291805 >> 37.0481949999918) >> POINT(28.291805 37.0481949999918) | POINT(28.291805 >> 37.0481949999918) >> POINT(28.2538598984633 37.006806) | >> POINT(28.2538598984633 37.006806) >> POINT(28.0726373735563 37.022361) | >> POINT(28.0726373735563 37.022361) >> >> Could anyone shed any light on this please? >> >> POSTGIS="1.4.1" GEOS="3.1.1-CAPI-1.6.0" btw. >> >> >> Thanks >> >> Will >> _______________________________________________ >> postgis-users mailing list [email protected] >> http://postgis.refractions.net/mailman/listinfo/postgis-users >> > _______________________________________________ > postgis-users mailing list > [email protected] > http://postgis.refractions.net/mailman/listinfo/postgis-users > _______________________________________________ postgis-users mailing list [email protected] http://postgis.refractions.net/mailman/listinfo/postgis-users
