Andreas,

I think you have unearthed one of the cruel lessons of floating point math.

Best described in Isaac Kunen's blog.

http://blogs.msdn.com/isaac/archive/2008/08/07/the-imprecise-nature-of-geometry.aspx

So we see it is not unique to PostGIS.

Hope that helps,
Regina



-----Original Message-----
From: [email protected] on behalf of Andreas 
Albarello
Sent: Mon 12/29/2008 1:06 PM
To: [email protected]
Subject: [postgis-users] Strange intersection behavior
 
Hi list,

I'm at a loss as to what is happening here. I'm using PostgreSQL 8.3.5 
along with PostGIS 1.3.5 on Windows.

So this query works fine:

select astext(intersection(geomfromtext('LINESTRING(8.30234187721807 
46.6802395904018,6.3382169942078 46.3031276124166)'), 
geomfromtext('LINESTRING(7.32028160673789 
46.4916949088309,7.32028323240689 46.491581924505)')));

Now I'd expect this query to work too:

select 
astext(intersection(intersection(geomfromtext('LINESTRING(8.30234187721807 
46.6802395904018,6.3382169942078 46.3031276124166)'), 
geomfromtext('LINESTRING(7.32028160673789 
46.4916949088309,7.32028323240689 46.491581924505)')), 
geomfromtext('LINESTRING(7.32028160673789 
46.4916949088309,7.32028323240689 46.491581924505)')));

i.e., intersecting the intersection with the original line. Weirdly 
enough, I'm getting GEOMETRYCOLLECTION EMPTY. This has nothing to do 
with using geomfromtext, tried the same thing inside plpgsql and got the 
same result. Besides, geomfromtext ought to be deterministic anyways.

Same thing goes for this:

select 
intersects(line_interpolate_point(geomfromtext('LINESTRING(7.32028160673789 
46.4916949088309,7.32028323240689 46.491581924505)'), 0.1), 
geomfromtext('LINESTRING(7.32028160673789 
46.4916949088309,7.32028323240689 46.491581924505)'));

returns false.

Can anyone shed some light on this?

TIA

-- 
--------------------------------------------------------------------
Andreas Albarello
Analysis & SW Development

Territorium Online srl/GmbH
Via Buozzi Str. 12
I 39100 Bolzano/Bozen

Phone:  +39 0471 068611
Fax:    +39 0471 068619

email: [email protected]
web:   http://www.territoriumonline.com
--------------------------------------------------------------------
_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users






-----------------------------------------
The substance of this message, including any attachments, may be
confidential, legally privileged and/or exempt from disclosure
pursuant to Massachusetts law. It is intended
solely for the addressee. If you received this in error, please
contact the sender and delete the material from any computer.
_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users

Reply via email to