SQL-Abfragen für Shapefile in QGIS ausführen?

9

Gibt es eine Möglichkeit, ein Shapefile in QGIS zu importieren und dann räumliche SQL-Abfragen dagegen auszuführen?

Ich kann das natürlich verwenden ogr2ogr -sql, aber ich muss die Ausgabe jedes Mal in QGIS importieren, um sie anzusehen, was sehr schmerzhaft ist.

Es wäre großartig, wenn ich das Shapefile einfach in QGIS importieren, dann SQL ausführen und die Ergebnisse sofort sehen könnte.

Richard
quelle

Antworten:

15

Sie können eine virtuelle Ebene verwenden. Laden Sie Ihr Shapefile in QGIS und gehen Sie zu Layer / Add Layer / Add-Edit Virtual Layer. Geben Sie die gewünschte SQL ein.

Wenn Ihr Shapefile beispielsweise benannt ist myshpund ein Attribut testhat, können Sie Folgendes abfragen:

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

Oder Sie können eine räumliche Abfrage über das geometryFeld durchführen:

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