กรอกคอลัมน์ด้วยหมายเลขที่ต่อเนื่องกันใน QGIS?


30

ฉันสร้างคอลัมน์ใหม่ในตารางคุณลักษณะของฉันและมีค่าเริ่มต้น (เช่น 0) ฉันต้องการ (อาจใช้เครื่องคำนวณภาคสนาม) ได้ผลลัพธ์ที่แถว 1 มีค่า 1, แถว 2 = 2 และอื่น ๆ เช่นเดียวกับดัชนีที่มีหมายเลข

ฉันจะขอบคุณสำหรับตัวอย่างรหัสสำหรับเครื่องคิดเลขภาคสนาม (รวมถึงการใช้งาน$rownum(ฉันคิดว่าฉันต้องการสิ่งนี้สำหรับการสลับเป็นบรรทัด))

คำตอบ:


54

เพียงใส่$rownum(QGIS 2) หรือ@row_number(QGIS 3+) เป็นนิพจน์ เรียบง่ายเหมือนที่ :)

รายการขึ้นไปวันของทุกฟังก์ชั่นเครื่องคิดเลขฟิลด์สามารถอ่านได้ในเอกสารอย่างเป็นทางการ


ฉันทำตามแนวทางของคุณแล้ว แต่ด้วยเหตุผลที่ไม่ชัดเจนตัวเลขก็เปลี่ยนไปเมื่อถึงจุดหนึ่ง มันทำงานได้อย่างสมบูรณ์จากแถวที่ 1 ถึง 129 และหลังจากนั้นเปลี่ยนเป็น 789 ... มีวิธีแก้ปัญหานี้หรือไม่
Guillaume

1
ตรวจสอบให้แน่ใจว่าคุณไม่ได้เปิดใช้งานตัวกรองการแสดงผลเนื่องจากไม่มีเหตุผลที่จะให้ตัวกรองกระโดด
lynxlynxlynx

8

@ArMoraer ได้พัฒนาปลั๊กอินที่น่าสนใจเพื่อให้สามารถควบคุมวิธีการนี้หมายเลขอัตโนมัติจะทำมันชื่อ"เรียงลำดับและจำนวน" คุณสามารถใช้มันเพื่อเติมคอลัมน์ที่มีตัวเลขที่ไม่ซ้ำกันโดยคำนึงถึง 3 ฟิลด์อื่น ๆ เพื่อจัดเรียงข้อมูลของคุณเหมือนที่คุณต้องการก่อนที่จะกำหนดหมายเลข

ดูหัวข้อต้นทาง: มีวิธีการกำหนดหมายเลขแถวสำหรับตารางที่เรียงตามคอลัมน์ใน QGIS หรือไม่?



1

สำหรับผมวิธีที่ดีที่สุดและง่ายที่สุดคือเพียงแค่$idนี้จะกลับมาเป็นตัวเลขแต่ละแถวได้จากการจัดทำดัชนีid0


มันส่งคืนแต่ละ ID คุณลักษณะ แต่ลำดับไม่จำเป็นต้องเริ่มต้นที่ 0 และอาจมีค่าขาดหายไป เป็นกรณีหลังจากลบคุณลักษณะที่มีอยู่ (เช่นเริ่มต้นด้วยเลเยอร์ที่มี 3 คุณสมบัติลบ # 2 โทรไปยัง $ id จะกลับมา 0 และ 2)
JGH

คุณถูกต้องหากมีค่าที่ขาดหายไปจะมีปัญหากับหมายเลขการจัดทำดัชนีจริง แต่ผมคิดว่าการเรียกร้องว่าหลังจากแถวลบควรยืนยัน$id @row_numberหากฉันเข้าใจการยืนยันของคุณอย่างถูกต้อง
ว.

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