[postgis-users] st_intersection error
Düster Horst
Horst.Duester at bd.so.ch
Wed Sep 16 01:54:12 PDT 2009
Niklas
Thank you very much for the offered solution. In my case it solves my
problem with a very tiny buffer distance below the accuracy of my data.
Regrads
Horst
------------------------------------------------
Dr. Horst Düster
Stv. Amtschef / GIS-Koordinator
Kanton Solothurn
Bau- und Justizdepartement
Amt für Geoinformation
SO!GIS Koordination
Rötistrasse 4
CH-4501 Solothurn
Telefon ++41(0)32 627 25 32
Telefax ++41(0)32 627 22 14
mailto:horst.duester at bd.so.ch
http://www.agi.so.ch
-----Ursprüngliche Nachricht-----
Von: nicklas.aven at jordogskog.no [mailto:nicklas.aven at jordogskog.no]
Gesendet am: Mittwoch, 16. September 2009 10:23
An: PostGIS Users Discussion
Betreff: Re: [postgis-users] st_intersection error
Hallo Horst
The precision problem is not the vertexes that they have in common.
They are exactly the same. The problem is that extra vertex that only
appears in one of the lines. It will still not be exactly on the
line.
I think the best solution is to use a thin buffer sile
select st_intersection(a.the_geom, st_buffer(b.the_geom,0.00001)),
a.myid
from aline1 as a, aline2 as b
One problem here might be that, as st_buffer works today you will
probably get an extra vertex in start and end of your resulting
linestring very close to the original vertexes because the buffer
will cause an intersection buffered in all directions (new
possibilities in 1.5 to avoid that :-) )
Or actually in your case you will only get that extra vertex on the
west part because there the line 1 changes direction. On the east
side the vertex is just moved a little bit.
Hope that helps
Nicklas
2009-09-16 Düster Horst wrote:
>
Martin, Nicklas
>>
Thank you for your responses. To avoid precision problems I modified
my query to:
>>
select st_intersection(st_snaptogrid(a.the_geom,0.01),
st_snaptogrid(b.the_geom,0.01)), a.myid
>from aline1 as a, aline2 as b
>>
As the result I do get a MULTIPOINT geometry with three points. These
points are exactly the vertex points of my expected LINESTRING
geometry. Why not a LINESTRING?
>>
Regards
>Horst
>>
------------------------------------------------
>>
Dr. Horst Düster
>Stv. Amtschef / GIS-Koordinator
>>
Kanton Solothurn
>Bau- und Justizdepartement
>Amt für Geoinformation
>SO!GIS Koordination
>Rötistrasse 4
>CH-4501 Solothurn
>>
Telefon ++41(0)32 627 25 32
>Telefax ++41(0)32 627 22 14
>>
mailto:horst.duester at bd.so.ch
>www.agi.so.ch
>>
-----Ursprüngliche Nachricht-----
>Von: Martin Davis [mailto:mbdavis at refractions.net]
>Gesendet am: Dienstag, 15. September 2009 17:54
>An: PostGIS Users Discussion; Martin Davis
>Betreff: Re: [postgis-users] st_intersection error
>>
Same result in JTS.
>>
As Nicklas points out, this is a problem of precision. The software
is
>working as designed, but it's not designed to use it to perform
>intersections with a tolerance.
>>
Some more sophisticated approach is required, such as vertex snapping
>the lines to a given tolerance, or perhaps using a narrow buffer and
>some sort of segment-based containment tests.
>>
strk wrote:
>> On Tue, Sep 15, 2009 at 11:32:48AM +0200, Düster Horst wrote:
>>
>>> strk
>>>
>>> I attached the geometries in my initial mail.
>>>
>>> Take a look at aline1.sql and aline2.sql
>>>
>>
>> I confirm a POINT and a LINESTRING in a COLLECTION
>> is returned by ST_Intersection() with latest version:
>>
>> POSTGIS="1.5.0SVN" GEOS="3.2.0-CAPI-1.6.0" PROJ="Rel. 4.6.0, 21
Dec 2007" USE_STATS
>>
>> Martin, how about JTS ?
>>
>> --strk;
>>
>> Free GIS & Flash consultant/developer () ASCII Ribbon Campaign
>> http://foo.keybit.net/~strk/services.html /\ Keep it simple!
>>
>>
>>
--
>Martin Davis
>Senior Technical Architect
>Refractions Research, Inc.
>(250) 383-3022
>>
_______________________________________________
>postgis-users mailing list
>postgis-users at postgis.refractions.net
>postgis.refractions.net/mailman/listinfo/postgis-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20090916/4c18ed47/attachment.html>
More information about the postgis-users
mailing list