คำนวณเนื้อที่ Polygon ของเชปไฟล์ใน ArcGIS หรือ QGIS เป็นเรื่องง่ายดาย เพียงคลิกไม่กี่ครั้งก็ได้แล้ว บล็อกนี้จะทำให้ดู
คำนวณเนื้อที่ Polygon ของ shapefile ใน ArcGIS เป็นเรื่องง่ายดาย เพียงคลิกไม่กี่ครั้งก็ได้แล้ว
คุณสมบัติที่ดีงามของเชปไฟล์ประการหนึ่งก็คือ สามารถแสดงค่าของความยาว ระยะทาง เส้นรอบวง หรือ พื้นที่ของโพลีกอน
เรียกรวม ๆ ก็คือลักษณะทางเรขาคณิต โดยใน ArcGIS จะมีเครื่องมือคำนวณเรขาคณิตอยู่ เรียกว่า Calculate Geometry tool ซึ่งเป็นเครื่องมือในการคำนวณค่าพิกัดความยาวและพื้นที่โดยขึ้นอยู่กับรูปทรงเรขาคณิตของชั้นข้อมูล คือ ถ้าเป็นโพลีกอนก็ใช้คำนวณพื้นที่ หรือความยาวเส้นรอบวง ถ้าเป็นเส้น หรือ line ก็คำนวณความยาวเส้น
สำหรับเนื้อที่ซึ่งโปรแกรม ArcGIS คำนวณให้ จะออกมาเป็นตารางเมตร หรือตารางกิโลเมตร ตามแต่จะเลือก ซึ่งในระบบเนื้อที่ของไทยจะเป็น ไร่-งาน-ตารางวา ก็ต้องนำไปคำนวณอีกครั้งหนึ่ง
คำนวณเนื้อที่ Polygon ใน ArcMap 10
การคำนวณเนื้อที่นี้ไม่จำเป็นต้องเข้า edit mode แต่โดยส่วนตัวแนะนำว่า ถ้าอยากจะ “ปลอดภัยไว้ก่อน” หรืออะไร เข้า edit mode ไว้ก็ไม่เสียหาย เพราะถ้าไม่เข้า edit mode คือจะไม่สามารถ undo หรือ แก้ไขอะไรที่ปรากฏอยู่ในฟิลด์นั้นได้ แต่ถ้าเข้า edit mode ผิดพลาดอะไรก็สามารถปิดโดยไม่ save ได้ ย้อนกระบวนการได้ น่าจะยืดหยุ่นกว่า แต่ถ้าคิดว่าฟิลด์นั้นคำนวณผลอย่างเดียว ไม่ต้องเข้า edit mode ก็ได้
วิธีเข้า edit mode ก็คือคลิกที่เมนู Editor (ใน Editor toolbar) แล้วก็คลิก Start Editing (เวลาทำเสร็จอย่าลืม save ด้วยล่ะ)
เปิดตารางแอ็ตทิบิวท์ (Open Attribute Table) ถ้าไม่มีฟิลด์สำหรับแสดงค่าพื้นที่อยู่ก่อนให้ “add Field” แนะนำให้เลือก field type เป็น double ส่วนช่อง precision นี่คือทศนิยม ใส่สัก 2 หรือถ้าไม่ใส่ทศนิยมก็ใส่ 0 (ในตัวอย่างเพิ่มฟิลด์ชื่อ Area) แต่ถ้ามีช่องเนื้อที่อยู่ก่อนแล้วก็ใช้ฟิลด์นั้นไปเลยไม่ต้องเพิ่มอะไรใหม่
ทีนี้ก็มา คลิกขวาที่ฟิลด์ที่จะให้แสดงผลการคำนวณเนื้อที่ (ในตัวอย่างคือฟิลด์ชื่อ Area) เลือก calculate geometry หรือใช้คีย์ลัด CTRL+SHIFT+G
แต่ตรงนี้ถ้าใครทำงานในระบบ GCS (Geographic Coordinate System) เมื่อกด calculate geometry จะขึ้นสีเทาคลิกและใส่อะไรต่อไม่ได้ เพราะฟังก์ชันการคำนวณพื้นที่จะต้องเป็น PCS (Projected Coordinate System) เท่านั้น
พอเลือก calculate geometry แล้วให้ดูตรงช่อง Property เลือก Area (เพราะจะให้คำนวณพื้นที่ แต่ถ้าจะคำนวณอย่างอื่นก็เลือกอย่างอื่น) แล้วก็เลือก Coordinate System ที่จะใช้คำนวณ เพราะบางทีเรานำ shapefile ที่มี Coordinate ต่างจาก Dataframe Property ที่ตั้งเอาไว้ ช่อง Unit เลือก Square Meter (ตารางเมตร)
แต่อันนี้ก็มีข้อสังเกตอยู่อย่างหนึ่งว่า สมมติ shapefile โดนตั้งค่ามาเป็น WGS 1984 เราคำนวณในระบบดาตั้ม 1984 แล้วได้ค่าหนึ่ง แต่พอแปลงค่าจาก 1984 มาเป็น Indian 1975 โดยการตั้งค่า data frame property อาจจะได้ค่าอีกอย่างหนึ่ง
หมายเหตุ ในกรณีที่ field ที่สร้างมาเป็น text จะเลือกให้เติมคำต่อท้าย เช่น sq m (ตารางเมตร) ได้จาก with the units abbreviation
เพียงเท่านี้ก็เรียบร้อย
คำนวณเนื้อที่ Polygon ใน QGIS
สำหรับคนที่ใช้ QGIS การคำนวณเนื้อที่ให้ทำแบบนี้นะจ๊ะ
เปิดตารางแอตทริบิวต์ของเลเยอร์ที่ต้องการขึ้นมา
(คลิกขวาที่เลเยอร์ที่ต้องการ แล้วเลือก Open Attribute Table)
คลิกที่ปุ่ม Open Field Calculators
(หรือจะกด Ctrl+I ที่คีย์บอร์ดก็ได้นะ)
ถ้าต้องการสร้างฟิลด์ใหม่ ให้ติ๊กถูกตรง Create New Field (และถ้าต้องการสร้างฟิลด์ใช้ชั่วคราว ไม่บันทึกเก็บในเชปไฟล์ ให้เลือกติ๊กถูกตรง Create Virtual Field
ตรง output field name ให้ใส่ชื่อที่ต้องการ อย่างเช่น AREA
ตรง output field type ตรงนี้เป็นตัวเลข เลือกตามที่ต้องการว่าจะให้เป็นอะไร โดยส่วนตัวเลือกเป็น decimal number (real) กำหนดเลข 10 หลัก ทศนิยม 3 ตำแหน่ง
[ แต่ถ้า จะอัปเดทข้อมูลในฟิลด์เดิม ให้เลือกติ๊กถูกตรง Update Existing Field แล้วเลือกฟิลด์ที่ต้องการ ]
ตรงช่อง Expression ให้ใส่ $area หรือ area ตามที่ต้องการ
แล้วลองกด Apply ดูผลลัพธ์ว่าได้อย่างใจหรือไม่ หรือจะกด OK ไปเลยก็ได้
คำนวณเนื้อที่ Polygon ใน ArcGIS Pro
สำหรับใน ArcGIS Pro จะเหมือนกับ ArcMap เพียงแค่หน้าตาจะเปลี่ยนไป
เปิดตารางแอตทริบิวต์ขึ้นมา แล้วคลิกตรงหัวฟิลด์ไหนก็ได้ ไม่ต่างกัน คลิกขวาเลือก Calculate Geometry
Input Layer: ตามปกติ ถ้าเราเปิดจากตารางแอตทริบิวต์ ก็จะเป็นของเลเยอร์นั้นอยู่แล้ว แต่จะเปลี่ยนตรงนี้ก็ได้เช่นกัน
Field (Exist or New): ตรงนี้เราจะเลือกฟิลด์ที่มีอยู่แล้ว หรือว่าจะสร้างฟิลด์ใหม่ก็ได้ พิมพ์ชื่อฟิลด์ที่ต้องการไปเลย
Properties: เลือก area หรือ area (geodesic) ตามที่ต้องการ
Area Unit: จะเลือกเป็นตารางเมตร กิโลเมตร ก็แล้วแต่เลย
Coordinate system: ก็เลือกตามที่ต้องการ
แล้วก็คลิก apply หรือจะ OK ไปเลยก็ได้
เรียบร้อยแล้วจ้ะ
AREA $AREA AREA (GEODERSIC)
สิ่งหนึ่งที่มือใหม่ต้องสงสัยแน่ ๆ ว่าใน ArcGIS จะมีให้เลือก 2 เนื้อที่สองแบบคือ area กับ area (geodersic) ส่วนใน QGIS จะเป็น area กับ $area
ทั้งหมดทั้งมวลนี้มันต่างกันอย่างไร?
ตอบสั้น ๆ เลยครับ จะวัดแบบทางราบเหมือนวัดบนแผนที่กระดาษเรียบ ๆ หรือจะวัดความยาวแบบตามผิวโลกที่เป็นทรงกลมจะมีส่วนโค้ง
ถ้าใช้ $area หรือ area (geodesic) นั่นคือการคำนวณตามส่วนโค้งของเปลือกโลก
ถ้าใช้ area คือการคำนวณแบบตรง ๆ เหมือนวัดบนกระดาษ
แน่นอนว่า การวัดระยะตามความโค้งของโลก จะแม่นยำกว่า แต่… โลกเรากว้างใหญ่ไพศาลมาก กับพื้นที่เล็ก ๆ ภายในประเทศไทย ความโค้งของเปลือกโลกอาจจะไม่ได้ส่งผลความแตกต่างอย่างมีนัยยะสำคัญ
ยกตัวอย่างเช่น กรุงเทพ ถึง ขอนแก่น ระยะวัดตามส่วนโค้งของเปลือกโลกอยู่ที่ประมาณ 390 กิโลเมตร แต่ถ้าวัดแบบแบนราบเหมือนวัดกระดาษ จะอยู่ที่ประมาณ 400 กิโลเมตร แต่ถ้าเราขยับไปวัดระยะทางตามเส้นโค้งเปลือกโลกจาก ลอนดอน ไปยัง สตอกโฮล์ม ถ้าใช้วิธีวัดตามเส้นโค้งเปลือกโลกจะได้ระยะประมาณ 1,441 กิโลกเมตร แต่ถ้าวัดแบบแนวระนาบ จะได้ถึง 2,542 กิโลเมตร ระยะทางตามระนาบจะบิดเบือนเกือบสองเท่าของระยะทางตามระนาบจริง!
ยิ่งเข้าใกล้ขั้วโลกเหนือ/ใต้ ก็จะยิ่งมีความต่างมากยิ่งขึ้น
เพราะแผนที่แบนเรียบ ๆ นั้น เรากางออกมาจากโลกกลม ๆ นึกถึงผลส้มที่เราปลอกเปลือกกลม ๆ แล้วพยายามนำมาแผ่นให้แบนราบ ตรงบริเวณตรงกลาง จะไม่บิดเบี้ยวอะไรมากนัก แต่บริเวณขั้วเหนือและใต้ จะโดนฉีกวิ่นแหว่ง เพื่อจะพยายามให้มันเป็นแผ่นราบแนวระนาบ
อันนี้ก็ฝากไว้ให้คิสนะจ๊ะ