เรียกใช้แบบสอบถาม SQL กับ shapefile ใน QGIS หรือไม่


9

มีวิธีใดบ้างที่ฉันสามารถนำเข้า shapefile ลงใน QGIS จากนั้นเรียกใช้แบบสอบถาม SQL เชิงพื้นที่กับมันได้หรือไม่

เห็นได้ชัดว่าฉันสามารถใช้ogr2ogr -sqlในการทำเช่นนี้ได้ แต่ฉันต้องนำเข้าผลลัพธ์ไปยัง QGIS ทุกครั้งเพื่อดูซึ่งเป็นความเจ็บปวด

มันจะดีมากถ้าฉันสามารถนำเข้า shapefile ลงใน QGIS แล้วรัน SQL เทียบกับมันและดูผลลัพธ์ได้ทันที

คำตอบ:


15

คุณสามารถใช้เลเยอร์เสมือน โหลด Shapefile ใน 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));
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.