Bug report #9861

self crossing lines stop rendering if offset is set

Added by Gavin Fleming over 6 years ago. Updated over 6 years ago.

Status:Closed
Priority:Normal
Assignee:Alvaro Huarte
Category:-
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 #:18389

Description

add an offset to a line and it stops rendering

QGIS version 2.3.0-Master QGIS code revision exported
Compiled against Qt 4.8.4 Running against Qt 4.8.4
Compiled against GDAL/OGR 1.9.0 Running against GDAL/OGR 1.9.0
Compiled against GEOS 3.3.3-CAPI-1.7.4 Running against GEOS 3.3.8-CAPI-1.7.8
PostgreSQL Client Version 9.1.10 SpatiaLite Version 3.1.0-RC2
QWT Version 5.2.3 PROJ.4 Version 470
QScintilla2 Version

offset_9861_sampleproject.zip (42.3 KB) Gavin Fleming, 2014-03-30 07:37 AM


Related issues

Related to QGIS Application - Bug report #9973: Multi-Thread-Rendering: Qt Concurrent has caught an excep... Closed 2014-04-01
Duplicated by QGIS Application - Bug report #9883: lines stop rendering if offset Closed 2014-03-24
Duplicated by QGIS Application - Bug report #9862: lines stop rendering if offset Closed 2014-03-24

Associated revisions

Revision 0c6056be
Added by Jürgen Fischer over 6 years ago

Manually merge PR #1290 (fixes #9861)

History

#1 Updated by Alessandro Ciali over 6 years ago

Win 7 Platform affected too.

#2 Updated by Giovanni Manghi over 6 years ago

  • Status changed from Open to Feedback

offset in

symbology -> simple line -> offeset ?

if yes I cannot confirm on master.

#3 Updated by Gavin Fleming over 6 years ago

yes it is a simple line offset. Attached is a sample project with data and styles. In my Master the one layer (pitseng) does not draw and has no legend after applying an offset.

#4 Updated by Giovanni Manghi over 6 years ago

  • Operating System deleted (ubuntu)
  • Assignee set to Alvaro Huarte
  • Status changed from Feedback to Open
  • Subject changed from lines stop rendering if offset to self crossing lines stop rendering if offset is set
  • Target version set to Version 2.4
  • Affected QGIS version changed from 2.2.0 to master
  • OS version deleted (13.10)

It results that this happen only/because the lines are self crossing.

On 2.0.1 does not happens, on the other hand the result of the offset is in general a lot better in 2.2 than it is in 2.0.

This is the result of Alvaro's work that I will assign the ticket and decide what would be the best option here.

#5 Updated by Alvaro Huarte over 6 years ago

Giovanni Manghi wrote:

It results that this happen only/because the lines are self crossing.

On 2.0.1 does not happens, on the other hand the result of the offset is in general a lot better in 2.2 than it is in 2.0.

This is the result of Alvaro's work that I will assign the ticket and decide what would be the best option here.

Hi, I'm implementing ST_MakeValid function in QgsGeometry to solve this issue and then convert to valid the self-crossing geometries. But I am having problems with multi-thread-rendering. I open other issue before resolve this.

Best Regards
Alvaro

#6 Updated by Alvaro Huarte over 6 years ago

  • Pull Request or Patch supplied changed from No to Yes

Hi, I propose this pull https://github.com/qgis/QGIS/pull/1290 to solve this issue.

Now 'offsetline' function supports multi-geometries fetched from offseted self-crossing lines.

Best Regards
Alvaro

#7 Updated by Jürgen Fischer over 6 years ago

  • Status changed from Open to Closed

Also available in: Atom PDF