[postgis-users] New within problem (was:(URGENT BUGFIX (was: two different geometries with the same Astext))

Miguel de la Fuente mjdelafuente at gmail.com
Thu Jul 28 06:38:45 PDT 2005


Thanks Strk, your fix work well with the example I wrote first.

But, now I`m still having problems with within().

I fix the bug as you see:

select postgis_full_version()

"POSTGIS="1.0.2" GEOS="2.1.3" PROJ="Rel. 4.4.9, 29 Oct 2004" USE_STATS
DBPROC="0.3.0" RELPROC="0.3.0""

After that, I found the following error

CREATE TABLE mu (
   g1 geometry,
   g2 geometry
);

ALTER TABLE public.mu OWNER TO postgres;

INSERT INTO mu (g1, g2) VALUES
('0105000000010000000102000000020000001BA43BA50E5A5541A12F8367C80956418284C50C685A5541F12B9D84250A5641',
'0105000000010000000102000000050000002246BA2BF05A55418B479267A20956414C8D31C4965A5541C6DC774A450956411BA43BA50E5A5541A02F8367C80956418484C50C685A5541F52B9D84250A56412246BA2BF05A55418B479267A2095641');

SELECT
            ASTEXT(g1),
            ASTEXT(g2),
            BOX2D(g1),
            BOX2D(g2),
            WITHIN(g1,g2),
            WITHIN(BOX2D(g1),BOX2D(g2)),
            WITHIN(GEOMETRYFROMTEXT(ASTEXT(g1)),GEOMETRYFROMTEXT(ASTEXT(g2)))
FROM
mu

"MULTILINESTRING((5597242.5817652 5777185.61738196,5597600.19955552
5777558.072093))";"MULTILINESTRING((5598144.68324426
5777033.61830319,5597787.06552441 5776661.16356582,5597242.5817652
5777185.61738196,5597600.19955552 5777558.072093,5598144.68324426
5777033.61830319))";"BOX(5597242.5 5777185.5,5597600.5
5777558.5)";"BOX(5597242.5 5776661,5598145 5777558.5)";f;t;t

within(g1,g2) return FALSE
within(box2d(g1),box2d(g2)) return TRUE
within(geometryfromtext(astext(g1)),geometryfromtext(astext(g2))) return TRUE

?????

As you see both box2d are well created, and the within() works well
with the box2d, but it fails with the multilinestrings.
Do you know why?



More information about the postgis-users mailing list