[postgis-devel] [PostGIS] #1641: TopoGeo_addLineString: SQL/MM Spatial exception - geometry crosses an edge

PostGIS trac at osgeo.org
Fri Mar 2 01:33:38 PST 2012


#1641: TopoGeo_addLineString: SQL/MM Spatial exception - geometry crosses an edge
----------------------+-----------------------------------------------------
 Reporter:  lrssvt    |       Owner:  strk         
     Type:  defect    |      Status:  new          
 Priority:  medium    |   Milestone:  PostGIS 2.1.0
Component:  topology  |     Version:  2.0.x        
 Keywords:            |  
----------------------+-----------------------------------------------------

Comment(by strk):

 With r9374 I've "exported" the "min-tolerance-for-given-extent" function
 into its own function. The function is tagged as "internal" and I was
 thinking it could be used when the functions accepting a tolerance are
 passed a tolerance value of 0.

 BUT, if we had to do that, your toTopoGeom calls would each have a
 different tolerance value in that each new geometry you'd be adding to the
 topology would have a different extent. The problem with that is that a
 short edge closer to the origin may create two very close nodes in the
 topology and such "vicinity" would be below the tolerance computed when
 adding a longer edge, resulting in an ambiguity about which node ("hot-
 pixel") intersections should be snapped to.

 So, "global" tolerance is still a much better approach.
 Tolerance-taking functions could then check topology.tolerance and use
 that.
 But if topology.tolerance is till zero you'll need something and you won't
 know
 what the max extent of the topology would be.

 I start thinking that's why GRASS wants you to create those "locations"
 before use :P

-- 
Ticket URL: <http://trac.osgeo.org/postgis/ticket/1641#comment:13>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-devel mailing list