Executar consultas SQL no shapefile no QGIS?

9

Existe alguma maneira de importar um shapefile para o QGIS e executar consultas SQL espaciais nele?

Obviamente, posso usar ogr2ogr -sqlisso, mas tenho que importar a saída para o QGIS cada vez que olhar para ela, o que é uma dor.

Seria ótimo se eu pudesse importar o shapefile para o QGIS, depois executar o SQL nele e ver os resultados instantaneamente.

Richard
fonte

Respostas:

15

Você pode usar uma camada virtual. Carregue seu Shapefile no QGIS e vá para Layer / Add Layer / Add-Edit Virtual Layer. Digite o SQL que você deseja.

Por exemplo, se o seu shapefile for nomeado myshpe tiver um atributo, testvocê poderá consultar como:

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

Ou você pode fazer uma consulta espacial usando o geometrycampo:

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