Jalankan query SQL terhadap shapefile di QGIS?

9

Apakah ada cara saya dapat mengimpor shapefile ke QGIS, kemudian menjalankan query SQL spasial terhadapnya?

Saya jelas dapat menggunakannya ogr2ogr -sqluntuk melakukan ini, tetapi saya harus mengimpor output ke QGIS setiap kali melihatnya, yang menyebalkan.

Akan lebih bagus jika saya bisa mengimpor shapefile ke QGIS, kemudian jalankan SQL untuk melawannya dan lihat hasilnya secara instan.

Richard
sumber

Jawaban:

15

Anda dapat menggunakan lapisan virtual. Muat Shapefile Anda di QGIS, lalu buka Layer / Add Layer / Add-Edit Virtual Layer. Ketikkan SQL yang Anda inginkan.

Misalnya, jika shapefile Anda bernama myshpdan memiliki atribut, testAnda dapat meminta sebagai:

select * from myshp a
where a.test = 1234;

Atau Anda dapat membuat kueri spasial menggunakan geometrybidang:

select * from myshp 
where st_intersects(geometry, make_point(1,2));
JGH
sumber