Eseguire query SQL su shapefile in QGIS?


9

È possibile importare un file di forma in QGIS e quindi eseguire query SQL spaziali su di esso?

Ovviamente posso usarlo ogr2ogr -sqlper farlo, ma devo importare l'output in QGIS ogni volta per guardarlo, il che è una seccatura.

Sarebbe bello se potessi semplicemente importare lo shapefile in QGIS, quindi eseguire SQL contro di esso e vedere immediatamente i risultati.

Risposte:


15

Puoi usare un livello virtuale. Carica il tuo Shapefile in QGIS, quindi vai a Layer / Add Layer / Add-Edit Virtual Layer. Digita l'SQL che desideri.

Ad esempio, se il tuo file di forma è denominato myshpe ha un attributo, testpuoi eseguire una query come:

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

Oppure puoi fare una query spaziale usando il geometrycampo:

select * from myshp 
where st_intersects(geometry, make_point(1,2));
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.