Si nous voulons obtenir des informations sur une couche vectorielle (fichier de formes par exemple), nous pourrions utiliser ogrinfo:
ogrinfo -so myshapefile.shp mylayer
Cela renvoie beaucoup d'informations pertinentes sur le fichier de formes. Est-il possible de renvoyer s'il existe ou non un indice spatial? Si oui, pouvons-nous accéder à des informations sur l'indice spatial?
Remarque: Je me rends compte qu'il est trivial d'ouvrir le dossier contenant le fichier de formes et de rechercher un .sbn ou .sbx et donc la question est spécifique à ogrinfo.
Réponses:
En réponse au commentaire de @Richard Law, le nom de la table virtuelle rtree qui contient l'index spatial dans GeoPackage est toujours nommé selon le modèle
rtree_[table_name]_[geometry_column_name]
Par conséquent, vous pouvez effectuer une requête SQL qui vérifie l'existence de la table rtree.
Par exemple, vous pouvez vérifier si la table "table1" a un index spatial avec ogrinfo
Dans ce cas, l'index spatial existe. Sinon, le aurait été "0".
Dans GeoPackage, une table ne peut avoir qu'un seul champ de géométrie et il suffit donc de faire une vérification en "rtree" et le nom de la table sans connaître le nom du champ de géométrie comme
rtree_table1_%
.la source
Avec GDAL 2.2.0 , l'une des modifications apportées au pilote GPKG est:
Par exemple:
Montre:
Ou mieux, sélectionnez de
gpkg_geometry_columns
pour afficher les informations de toutes les colonnes de géométrie du fichier:la source
Ogr n'utilise pas les fichiers d'index spatial ESRI .sbn, sbx. Il crée un fichier .qix qui peut contenir un index spatial et / ou un index d'attribut. Vous pouvez créer le .qix via ogrinfo.
Pilote de fichier de formes Ogr
J'ai également trouvé un ticket GDAL mentionnant que le fichier .sbn est maintenant lisible. Je ne sais pas ce que cela signifie.
billet # 4719
la source