Bug report #16717

curveToLine introduces duplicated points

Added by Sandro Santilli over 7 years ago. Updated about 7 years ago.

Status:Closed
Priority:Normal
Assignee:Sandro Santilli
Category:Vectors
Affected QGIS version:master Regression?:No
Operating System: Easy fix?:No
Pull Request or Patch supplied:Yes Resolution:
Crashes QGIS or corrupts data:No Copied to github as #:24616

Description

Writing tests for QgsCircularString::curveToLine I found duplicated points in output.
Here's an example:

CIRCULARSTRING( 0 0, 1.0 1.0, 2 0 )
curveToLine( M_PI/8.0, QgsAbstractGeometry::MaximumAngle )
LineString (0 0, 0.07612046748871326 0.38268343236508989, 0.29289321881345254 0.70710678118654757, 0.61731656763491027 0.92387953251128674, 1 1, 1 1, 1.38268343236508984 0.92387953251128674, 1.70710678118654746 0.70710678118654746, 1.92387953251128674 0.38268343236508978, 2 0)

Note the duplicated point (1 1) in the middle.


Related issues

Related to QGIS Application - Bug report #16722: Wrong result for curveToLine with max angle 70 on a semic... Closed 2017-06-19

Associated revisions

Revision 48c95399
Added by Sandro Santilli about 7 years ago

Refactor curveToLine to emit equidistant segments and fix some issues

Fixes #16717
Fixes #16722

Include tests

History

#1 Updated by Sandro Santilli over 7 years ago

A testcase showing the incongruence is here: https://github.com/qgis/QGIS/pull/4746

#2 Updated by Sandro Santilli over 7 years ago

  • Related to Bug report #16722: Wrong result for curveToLine with max angle 70 on a semicircle added

#3 Updated by Sandro Santilli over 7 years ago

  • Assignee changed from Denis Rouzaud to Sandro Santilli
  • Status changed from Open to In Progress

I'm taking this

#4 Updated by Sandro Santilli over 7 years ago

  • Pull Request or Patch supplied changed from No to Yes

The PR now also contains a fix for this bug, although I think a multi-arc curve would still have duplicated points (one for each arc)

#5 Updated by Sandro Santilli about 7 years ago

New commit in the PR also fixes points duplication in multi-arc curves

#6 Updated by Sandro Santilli about 7 years ago

  • % Done changed from 0 to 100
  • Status changed from In Progress to Closed

Also available in: Atom PDF