Se quisermos obter informações sobre uma camada vetorial (shapefile, por exemplo), poderíamos usar ogrinfo:
ogrinfo -so myshapefile.shp mylayer
Isso retorna muitas informações pertinentes sobre o shapefile. É possível retornar se existe ou não um índice espacial? Em caso afirmativo, podemos acessar informações sobre o índice espacial?
Nota: Percebo que é trivial abrir a pasta que contém o shapefile e procurar um .sbn ou .sbx e, portanto, a pergunta é específica para ogrinfo.
Respostas:
Como resposta ao comentário de @Richard Law, o nome da tabela rtree virtual que contém o índice espacial no GeoPackage é sempre nomeado de acordo com o modelo
rtree_[table_name]_[geometry_column_name]
Portanto, você pode fazer uma consulta SQL que verifique a existência da tabela rtree.
Por exemplo, você pode verificar se a tabela "table1" possui um índice espacial com ogrinfo
Nesse caso, os índices espaciais existem. Caso contrário, teria sido "0".
No GeoPackage, uma tabela pode ter apenas um campo de geometria e, portanto, basta fazer uma verificação com apenas "rtree" e o nome da tabela sem saber o nome do campo de geometria como
rtree_table1_%
.fonte
Com o GDAL 2.2.0 , uma das alterações no driver GPKG é:
Por exemplo:
Shows:
Ou melhor, selecione de
gpkg_geometry_columns
para mostrar informações para todas as colunas de geometria no arquivo:fonte
Ogr não usa os arquivos de índice espacial ESRI .sbn, sbx. Ele cria um arquivo .qix que pode conter um índice espacial e / ou um índice de atributo. Você pode criar o .qix via ogrinfo.
Ogr shapefile driver
também encontrei um ticket GDAL mencionando o arquivo .sbn agora é legível. Não tenho certeza do que isso significa.
bilhete # 4719
fonte