ฉันมีคอลัมน์ใหม่ในตารางคุณลักษณะของฉันที่มีค่าเป็นจำนวนมากและฉันต้องการแทนที่พวกเขาทั้งหมดเป็นศูนย์
ฉันจะทำสิ่งนั้นในเครื่องคำนวณภาคสนามได้อย่างไร
ฉันใช้ QGIS 1.8
ฉันมีคอลัมน์ใหม่ในตารางคุณลักษณะของฉันที่มีค่าเป็นจำนวนมากและฉันต้องการแทนที่พวกเขาทั้งหมดเป็นศูนย์
ฉันจะทำสิ่งนั้นในเครื่องคำนวณภาคสนามได้อย่างไร
ฉันใช้ QGIS 1.8
คำตอบ:
ใน QGIS เปิดตารางแอตทริบิวต์ของคุณแล้วคลิกปุ่ม "เลือกคุณสมบัติโดยใช้นิพจน์" หากต้องการค้นหาระเบียน null ทั้งหมดสำหรับเขตข้อมูลในไฟล์รูปร่างแบบสอบถามของคุณจะมีลักษณะดังนี้:
"field_name" is null
คุณสามารถค้นหาชื่อเขตข้อมูลของคุณในรายการเขตข้อมูลและค่าดับเบิลคลิกที่เขตข้อมูลที่คุณต้องการรับลงในกล่องนิพจน์
ตรวจสอบให้แน่ใจว่าคุณได้เลือกรายการบันทึกที่กรองใหม่ จากนั้นกลับไปที่ตารางแอตทริบิวต์แล้วคลิกปุ่มเครื่องคำนวณฟิลด์ ทำเครื่องหมายที่ช่อง "อัปเดตฟิลด์ที่มีอยู่เดิม" - ตรวจสอบให้แน่ใจว่าได้เลือกช่องทำเครื่องหมาย 'เฉพาะการอัพเดตที่เลือก' จากนั้นเลือกฟิลด์ที่คุณต้องการอัปเดตจากดรอปดาวน์บ็อกซ์ ใส่ 0 ในกล่องนิพจน์คลิกตกลงและคุณทำเสร็จแล้ว
คุณสามารถทำได้โดยตรงในเครื่องคำนวณภาคสนาม:
if("fieldname" is null, 0, "fieldname")
แทนที่fieldname
ด้วยฟิลด์ชื่อจริงของคุณเห็นได้ชัดว่าปลอดภัยกว่าในการสร้างเขตข้อมูลใหม่แทนที่จะเขียนทับเขตข้อมูลเก่าในกรณีที่มีสิ่งผิดปกติเกิดขึ้น
ฉันเพิ่งรู้ว่าคุณสามารถแก้ไข –.dbf– ไฟล์ของโฟลเดอร์รูปร่างของคุณและแทรกคอลัมน์ใหม่แถว ฯลฯ ที่นั่นได้! สำหรับการทำให้ตารางต้นแบบของแผนที่เป็นจริง เพียงค้นหาไฟล์เช่น: LATINAMERICA.dbf ให้เปิดด้วย LibreOffice (อย่างน้อยฉันก็เปิดด้วย "Spreadsheets" และทำงานได้อย่างสมบูรณ์) แก้ไขมันแล้วบันทึกเป็น. dbf ด้วยชื่อเดียวกันและในโฟลเดอร์เดียวกัน จากนั้นเปิดแผนที่อีกครั้งและจะมีการเปลี่ยนแปลงในตารางหลัก ... มันใช้งานได้สำหรับฉัน (Qgis WIEN 2.8) ฉันหวังว่ามันจะทำงานร่วมกับคุณทุกคนเพราะมันเป็นความเจ็บปวดที่แท้จริงค้นหาวิธีแก้ปัญหานั้น