Saya memiliki basis data spasial yang saya buat yang mencakup beberapa tahun data kejahatan. Untuk memfasilitasi skenario dunia nyata di mana saya dapat menyederhanakan interaksi untuk pengguna dengan memperkenalkan Tampilan yang hanya membatasi rentang waktu atau jenis kejahatan apa yang dikembalikan, saya ingin tahu apakah mungkin bagi QGIS untuk membaca Tampilan ini seperti itu akan ada tabel spasial lainnya di database saya. Intinya di sini adalah bahwa saya jelas tidak ingin membuat tabel terpisah untuk setiap tampilan yang mungkin saya gunakan, dan saya mencoba membuatnya sederhana dengan tidak mengharuskan pengguna untuk mengetahui database dan SQL yang sesuai untuk mengelompokkan data itu sendiri. Alur kerja serupa di dunia ArcGIS mungkin membuat file layer terpisah yang dapat dibuka pengguna di ArcMap yang mengakses database (katakanlah, SQL Server) dan hanya menyajikan kumpulan data terbatas.
Saya membuat Tampilan di basis data saya, tetapi tidak muncul dalam daftar kelas fitur yang dapat saya impor ketika saya terhubung ke db spasial di QGIS. Mungkin Tampilan tidak dianggap spasial? (Ini adalah sesuatu yang akan saya bahas nanti, tetapi saya pikir saya sudah melakukannya; Saya hanya tidak ingat kesimpulannya.) Bagaimanapun, bagaimana mungkin seseorang meniru jenis alur kerja yang saya inginkan atau alternatif ArcGIS serupa ?
sumber
SELECT * FROM views_geometry_columns;
untuk melihat apa yang perlu dimasukkan. Info lebih lanjut di gaia-gis.it/spatialite-3.0.0-BETA/spatialite-cookbook/html/…Anda juga mungkin harus memasukkan ID unik ke dalam tampilan, mirip dengan apa yang dibahas di sini: Di PostGIS, mungkinkah membuat Tampilan dengan ID unik?
sumber
mendaftarkan tampilan di geometry_columns saat ini (tahun 2015) tampaknya memerlukan bidang tambahan 'read_only' seperti:
sumber
Untuk SpatialLite 4.x, diperlukan dua perubahan pada jawaban asli - penambahan
read_only
kolom dan mengubah semua nilai yang dimasukkan ke huruf kecil. SQL yang diperbarui akan terlihat seperti ini:The
read_only
lapangan menerima 0 atau 1. (komentar See Sandro Furieri di Grup Google untuk penjelasan lebih lanjut.)Rincian lebih lanjut tentang ini dan perubahan 4.x lainnya dapat ditemukan pada wiki beralih-ke-4.0 .
sumber
NB: ganti saja: nameOfView dan geometryTable
sumber