[postgis-users] Re: two different geometries with the same Astext

strk at refractions.net strk at refractions.net
Wed Jul 20 12:04:58 PDT 2005


On Wed, Jul 20, 2005 at 03:27:13PM -0300, Miguel de la Fuente wrote:
> Well, the thing is that using dropbbox it works well. Thank you for
> your suggestion.
> So, what was the problem? why it fail using bounding boxes? and why
> when I reload from the backup works?
> I'm asking all this questions because I've got to make many queries of
> this kind, and in this case I saw it because a query gave me a result
> that had no sense, now I don't know if I'll have to use always
> dropbbox() or hardly check the result

Ok, first of all: please don't get rid of those data ;)

This is a bug, one chance is that it is an old bug corrupting
cached bboxes, now fixed. Fixes in box3d computation have
been introduced in 1.0.0RC5.

Questions:

1) What postgis version are you using ?
   -- SELECT postgis_full_version()

2) Does recomputation of bounding box works ?
   -- SELECT within(addbbox(dropbbox(g1)), addbbox(dropbbox(g2)))

3) Did you ever had postgis <= 1.0.0RC5 installed
   from the 1.x series ? 

--strk;

> On 7/19/05, strk at refractions.net <strk at refractions.net> wrote:
> > Would you try within(dropbbox(g1), dropbbox(g2)) ?
> > You would be skipping a bbox-based short-circuit test in postgis,
> > which is the only thing comes to my mind in your latest dump/reload
> > example.
> > 
> > --strk;
> > 
> > On Tue, Jul 19, 2005 at 10:35:36AM -0300, Miguel de la Fuente wrote:
> > > Thanks to everybory for your answers.
> > >
> > > I'll try to make a better description of the problem an what I made
> > > related to your answer.
> > >
> > > To simplify the problem for you to analize it, I first extracted an
> > > example from the source tables to a new table with a SELECT command:
> > >
> > > select
> > > a.the_geom as g1,
> > > b.the_geom as g2
> > > into pru
> > > from p107_fm_co a, p107_mz_co b
> > > where a.gid=618 and b.gid=2
> > >
> > > and the I ran the following
> > >
> > > select astext(g1),astext(g2),
> > > within(geometryfromtext(astext(g1)),geometryfromtext(astext(g2)))as w1,
> > > within(g1,g2) as w2
> > > from pru
> > >
> > > and I got
> > >
> > > --"MULTILINESTRING((5256301.4 6014697.56,5256369.25
> > > 6014741.46))";"MULTILINESTRING((5256369.25 6014741.46,5256456.23
> > > 6014607.03,5256388.39 6014563.13,5256301.4 6014697.56,5256369.25
> > > 6014741.46))";t;f
> > >
> > > as you could see the first within return TRUE and the second return
> > > FALSE and that is what I can't understand
> > 
> > >
> > > But, the worst thing of all is that when I made a backup of the table
> > > to attach it this message I got this:
> > >
> > > CREATE TABLE pru (g1 geometry, g2 geometry);
> > > ALTER TABLE public.pru OWNER TO postgres;
> > > INSERT INTO pru (g1, g2) VALUES
> > > ('0105000000010000000102000000020000009A9999591B0D54413D0AD763BAF15641000000502C0D5441D7A3705DC5F15641',
> > > '010500000001000000010200000005000000000000502C0D5441D7A3705DC5F15641EC51B80E420D54411F85EBC1A3F156418FC2F518310D544185EB51C898F156419A9999591B0D54413D0AD763BAF15641000000502C0D5441D7A3705DC5F15641');
> > >
> > > I dropped the table made with the SELECT command described above and
> > > re-created the table running this script.
> > > And the I run:
> > >
> > > select astext(g1),astext(g2),
> > > within(geometryfromtext(astext(g1)),geometryfromtext(astext(g2)))as w1,
> > > within(g1,g2) as w2
> > > from pru
> > >
> > > again and I got
> > >
> > > --"MULTILINESTRING((5256301.4 6014697.56,5256369.25
> > > 6014741.46))";"MULTILINESTRING((5256369.25 6014741.46,5256456.23
> > > 6014607.03,5256388.39 6014563.13,5256301.4 6014697.56,5256369.25
> > > 6014741.46))";t;t
> > >
> > > with both withins returning TRUE !!!!!
> > >
> > > I'm really LOST!
> > > _______________________________________________
> > > postgis-users mailing list
> > > postgis-users at postgis.refractions.net
> > > http://postgis.refractions.net/mailman/listinfo/postgis-users
> > _______________________________________________
> > postgis-users mailing list
> > postgis-users at postgis.refractions.net
> > http://postgis.refractions.net/mailman/listinfo/postgis-users
> >
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users



More information about the postgis-users mailing list