จะจัดกลุ่มและนับข้อมูลแอตทริบิวต์ได้อย่างไร


18

ฉันต้องการจัดกลุ่มและนับคุณสมบัติด้วยค่ารหัสคุณลักษณะเดียวกัน

ฉันสามารถจำแนกข้อมูลและเปิดใช้งานการนับคุณสมบัติในรายการเลเยอร์ แต่ฉันไม่สามารถนับจำนวนได้ในตารางแอตทริบิวต์

คำตอบ:


19

ด้วยเลเยอร์เสมือนใหม่คุณสามารถใช้ SQL กับเลเยอร์ใดก็ได้ใน QGIS ตัวอย่างเช่น Shapefile สนามบินจากข้อมูลตัวอย่าง QGIS:

ป้อนคำอธิบายรูปภาพที่นี่

หากต้องการนับจำนวนสนามบินตามประเภท USE และคำนวณการใช้ระดับความสูงเฉลี่ย:

ป้อนคำอธิบายรูปภาพที่นี่

ผลลัพธ์ถูกโหลดเป็นเลเยอร์ใหม่:

ป้อนคำอธิบายรูปภาพที่นี่


สิ่งนี้มีประโยชน์กับฉันมากกว่าสถิติกลุ่มเนื่องจากฉันพยายามรับข้อมูลจากเลเยอร์ที่เข้าร่วมเลเยอร์เวกเตอร์กับฟิลด์จากเลเยอร์แอตทริบิวต์เท่านั้น (CSV) สถิติกลุ่มจะให้ฉันดึงจากเลเยอร์เดียวแทนที่จะเข้าร่วม
J. Taylor

ฉันเพิ่งลองวิธีที่แน่นอนด้วยเลเยอร์ในโครงการของฉันการทดสอบ SQL กลับมาโดยไม่มีข้อผิดพลาด แต่สิ่งที่ฉันได้รับในคอลัมน์ 'ผลรวม' คือ 0 เบาะแสใด ๆ ที่ฉันอาจมองหาสิ่งที่ฉัน ทำอะไรผิดหรือเปล่า?

1
@Iacacson ฉันกำลังเผชิญกับปัญหาเดียวกันว่ามันเป็นคำพูดที่ถูกตำหนิ ในกรณีของฉัน quoting สองเท่าของเขตข้อมูลได้ให้ข้อผิดพลาดเมื่อการทดสอบอัญประกาศเดี่ยวให้ไม่มีข้อผิดพลาด แต่ผลลัพธ์ที่ไม่ถูกต้องไม่มีใบเสนอราคาให้ผลลัพธ์ที่คาดไว้ มันอาจขึ้นอยู่กับเวอร์ชั่นของ QGIS ที่คุณใช้ ฉันอยู่ที่ 3.4
dorakiara

1
ป.ล. ฉันยังไม่สามารถทำงานเพื่อรวม (SUM) ในไฟล์ที่เข้าร่วมได้
dorakiara

7

นี่เป็นผลลัพธ์ที่ดีที่สุดใน Google ที่ฉันสามารถหาได้ แต่ภาพหน้าจอกวดวิชาโดย GM ล้าสมัยและใช้เวลาพอสมควรในการหาวิธีใช้ปลั๊กอิน

  1. เมื่อติดตั้งแล้วให้โหลดแผงควบคุมสถิติกลุ่มจากเมนู "Vector"
  2. เลือกเลเยอร์ที่น่าสนใจ
  3. จากรายการเขตข้อมูลให้ลากเขตข้อมูลที่สนใจลงในกล่อง "แถว"
  4. ตอนนี้ลากเขตข้อมูลเดียวกันลงในกล่อง "ค่า"
  5. ในรายการฟิลด์ยังมีฟังก์ชั่นบางตัวให้ลาก "count" ลงในช่อง "value" (ด้านล่างของฟิลด์ที่คุณใส่ไว้)
  6. คลิก "คำนวณ" และตารางจะปรากฏทางด้านซ้าย
  7. คุณสามารถจัดเรียงตามจำนวนถ้าคุณต้องการคลิกป้ายคอลัมน์

วิธีนี้ช่วยคนอื่นได้


คุณจะทำสิ่งนี้เพื่อเข้าร่วมระหว่างเลเยอร์ที่มีคุณลักษณะอย่างเดียวและเลเยอร์เวกเตอร์ได้อย่างไร ตัวอย่างเช่นสมมติว่าฉันมีตาราง "พัสดุ" ที่มีทรัพย์สินและค่าจากนั้นตาราง "เจ้าของ" ที่แมปชื่อเจ้าของกับหมายเลขพัสดุ ฉันจะพูดอย่างไร "จัดกลุ่มเจ้าของทั้งหมดด้วยผลรวมของมูลค่าทรัพย์สินของพัสดุทั้งหมดที่พวกเขาเป็นเจ้าของ"
J. Taylor

6

ผมขอแนะนำให้คุณติดตั้งปลั๊กอินกลุ่มสถิติ นี่คือการสอนด่วน: แบบฝึกหัดสถิติกลุ่ม

  1. ค้นหาไอคอนสถิติกลุ่ม
  2. เลือกเลเยอร์ที่คุณมีรหัส
  3. เลือกแอททริบิวต์ (ในรหัสกรณีของคุณ)
  4. คลิกที่คำนวณ

การนับจะปรากฏขึ้น หากคุณไปที่การตั้งค่าคุณควรจะสามารถเลือกได้เฉพาะการนับเท่านั้นที่หลีกเลี่ยงพารามิเตอร์อื่น ๆ ที่จะแสดง (นี่ไม่ใช่กรณีของฉัน ... ) จำไว้ก่อนที่จะคลิกปุ่มบันทึกคุณต้องเลือกเขตข้อมูลที่คุณต้องการเพิ่มใน. csv: กด Shift ค้างไว้เพื่อทำสิ่งนั้น นี่คือการสอนขั้นสูงเพิ่มเติมที่เขียนโดย Anita Graser


ยินดีต้อนรับคุณ! ลองดูคำถามนี้ด้วย ฉันหวังว่าจะได้เห็นคุณมากขึ้น! บาย!
จีเอ็ม

1

คุณสามารถใช้ Qspatialite ใน QGIS หน้าต่าง SQL นั้นเหมือนกับ Mapinfo ขึ้นอยู่กับคุณหลังจากที่จะทำการร้องขอ SQL ของคุณด้วยคำสั่ง groupby ในคอลัมน์ที่ต้องการ

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