Monday 25 July 2016

data - Why can't I see all records in my personal GDB in QGIS?


I am running QGIS 1.8. I have a layer from an ESRI Personal GDB. There are 431 features in the layer. When you load the layer into QGIS, and look at the Metadata properties, it shows the number of features as 431. layer metadata


When I open the attribute table, the table only shows 180 features. Layer attribute table


This is a layer that had been loaded in straight from the Personal GDB. No filters or queries had been added to it, so all features should be showing.


I first came across this issue because another coworker was trying to access the same layer using QGIS 1.7. He was having the same issue.


A couple items of note:



  1. This layer was existing in the PGDB, and then using ArcGIS, I copied and replaced a new version from a File GDB into the PGDB.


  2. I am able to load other layers from the same PGDB into QGIS where all the features are displayed.

  3. The PGDB is a modified MS Access database. If you open the database with MS Access, then open the table for this layer, it contains all 431 records with attributes.


Here is a screenshot of the layer in QGIS: QGIS Screenshot


Here is a screenshot of the same layer in ArcGIS: ArcMap Screenshot


If anyone has some insight into why QGIS is able to see the actual number of features in the layer, but is only displaying a certain number, I would appreciate it.



Answer



Open the Personal GDB in MS Access to make sure the records not shown in QGIS all have valid data, including coordinates. I'd first check the 181st record (in your case), being the first record not shown in QGIS.


Given your confirmation in the comment above, you might file a bug with the QGIS team to request a visible error message in case invalid data is found.


No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...