ฉันจะคำนวณพื้นที่ของ shapefile พื้นที่เป็นตารางเมตรหรือในไร่ (ha) ได้อย่างไร
ฉันไม่พบฟังก์ชันการทำงานนั้นในเครื่องมือเวคเตอร์
ฉันจะคำนวณพื้นที่ของ shapefile พื้นที่เป็นตารางเมตรหรือในไร่ (ha) ได้อย่างไร
ฉันไม่พบฟังก์ชันการทำงานนั้นในเครื่องมือเวคเตอร์
คำตอบ:
ทำให้เลเยอร์แก้ไขได้จากนั้นใช้เครื่องคิดเลขฟิลด์ (เลเยอร์> ตารางแอตทริบิวต์เปิด> เครื่องคิดเลขฟิลด์ / Ctrl + I หรือคลิกขวาที่รูปร่างไฟล์> ตารางแอตทริบิวต์เปิด> เครื่องคิดเลขฟิลด์ / Ctrl + I) มีโอเปอเรเตอร์ "$ area" ที่จะคำนวณพื้นที่ของแต่ละแถวในตาราง หน่วยทั้งหมดจะถูกคำนวณในหน่วยของการฉายภาพดังนั้นคุณอาจต้องการฉายไปยังการฉายที่ใช้ฟุตหรือเมตรก่อนที่จะทำเช่นนั้นแทนที่จะเป็น lat / lon
area(transform($geometry, 'EPSG:4326','EPSG:3763'))
อะไร
สิ่งนี้สามารถทำได้ด้วย Vector | เครื่องมือเรขาคณิต | เพิ่ม / ส่งออกคอลัมน์รูปทรงเรขาคณิตซึ่งสร้างรูปร่างไฟล์ใหม่โดยเพิ่มคอลัมน์พื้นที่และปริมณฑล (หรือความยาว)
แก้ไข: (ใช้เครื่องมือด้านบนคุณยังสามารถยกเลิกการเลือก "บันทึกเป็นไฟล์รูปร่างใหม่" ใน V1.8 ได้ตอนนี้อัปเดตรูปร่างไฟล์เท่านั้น!)
การใช้เครื่องคำนวณภาคสนามอาจเป็นความคิดที่ดีกว่าเนื่องจากไม่จำเป็นต้องมีการสร้างรูปร่างไฟล์ใหม่
ฉันเขียนสคริปต์สำหรับเรื่องนี้โดยเฉพาะ หากคุณไม่ต้องการที่จะปฏิเสธข้อมูลของคุณคุณสามารถคำนวณพื้นที่โดยใช้คณิตศาสตร์รูปวงรี
Processing Toolbox -> Tools -> Get scripts from on-line scripts collection -> Ellipsoidal Area
คุณจะพบสคริปต์ที่ติดตั้งใน
Processing Toolbox -> Utils -> Ellipsoidal area
เครื่องมือควรอธิบายตนเองและจะช่วยให้คุณสามารถคำนวณพื้นที่ในหน่วยที่คุณเลือกได้โดยไม่ต้องคำนึงถึงการฉายภาพ
หากพื้นที่ที่คุณกำลังดูมีแนวโน้มที่จะเปลี่ยนแปลงเช่นการดูเลย์เอาต์โครงสร้างพื้นฐานพื้นที่เก็บกักน้ำพื้นที่ศึกษา ฯลฯ ฉันพบว่ามีประโยชน์ที่จะติดป้ายกำกับพื้นที่แทนที่จะเพิ่มเป็นคุณลักษณะ
Label-> round($area/10000,2)||' ha'
วิธีนี้คุณไม่จำเป็นต้องจำให้อัปเดตพื้นที่เก็บข้อมูลในตารางแอตทริบิวต์บ่อยครั้ง