[postgis-tickets] [PostGIS] #2429: Curve lost in conversion

PostGIS trac at osgeo.org
Wed Aug 14 12:16:21 PDT 2013


#2429: Curve lost in conversion
---------------------+------------------------------------------------------
 Reporter:  strk     |       Owner:  pramsey      
     Type:  defect   |      Status:  new          
 Priority:  medium   |   Milestone:  PostGIS 2.2.0
Component:  postgis  |     Version:  2.0.x        
 Keywords:  curves   |  
---------------------+------------------------------------------------------

Comment(by strk):

 The problem here is that the distance computer doesn't consider distance-
 from-center close enough to be considered the same:

 {{{
 NOTICE:  [lwsegmentize.c:lwline_desegmentize:750] lwline_desegmentize
 called.
 NOTICE:  [lwsegmentize.c:pta_desegmentize:638] i=0, j=3
 NOTICE:  [lwsegmentize.c:pt_continues_arc:518] circle_radius=11.872,
 b_distance=11.872, diff=5.67682e-06, percentage=4.78167e-07
 NOTICE:  [lwsegmentize.c:pta_desegmentize:652] pt_continues_arc = false
 NOTICE:  [lwsegmentize.c:pta_desegmentize:638] i=1, j=4
 NOTICE:  [lwsegmentize.c:pt_continues_arc:518] circle_radius=11.8739,
 b_distance=11.8739, diff=1.67959e-06, percentage=1.41453e-07
 NOTICE:  [lwsegmentize.c:pta_desegmentize:652] pt_continues_arc = false
 NOTICE:  [lwsegmentize.c:pta_desegmentize:638] i=2, j=5
 NOTICE:  [lwsegmentize.c:pt_continues_arc:518] circle_radius=11.8735,
 b_distance=11.8735, diff=3.83194e-06, percentage=3.22729e-07
 NOTICE:  [lwsegmentize.c:pta_desegmentize:652] pt_continues_arc = false
 NOTICE:  [lwsegmentize.c:pta_desegmentize:638] i=3, j=6
 NOTICE:  [lwsegmentize.c:pt_continues_arc:518] circle_radius=11.8716,
 b_distance=11.8716, diff=2.99755e-06, percentage=2.52498e-07
 NOTICE:  [lwsegmentize.c:pta_desegmentize:652] pt_continues_arc = false
 NOTICE:  [lwsegmentize.c:pta_desegmentize:638] i=4, j=7
 NOTICE:  [lwsegmentize.c:pt_continues_arc:518] circle_radius=11.8729,
 b_distance=11.8729, diff=3.30129e-06, percentage=2.78053e-07
 NOTICE:  [lwsegmentize.c:pta_desegmentize:652] pt_continues_arc = false
 NOTICE:  [lwsegmentize.c:pta_desegmentize:638] i=5, j=8
 NOTICE:  [lwsegmentize.c:pt_continues_arc:518] circle_radius=11.8742,
 b_distance=11.8742, diff=2.97092e-06, percentage=2.50199e-07
 NOTICE:  [lwsegmentize.c:pta_desegmentize:652] pt_continues_arc = false
 NOTICE:  [lwsegmentize.c:pta_desegmentize:638] i=6, j=9
 NOTICE:  [lwsegmentize.c:pt_continues_arc:518] circle_radius=11.8723,
 b_distance=11.8723, diff=3.19334e-07, percentage=2.68975e-08
 NOTICE:  [lwsegmentize.c:pta_desegmentize:652] pt_continues_arc = false
 NOTICE:  [lwsegmentize.c:pta_desegmentize:638] i=7, j=10
 NOTICE:  [lwsegmentize.c:pt_continues_arc:518] circle_radius=11.8731,
 b_distance=11.8731, diff=2.5845e-07, percentage=2.17677e-08
 NOTICE:  [lwsegmentize.c:pta_desegmentize:652] pt_continues_arc = false
 NOTICE:  [lwsegmentize.c:pta_desegmentize:638] i=8, j=11
 NOTICE:  [lwsegmentize.c:pt_continues_arc:518] circle_radius=11.8733,
 b_distance=11.8733, diff=2.81833e-06, percentage=2.37367e-07
 NOTICE:  [lwsegmentize.c:pta_desegmentize:652] pt_continues_arc = false
 ...
 }}}

 So, either ST_CurveToLine is too loose or ST_LineToCurve is too picky.
 Your call, pramsey ?

-- 
Ticket URL: <http://trac.osgeo.org/postgis/ticket/2429#comment:3>
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-tickets mailing list