Chạy các truy vấn SQL chống lại shapefile trong QGIS?


9

Có cách nào để tôi có thể nhập một shapefile vào QGIS, sau đó chạy các truy vấn SQL không gian để chống lại nó không?

Tôi rõ ràng có thể sử dụng ogr2ogr -sqlđể làm điều này, nhưng tôi phải nhập đầu ra vào QGIS mỗi lần để xem xét nó, đó là một nỗi đau.

Sẽ thật tuyệt nếu tôi có thể nhập shapefile vào QGIS, sau đó chạy SQL với nó và xem kết quả ngay lập tức.

Câu trả lời:


15

Bạn có thể sử dụng một lớp ảo. Tải Shapefile của bạn trong QGIS, sau đó đi đến Layer / Add Layer / Add-Edit Virtual Layer. Nhập SQL bạn muốn.

Chẳng hạn, nếu shapefile của bạn được đặt tên myshpvà có thuộc tính, testbạn có thể truy vấn như:

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

Hoặc bạn có thể thực hiện truy vấn không gian bằng cách sử dụng geometrytrường:

select * from myshp 
where st_intersects(geometry, make_point(1,2));
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.