Suite

Utilisation d'un index spatial ShapeFile avec ogr2ogr et ogr.DataSource.ExecuteSQL()

Utilisation d'un index spatial ShapeFile avec ogr2ogr et ogr.DataSource.ExecuteSQL()


J'ai créé un index spatial foo.qix pour un foo.shp avecogrinfo -sql "CRÉER UN INDEX SPATIAL SUR foo" foo.shpCependant, lorsque je fais une requête avec ogr2ogr et que je la regarde dans strace, il n'utilise pas cet index :

strace -e open,access /opt/gdal-custom/bin/ogr2ogr -f CSV /vsistdout/ foo.shp -dialect sqlite -sql "SELECT * FROM foo WHERE ST_Intersects(GEOMETRY,BuildCircleMbr(0, 0, 150000, 4326) )" 2>&1 | grep foo open(" foo.shp", O_RDONLY) = 3 open(" foo.shx", O_RDONLY) = 4 open(" foo.dbf", O_RDONLY) = 4 open(" foo.cpg", O_RDONLY) = - 1 ENOENT (Aucun tel fichier ou répertoire) open(" foo.CPG", O_RDONLY) = -1 ENOENT (Aucun tel fichier ou répertoire) open(" foo.prj", O_RDONLY) = 5

Une fois que cela fonctionne, s'il y a une amélioration de la vitesse, j'aimerais également appliquer un index spatial à une requête similaire à partir de python via ExecuteSQL sur le fichier de formes.