Jika kita ingin mendapatkan informasi tentang layer vektor (misalnya, shapefile) kita dapat menggunakan ogrinfo:
ogrinfo -so myshapefile.shp mylayer
Ini mengembalikan banyak informasi terkait tentang shapefile. Apakah mungkin untuk mengembalikan apakah ada indeks spasial atau tidak? Jika demikian, dapatkah kita mengakses info tentang indeks spasial?
Catatan: Saya menyadari itu sepele untuk membuka folder yang berisi shapefile dan mencari .sbn atau .sbx dan pertanyaannya khusus untuk ogrinfo.
Jawaban:
Sebagai jawaban atas komentar oleh @Richard Law, nama tabel rtree virtual yang berisi indeks spasial di GeoPackage selalu dinamai sesuai dengan templat
rtree_[table_name]_[geometry_column_name]
Oleh karena itu Anda dapat membuat kueri SQL yang memeriksa keberadaan tabel rtree.
Misalnya Anda dapat memeriksa apakah tabel "table1" memiliki indeks spasial dengan ogrinfo
Dalam hal ini indeks spasial memang ada. Kalau tidak, itu akan menjadi "0".
Dalam GeoPackage sebuah tabel hanya dapat memiliki satu bidang geometri dan oleh karena itu cukup untuk melakukan pemeriksaan hanya dengan "rtree" dan nama tabel tanpa mengetahui nama bidang geometri sebagai
rtree_table1_%
.sumber
Dengan GDAL 2.2.0 , salah satu perubahan pada driver GPKG adalah:
Sebagai contoh:
Menunjukkan:
Atau lebih baik, pilih dari
gpkg_geometry_columns
untuk menampilkan info untuk semua kolom geometri dalam file:sumber
Ogr tidak menggunakan file Indeks spasial ESRI .sbn, sbx. Ini menciptakan file .qix yang mungkin berisi indeks spasial dan / atau indeks atribut. Anda dapat membangun .qix melalui ogrinfo.
Ogr shapefile driver
Saya juga menemukan tiket GDAL yang menyebutkan file .sbn sekarang dapat dibaca. Tidak yakin apa maksudnya.
tiket # 4719
sumber