Si queremos obtener información sobre una capa vectorial (por ejemplo, un shapefile) podríamos usar ogrinfo:
ogrinfo -so myshapefile.shp mylayer
Esto devuelve mucha información pertinente sobre el archivo de forma. ¿Es posible devolver si existe o no un índice espacial? Si es así, ¿podemos acceder a información sobre el índice espacial?
Nota: Me doy cuenta de que es trivial abrir la carpeta que contiene el archivo de forma y buscar un .sbn o .sbx, por lo que la pregunta es específica de ogrinfo.
Respuestas:
Como respuesta al comentario de @Richard Law, el nombre de la tabla de árbol virtual que contiene el índice espacial en GeoPackage siempre se nombra de acuerdo con la plantilla
rtree_[table_name]_[geometry_column_name]
Por lo tanto, puede realizar una consulta SQL que verifique la existencia de la tabla rtree.
Por ejemplo, puede verificar si la tabla "tabla1" tiene un índice espacial con ogrinfo
En este caso el indes espacial existe. De lo contrario, habría sido "0".
En GeoPackage, una tabla solo puede tener un campo de geometría y, por lo tanto, es suficiente hacer una verificación simplemente con "rtree" y el nombre de la tabla sin conocer el nombre del campo de geometría
rtree_table1_%
.fuente
Con GDAL 2.2.0 , uno de los cambios en el controlador GPKG es:
Por ejemplo:
Muestra:
O mejor, seleccione
gpkg_geometry_columns
para mostrar información para todas las columnas de geometría en el archivo:fuente
Ogr no utiliza los archivos de índice espacial ESRI .sbn, sbx. Crea un archivo .qix que puede contener un índice espacial y / o un índice de atributo. Puede construir el .qix a través de ogrinfo.
Ogr controlador de archivos de forma
También encontré un ticket GDAL que mencionaba que el archivo .sbn ahora es legible. No estoy seguro que significa esto.
boleto # 4719
fuente