วันพุธที่ 25 มีนาคม พ.ศ. 2558

การคำนวณเนื้อที่ไร่ งาน และตารางวา จากข้อมูล Shapefile ในโปรแกรม QGIS

_______หลายๆท่านคงเคยลองคำนวณเนื้อที่เป็น ตารางเมตร ตารางกิโลเมตร หรือไร่ แต่เราจะทำอย่างไรดีที่จะทำการคำนวณเนื่อที่แบบ ไร่ งาน และวา ให้ออกมาคนละฟิลด์เลย วิธีการทำนั้นไม่ใช่เรื่องยากเลยครับ โดยเราใช้ฟังก์ชั่นที่อยู่ในเครื่องมือ Field Calculator ที่ชื่อว่า "floor" หรือ การปัดตัวเลขลงในส่วนของฟิลด์ไร่ กับ งาน เพื่อที่จะเอาค่าของทศนิยมที่เหลือนั้นมาทำการคำนวนต่อในส่วนของฟิลด์ งาน และตารางวา ครับ
1600 ตร.ม = 1 ไร่
1 ไร่ = 4 งาน
1 งาน = 100 ตารางวา

สามารถเข้าไปดูได้ที่ URL ด้านล่างนี้
https://gist.github.com/chingchai/2ebde82a5544e70f678f5a8f4e703caf



การคำนวณเนื่อที่ไร่


การคำนวณเนื่อที่งาน


การคำนวณเนื่อที่ตารางวา

ผลที่ได้



ศึกษาเพิ่มเติมได้ที่: http://docs.qgis.org/2.0/en/docs/user_manual/working_with_vector/field_calculator.html

วันอาทิตย์ที่ 15 มีนาคม พ.ศ. 2558

การ Capture ข้อมูลภาพจาก Google Map มีค่าพิกัดติดมาด้วย โดยใช้โปรแกรม Quantum GIS

_______การ Capture ข้อมูลภาพจาก google earth หรือ google maps นั้นสามารถทำได้หลากหลายวิธีมากเลยครับ แต่บางวิธีมันก็ยากและจะต้องนำภาพที่ capture มาต่อ(mosaic) ก่อนจึงจะนำมาตรึงค่าพิกัด (georeferencer) ซึ่งหลายท่านน่าจะคิดออกน่ะครับว่า ยกตัวอย่างเช่น เราจะ save ภาพจาก google earth มาจะเป็นแค่ภาพธรรมดามันไม่มีค่าพิกัดและทำให้เราต้องเสียเวลาเป็นอันมากในการทำตรึงค่าพิกัด (georeferencer) และวันนี้ผมมีวิธีการที่ง่ายๆ โดยใช้เจ้า QGIS นี่แหละครับ ซึ่งเรา save ภาพก็จะมีค่าพิกัดติดมาด้วยทันทีครับ จึงทำให้ไม่ต้องเสียเวลามาตรึงค่าพิกัดครับ โดยมีวิธีการดังนี้

1. เปิดโปรแกรม QGIS แล้วไปที่เมนู Setting >> Project Properties... แล้วทำการเลือก Projection เป็น Google Mercator (EPSG:900913)

2. จากนั้นให้เราใช้ Plugin "Openlayers Plugin" (ถ้าใครที่ยังไม่ได้ติดตั้ง Plugin ก็ให้ทำการติดตั้งด้วยน่ะครับ)

3. ถ้าท่านใดที่มี Block ในพื้นของตนเองอยู่แล้วก็ให้เอามาซ้อนทันได้เลยครับ เพื่อที่จะได้ Capture ได้ตรงตามที่ต้องการครับ

4. จากนั้นก็จะเริ่ม Capture ข้อมูลภาพ โดยไปที่เมนู File >> Save as Image... (สามารถเลือกประเภทของไฟล์ภาพหลายนามสกุลครับ ซึ่งผมเลือกเป็นแบบ *.tif)

5. ทำดั้งข้อที่ 4 และเลื่อนพื้นที่ให้ครบตามพื้นที่ที่ต้องการ ดังภาพ

6. ภาพทั้งหมดที่ Capture โดยเปิดขึ้นมาครับดังภาพครับ

7.ถ้าท่านไหนที่ต้องการจะ mosaic image หรือจะ Warp Projection ให้เป็น Projection ที่ต้องการก็แนะนำให้ใช้ GDAL เลยครับ โดยเรียกใช้จาก lib ของ QGIS ก็ได้ หรือจะใช้ FWTools ก็ดีครับ

Download Data Example (Powered by Google Drive)

วันอาทิตย์ที่ 1 มีนาคม พ.ศ. 2558

การใช้ SQL CASE...WHEN สำหรับการคำนวณฟิลด์ (Field Calculator) ใน QGIS

_______CASE...WHEN...THEN เป็นคำสั่งสำหรับการกำหนดเงื่อนไขการแสดงฟิลด์ เพื่อช่วยลดความซับซ้อนในการคำนวณฟิลด์ใน QGIS ผมว่าหลายคนคงเคยเจอปัญหานี้แบบเดียวกับผม ยกตัวอย่างเช่น ในข้อมูล Shape file ขอบเขตจังหวัด เรามีฟิลด์นึงที่เป็นรหัสจังหวัด (PROV_CODE) แต่ทีนี้เราจะทำการคำนวณโดยการสร้างฟิลด์ใหม่ขึ้นมา และสร้างฟิลด์ชื่อจังหวัด (PROV_NAME) และเราจะใช้ CASE...WHEN ช่วยในการคำนวณฟิลด์ ดังภาพครับ