Bug report #6368
Not all Features in Personal GDB layer showing up in QGIS 1.8
|Affected QGIS version:||master||Regression?:||No|
|Operating System:||Easy fix?:||No|
|Pull Request or Patch supplied:||No||Resolution:||worksforme|
|Crashes QGIS or corrupts data:||No||Copied to github as #:||15632|
I have a point layer stored in an ESRI Personal GDB. The layer contains 431 features. When I load this layer into QGIS, it only shows the first 180 records in the layer. If you look at the properties in the layer, it shows the count of 431 features.
This layer was copied out of an ESRI File GDB. When you load the same layer from the File GDB into QGIS, all 431 features show up and are accessible in the attribute table.
Based on input from GIS.stackexchange, I did some research into the features in the layer. It turns out that feature 181, and a few features further down in the list, have invalid geometry. I tried running
ogrinfo -al datasource and it only returns the first 180 records. That is, it loads records until it hits the first record with an error in the spatial data. As a test, I tried running
ogrinfo datasource layer -where "OBJECTID=183", which is the next valid point. It correctly listed the data for that record. This indicates that it is able to read the subsequent, valid, records but not all of them in a row.
So, the long and short is that loading the same layer, with the same spatial data issues, has different results if it is stored in a File GDB or a Personal GDB. The File GDB will load all the features in the layer, regardless of whether they display or not. The Personal GDB layer will load records until a record is reached that has an error in the spatial data, at which point it stops.
I am not sure which would be better from a data standpoint.Which is better:
- Have QGIS continue to stop at a spatial data error and simply bring up an error message to notify you of the reason not all records were loaded.
- Load all records regardless of errors, like current behavior with File GDB, and then raise notification that some records have errors in their spatial data.
Here is the question from gis.stackexchange.com for reference. It has screenshots and additional detail:
Why can't I see all records in my personal GDB in QGIS?