Hi,

I want to report about the outcome of
https://github.com/qgis/QGIS-Enhancement-Proposals/issues/172
"Use of FileGeodatabase spatial index in OpenFileGDB driver"

This work has been successfully completed into GDAL master (for upcoming GDAL 
3.2) per 
https://github.com/OSGeo/gdal/pull/2771 , and automatically benefits to QGIS 
when it uses 
the OpenFileGDB driver.

Some figures on a version from of few years ago of the dataset at
https://data.linz.govt.nz/layer/50772-nz-primary-parcels/, featuring 2 484 646 
polygons, 773 
MB:"ogrinfo -spat 174.949909 -41.143842 175.684529 -40.594600 -al -so 
-noextent" (thus 
counting the number of features intersecting the spatial filter), which returns 
81 046 
polygons, nows runs in 400 ms with GDAL 3.2dev and the OpenFileGDB driver, 
versus 6.7 s 
before (full scan), vs 890 ms with the FileGDB driver (with FileGDB SDK 1.5).
All figures given with debug builds, and on a hot run (so with most pages 
cached by the OS).

Interactive display of this dataset in QGIS with the OpenFileGDB driver is as 
fluid as with the 
FileGDB one. Comparing behaviour of OpenFileGDB and FileGDB drivers with strace 
shows 
that they read a similar amount of data in the .spx file, which confirms it is 
uses correctly.

The filegdb reverse engineered specification was also updated in
https://github.com/rouault/dump_gdbtable/wiki/FGDB-Spec#specification-of-spx-files

Thanks to qgis.org grant program for making this improvement possible.

Best regards,

Even

-- 
Spatialys - Geospatial professional services
http://www.spatialys.com
_______________________________________________
QGIS-Developer mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to