Bug report #12318

attribute table does not show all features

Added by Denis Rouzaud over 4 years ago. Updated over 1 year ago.

Status:Closed
Priority:High
Assignee:Jürgen Fischer
Category:Attribute table
Affected QGIS version:master Regression?:Yes
Operating System: Easy fix?:No
Pull Request or Patch supplied:No Resolution:fixed/implemented
Crashes QGIS or corrupts data:No Copied to github as #:20496

Description

Probably due to a cache problem, the attribute table does not list all the features.

In QGIS options, use "show features visible on map" as default behaviour.

Open the table for a layer (while zoomed in, i.e. not all features are rendered on the current map).
You have the list of rendered features.
Now, choose "all features": you have still the same list.

Open the attribute layer of a geometry less table: nothing is shown (probably the same problem, since no feature is visible on map).

Affects master and 2.8


Related issues

Related to QGIS Application - Bug report #10619: Attribute table 'Show features visible on map' option doe... Closed 2014-06-18
Related to QGIS Application - Feature request #12926: Improve attribute table performance Closed 2015-06-09
Related to QGIS Application - Bug report #19468: Attribute table: show features visible on map is broken (... Closed 2018-07-23
Duplicated by QGIS Application - Bug report #12504: table of attributes of a geometryless layer/table do not ... Closed 2015-04-03

Associated revisions

Revision 2a5d59e8
Added by Jürgen Fischer over 4 years ago

attribute table: ShowVisible behaviour mode
  • change 'show all' action text
  • add note to the window title
  • also ignore mode for geometryless tables

(fixes #12318)

Revision 2d9621ec
Added by Jürgen Fischer over 4 years ago

attribute table: ShowVisible behaviour mode
  • change 'show all' action text
  • add note to the window title
  • also ignore mode for geometryless tables

(fixes #12318)

(cherry picked from commit 2a5d59e872f91de16eed73aab218aed46a71ec58)

History

#1 Updated by Jürgen Fischer over 4 years ago

that's a feature. If you use "show features visible on map" as default mode a permanent spatial filter is set to the feature request associated with the table - that filter is also visualized in the canvas (see 86d08b6). Otherwise QGIS is unusable with large tables (and that's what that default mode was originally made for).

#2 Updated by Denis Rouzaud over 4 years ago

Well, then the option "show all features" should be disabled, no?
It makes no sense to have this option if the table is not actually listing all the features.

Isn't it possible to reload properly the whole table when selecting "show all features"?

#3 Updated by Jürgen Fischer over 4 years ago

Denis Rouzaud wrote:

Well, then the option "show all features" should be disabled, no?
It makes no sense to have this option if the table is not actually listing all the features.

Isn't it possible to reload properly the whole table when selecting "show all features"?

Well, "show visible features" within the attribute table still works the way it was, if you zoom in. If you zoom out it also does - but limited to the initial rectangle that you see in the canvas. And "show all features" also works like it was, just also limited to the initial window.

#4 Updated by Denis Rouzaud over 4 years ago

OK, but there's at least two remaining major problems:

  • you will never be able to show the content of a geometry less table (!)
  • "show all features" should be removed as it can't possibly show all features

Or at least give better feedback in the option dialog, as this behavior is quite unnatural.

#5 Updated by Denis Rouzaud over 4 years ago

  • Assignee changed from Matthias Kuhn to Jürgen Fischer

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

  • Status changed from Open to Closed

#7 Updated by andskog - over 1 year ago

  • Priority changed from Severe/Regression to Low
  • Description updated (diff)

While this is not an issue anymore in e.g. 2.18.4, it seems reintroduced with 3.2. Unless you enable Show Features Visible On Map when in a view extent that contains all records, panning around will only show those within the extent it was initially set.

#8 Updated by Giovanni Manghi over 1 year ago

  • Resolution set to fixed/implemented
  • Priority changed from Low to High
  • Regression? changed from No to Yes

andskog - wrote:

While this is not an issue anymore in e.g. 2.18.4, it seems reintroduced with 3.2. Unless you enable Show Features Visible On Map when in a view extent that contains all records, panning around will only show those within the extent it was initially set.

Unless I'm not understanding the scenario I'm not able to replicate. Clean 3.2 install with osgeo4w on Windows (can't test 3.* in my Linux box at the moment).
Can you add exact steps on how replicate? thanks!

#9 Updated by Harrissou Santanna over 1 year ago

@andskog I think that's the expected behavior. Please read the tip at https://docs.qgis.org/testing/en/docs/user_manual/introduction/qgis_configuration.html#data-sources-settings (unless I also misunderstood).

#10 Updated by andskog - over 1 year ago

@ Giovanni, for the replication: In both 2.18.4 (or maybe earlier versions too, maybe since #6 above?) and 3.2 (or 3.0.3, just tested), add a point layer to a blank project and zoom in on some points somewhere. Open the attribute table and select Show Features Visible On Map, and it will show the records for the currently visible points. Pan to a completely different area with other points, and the table will still "show features visible on map" in 2.18.4, but not in 3.x, where it will show no records.

@ Harrissou, you are right, I checked the link and the tip covers the behavior.

I find it much more intuitive and useful in 2.18.4, though. Apparently previous QGIS developments did too, but not anymore?

#11 Updated by Harrissou Santanna over 1 year ago

@ Giovanni, for the replication: In both 2.18.4 (or maybe earlier versions too, maybe since #6 above?) and 3.2 (or 3.0.3, just tested), add a point layer to a blank project and zoom in on some points somewhere. Open the attribute table and select Show Features Visible On Map, and it will show the records for the currently visible points. Pan to a completely different area with other points, and the table will still "show features visible on map" in 2.18.4, but not in 3.x, where it will show no records.

If it's all to reproduce it then it sounds like a bug to me. The behavior documented in the doc is about 2.18 and the option it refers to is the one in the Settings --> Options dialog. In short:
- case 1: you set the table behavior to "Show Features Visible On Map" in global settings, then opening the attribute table limits the data to that extent wherever you goes, so if you go to another place => empty table. And this is what the tip fixes.
- case 2: you keep that global setting to "show all features" and select the "Show Features Visible On Map" in the attribute table, then it updates data as you pan the canvas.

This works in 2.18 but in master (3.3) whether you select "Show Features Visible On Map" or "show all features" does not change anything: they behave the same, aka just use the initial canvas to limit displayed data (the above case 1). Looks like we miss some functionality there.

#12 Updated by Jérôme Guélat over 1 year ago

Confirmed here with QGIS 3.2 on Windows 7...

Can someone re-open this issue?

#13 Updated by Harrissou Santanna over 1 year ago

  • Related to Bug report #19468: Attribute table: show features visible on map is broken (and affects show all features, too) added

Also available in: Atom PDF