อัปเดตคำตอบ (เวอร์ชั่น QGIS> = 2.14)
ตั้งแต่ QGIS 2.14คุณสามารถใช้คำสั่ง SQL วิ่งบนเลเยอร์เวกเตอร์ใด ๆ ที่โหลดโดยใช้ชั้นเสมือน
- มีชั้นโหลดใน QGIS ไปที่ชั้น> เพิ่มเลเยอร์> เพิ่ม / แก้ไขเลเยอร์เสมือน ;
ในกล่องโต้ตอบสร้างเลเยอร์เสมือนให้ป้อนคำสั่ง SQL ในฟิลด์คิวรี สิ่งที่ต้องการ:
เลือก DISTINCT city_name จาก layer_name
สำหรับชุดรูปทรงเรขาคณิต No Geometry
- คลิกตกลงและตารางจะโหลดใน QGIS ด้วยค่าที่ไม่ซ้ำกันที่ต้องการ
หมายเหตุ: ตารางนี้จะได้รับการอัปเดตหากมีการเพิ่มค่าใหม่ในคอลัมน์ city_name
คำตอบเดิม (รุ่น QGIS <2.14)
คุณมีทางเลือกน้อยที่จะทำสิ่งที่คุณถาม
- นำเข้า shapefile ของคุณในฐานข้อมูล Spatialite หรือ Postgis จากนั้นคุณสามารถสืบค้นตารางของคุณโดยใช้คำสั่ง SQL ที่สมบูรณ์
- ใช้เครื่องมือละลาย (Vector> เครื่องมือประมวลผลทางภูมิศาสตร์> ละลาย) เพื่อละลายรูปร่างไฟล์ของคุณโดยใช้ฟิลด์ "city_name" แม้ว่าจะเป็นวิธีที่แปลก แต่ไฟล์ dbf ของ shapefile ที่ได้จะให้รายชื่อที่คุณต้องการ
- ดูปลั๊กอินสถิติกลุ่ม (1.6)คุณสามารถใช้ "city_name" เป็นฟิลด์การจัดหมวดหมู่และกดคำนวณ มันจะคำนวณสถิติบางอย่างเกี่ยวกับแต่ละเมืองคุณสามารถคัดลอกผลลัพธ์และแยกรายชื่อเมือง
ฉันเพิ่งสังเกตเห็นว่าในVector> เครื่องมือวิเคราะห์มีเครื่องมือค่าเฉพาะรายการที่มีความแม่นยำสิ่งที่ต้องการสำหรับงานนี้ ง่ายมาก ... ไม่มีวิธีแก้ปัญหาและไม่จำเป็นต้องใช้ปลั๊กอิน