Ticket #73 (closed bug: fixed)

Opened 7 years ago

Last modified 4 years ago

Can't load vector layer

Reported by: lubaby Owned by: gsherman
Priority: critical: causes crash or data corruption Milestone:
Component: Vectors Version: Trunk
Keywords: Cc:
Platform Version: Platform: Linux
Must Fix for Release: Yes Awaiting user input: no

Description

When tried to load attached layer QGIS freezes (high cpu activity and no response). In 0.7.4 it works fine (same layer). Built against GDAL-1.2.6

Change History

Changed 7 years ago by lubaby

File is too big to be attached (3 MB) so I put it on  http://kosatka.fns.uniba.sk/~1balazovic/qgis/layer.tar.gz

Changed 7 years ago by g_j_m

Works for me with qgis r2578, gdal version 1.2.6. It does however take about 30 seconds to display the map. This is probably due in part to the large size of each separate geometry. The .shp file is 7.8MB, but there are just 36 polygons in it. Can you confirm that the layer eventually loads if you wait long enough?

Changed 7 years ago by lubaby

  • status changed from new to closed
  • resolution set to invalid

It seems to load properly. I was probably too imapatient, sorry...(or maybe the source changed since then...?)

Changed 7 years ago by bernard.maynadier@…

  • status changed from closed to reopened
  • resolution invalid deleted

see shapefiles on  http://dedibox.acacs.org/pentes/

When I try to load shapefile d09_pente_vecteur_class.shp layer with qgis 0.8 under debian GNU/Linux etch QGIS freezes (high cpu activity and no response)

When I try to load shapefile d64_pente_vecteur_class.shp layer with qgis 0.8 under debian GNU/Linux etch it works fine

The both shapefiles work fine on qgis 0.7.4

I have downloaded and compiled the source code on June 27 on  https://svn.qgis.org/repos/qgis/trunk/qgis qgis_unstable

My gdal version is 1.3.1

Changed 7 years ago by bernard.maynadier@…

Version of Qgis : Qgis-user] QGIS 0.8.0 Preview Release 1 source downloaded and compiled this morning.

The layer d09_pente_vecteur_class.shp (see  http://dedibox.acacs.org/pentes/ ) can be opened, but it takes 11 minuts on my machine:

cat /prop/cpuinfo

processor : 0 vendor_id : GenuineIntel? cpu family : 6 model : 9 model name : Intel(R) Pentium(R) M processor 1500MHz stepping : 5 cpu MHz : 1499.879 cache size : 1024 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe est tm2 bogomips : 3001.08

Then the zoom in is fast, but the zoom out to full extent take about 10 minuts.

This layer is opened in 11 seconds on qgis 0.7.4 and 9 seconds on Arcexplorer 4 Java Edition.

Changed 7 years ago by g_j_m

Do you have anti-aliasing turned on in qgis? Could you try loading your layer with and without anti-aliasing to see if there is a large time difference?

The files are a bit big for me to download over my dialup modem, so if you could also run 'ogrinfo -a d09_pente_vecteur_class.shp' and let us know how many features are in the file that would be useful too.

Changed 7 years ago by anonymous

-anti-aliasing turned of in qgis= 11 minuts to download d09_pente_vecteur_class.shp

-anti-aliasing turned on in qgis= 3 minuts 30 seconds to download d09_pente_vecteur_class.shp, but a zoom in is 12 minuts !

-extract of the command: ogrinfo -a d09_pente_vecteur_class.shp

Beginning and end of the output.(The full output is at  http://dedibox.acacs.org/pentes/ogrinfo_a_d09.zip )


INFO: Open of `/home/bernard/MNT_classes/d09_pente_vecteur_class.shp' using driver `ESRI Shapefile' successful.

Layer name: d09_pente_vecteur_class Geometry: Polygon Feature Count: 141953 Extent: (476460.000000, 1729980.000000) - (586800.000000, 1813140.000000) Layer SRS WKT: (unknown) cat: Real (11.0) value: Real (11.0) label: String (80.0) OGRFeature(d09_pente_vecteur_class):0

cat (Real) = 2 value (Real) = 3 label (String) = de 5 à 10 POLYGON ((476550 1813140,476640 1813140,476640 1813050,476550 1813050,476550 1813140))

OGRFeature(d09_pente_vecteur_class):1

cat (Real) = 3 value (Real) = 4 label (String) = de 10 à 15 POLYGON ((476640 1813140,476730 1813140,476730 1813050,476910 1813050,476910 1813140,477180 1813140,477180 1813050,477090 1813050,477000 1813050,477000 1812960,477090 1812960,477090 1812870,477000 1812870,477000 1812780,476910 1812780,476910 1812870,476730 1812870,476730 1812960,476640 1812960,476640 1813050,476640 1813140))

OGRFeature(d09_pente_vecteur_class):2

cat (Real) = 4 value (Real) = 5 label (String) = de 15 à 20 POLYGON ((476730 1813140,476910 1813140,476910 1813050,476730 1813050,476730 1813140))

OGRFeature(d09_pente_vecteur_class):3

cat (Real) = 5 value (Real) = 3 label (String) = de 5 à 10 POLYGON ((477180 1813140,477360 1813140,477360 1813050,477270 1813050,477180 1813050,477180 1813140))

...... ...... OGRFeature(d09_pente_vecteur_class):141949

cat (Real) = 141193 value (Real) = 5 label (String) = de 15 à 20 POLYGON ((583380 1729980,583380 1730070,583470 1730070,583470 1729980,583380 1729980))

OGRFeature(d09_pente_vecteur_class):141950

cat (Real) = 141195 value (Real) = 4 label (String) = de 10 à 15 POLYGON ((584550 1729980,584550 1730070,584640 1730070,584640 1729980,584550 1729980))

OGRFeature(d09_pente_vecteur_class):141951

cat (Real) = 141196 value (Real) = 3 label (String) = de 5 à 10 POLYGON ((586260 1729980,586260 1730070,586350 1730070,586350 1729980,586260 1729980))

OGRFeature(d09_pente_vecteur_class):141952

cat (Real) = 160000 value (Real) = 0 label (String) = a la main POLYGON ((512523.781980661384296 1735157.792264741146937,512523.782013707736041 1735157.792264741146937,512523.782002692285459 1735157.792215171502903,512523.781980661384296 1735157.792215171502903,512523.781980661384296 1735157.792215171502903,512523.781980661384296 1735157.792264741146937))


Changed 7 years ago by timlinux

As a side note, its worth building a spatial index on your shapefiles - it should offer significant performance improvement for zoomed in redraws. It takes a couple of seconds only to redraw when zoomed in on my 1.5ghz pc with indexes built.

Changed 7 years ago by wonder

When trying the sample layer from lulaby I've found out that it's once again bug in Qt - this very long rendering time takes place when QImage is used for rendering, with QPixmap it's OK.

The question is how to fix this issue - use QPixmap by default and offer QImage rendering just as "unstable" option?

This bug is also in newly released Qt4.2 RC1, together with bad polygon filling. Might be interesting to try to create an example from this data for Trolls...

Changed 7 years ago by rblazek

  • priority changed from major to critical

Changed 7 years ago by anonymous

  • must_fix set to Yes

Changed 7 years ago by wonder

Tested again with Qt 4.2.1 with following results how long it has been rendering:

  • antialiasing off, rendering to QImage: 40 seconds + bad polygon filling
  • antialiasing on, rendering to QImage: 6 seconds
  • antialiasing off, rendering to QPixmap: 4 seconds

Changed 7 years ago by g_j_m

  • status changed from reopened to closed
  • resolution set to fixed

The slowness to display and incorrect polygon filling (discussed in ticket #83) are something that we can't do much about at the moment. In other respects the orignal problem in this ticket has been resolved.

Changed 6 years ago by anonymous

  • status_info unset

Changed 4 years ago by anonymous

  • milestone Version 0.8 deleted

Milestone Version 0.8 deleted

Note: See TracTickets for help on using tickets.