Запускать SQL-запросы к шейп-файлу в QGIS?

9

Можно ли как-нибудь импортировать шейп-файл в QGIS, а затем выполнить к нему пространственные SQL-запросы?

Я, конечно, могу использовать ogr2ogr -sqlэто, но мне приходится каждый раз импортировать вывод в QGIS, чтобы просмотреть его, что является проблемой.

Было бы здорово, если бы я мог просто импортировать шейп-файл в QGIS, а затем запустить SQL-файл и сразу увидеть результаты.

Ричард
источник

Ответы:

15

Вы можете использовать виртуальный слой. Загрузите свой шейп-файл в QGIS, затем перейдите к Layer / Add Layer / Add-Edit Virtual Layer. Введите SQL, который вы хотите.

Например, если ваш шейп-файл назван myshpи имеет атрибут, testвы можете сделать запрос как:

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

Или вы можете сделать пространственный запрос, используя geometryполе:

select * from myshp 
where st_intersects(geometry, make_point(1,2));
JGH
источник