[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?