Archive

Archive for ธันวาคม, 2009

แนะนำโปรแกรมคำนวณวงรอบ Traverse Pro สำหรับช่างสำรวจ/โยธา (ฟรี)

Traverse Pro

  • โปรแกรม Traverse Pro เป็นโปรแกรมสำหรับคำนวณวงรอบ (Traverse) ซึ่งการรังวัดวงรอบและคำนวณวงรอบ ช่างสำรวจและโยธาคงทราบกันดีเพราะเป็นงานพื้นฐานอยู่ในหลักสูตรงานสำรวจอยู่แล้ว
  • Traverse Pro เป็นโปรแกรมที่ผมพัฒนาเอาไว้ใช้งานส่วนตัวเป็นเวลาหลายปีแล้ว แจกให้พี่ๆน้องๆไปใช้งานโดยไม่ได้คิดสตางค์ Traverse Pro เป็นโปรแกรมแรกที่ผมพัฒนาด้วย Delphi จากนั้นก็ชอบ Delphi มาตลอด จนกระทั่งเป็น Lazarus ในที่สุด ความจริงตอนนี้อยากจะ port โค๊ดจาก Delphi เป็น Lazarus แต่ก็ไม่ค่อยมีเวลาเหมือนเมื่อก่อน เนื่องจากตำแหน่งหน้าที่การงาน การ port โค๊ดต้องใช้เวลาเพราะโค๊ดบางส่วนยังอิงอยู่กับ Win API อยู่มาก การ port โค๊ดให้ cross-platform ต้องตัดทิ้ง Win API ให้หมด งานหนักจึงอยู่ตรงนี้

วงรอบคืออะไร

  • วงรอบเป็นงานสำรวจ (Surveying) ที่นำมาใช้ขยายหมุดควบคุมทางราบ (Horizontal control point) เพิ่มเติมจากหมุดที่มีอยู่แล้ว ลักษณะงานจะเป็นการวัดมุมราบและวัดระยะทางต่อเนื่องเป็นเส้นตรงต่อกันไป การรังวัดวงรอบเริ่มจากหมุดควบคุมทางราบที่ทราบค่าพิกัด 2 หมุด (หรือทราบค่าพิกัด 1 หมุดและค่าอะซิมัท 1 ค่าก็พอ) และกลับมาบรรจบหมุดคู่เดิม หรือไปบรรจบหมุดที่ทราบค่าพิกัดอีกคู่หนึ่ง จะเรียกว่าวงรอบปิด (Closed traverse) ดูรูปด้านล่างเป็นลักษณะวงรอบปิด

ตัวอย่างวรรอบ

  • จากรูปด้านบนจะเห็นสีแดงเป็นเส้นตรงเชื่อมหมุดควบคุมทางราบ 2 หมุด เส้นน้ำเงินเ็ป็นเส้นที่เชื่อมหมุดวงรอบ จุดสีชมพูเป็นหมุดวงรอบ ส่วนเส้นโค้งตามนาฬิกาคือมุมของวงรอบ ในการรังวัดวงรอบในปัจจุบันจะใช้กล้อง Total Station ที่สามารถวัดมุมและวัดระยะทางได้ละเอียดกว่าการดึงเทปในสมัยแต่ก่อนมาก เมื่อทำการรังวัดวงรอบเสร็จแล้ว จากนั้นนำข้อมูลมาคำนวณ ซึ่งโปรแกรม Travesrse Pro จะนำมาใช้ในจุดนี้เอง ในสมัยแต่ก่อนการคำนวณวงรอบ จะใช้เครื่องคิดเลข ซึ่งหฤโหดพอสมควร ใช้เวลามากๆถ้าวงรอบใหญ่ใช้เวลาเป็นวันๆก็มี

GPS vs. Traverse

  • ในยุคนี้เป็นยุคของ GPS การรังวัดด้วย GPS เพื่อขยายหมุดควบคุมทางราบ นับว่าให้ความสะดวกมาก รวดเร็ว ใช้คนน้อย ให้ความถูกต้องสูง การรังวัดวงรอบจะตายหายไปจากโลกหรือปล่าว ผมยังคิดว่าไม่ หนึ่งนั้นคือเครื่อง GPS แบบสองความถี่ถึงแม้ราคาจะถูกกว่าแต่ก่อนมาก แต่ก็ยังแพงกว่ากล้อง Total Station อยู่หลายเท่าตัว และงานวงรอบยังได้เปรียบบางอย่างเช่น ในสภาพพื้นที่ที่ไม่เอื้ออำนวนเช่นป่าทึบ หรือมีตึกสูงบังสัญญาณ  GPS มาก วงรอบก็ยังได้เปรียบ แต่ผมเองมีเครื่องมืออยู่ทั้ง 2 ประเภทจึงใช้ทั้งสองวิธีแล้วแต่สถานการณ์ หรือใช้ควบคู่กันก็มี
  • สำหรับเรื่อง GPS อนาคตก็ไม่แน่นักดูดาวเทียมเกี่ยวกับ positioning ตอนนี้มีทั้งของ รัสเซีย, ยุโรป, ญี่ปุ่น, อินเดีย เครื่องรับสัญญาณ GPS คงจะถูกลงมาก และในที่สุดก็อาจจะถูกในระดับที่หาซื้อกันได้ง่าย ไม่แน่นักเครื่องรับ GPS อาจจะติดมาบนกล้อง Total Station เลย (คล้ายๆกับ Leica System 1200) แบบ 2 in 1 ไม่ใช่แยกกันได้แบบ Leica System 1200

Download Traverse Pro

  • สนใจโปรแกรม Traverse Pro สามารถดาวน์โหลดได้ที่นี่ TraverseProSetup.zip ขนาดเล็กมากประมาณ 2.5 MB

ติดตั้งโปรแกรม

  • เมื่อดาวน์โหลดแล้วก็ทำการติดตั้งได้ง่ายๆ ถ้าติดตั้งแบบ default โปรแกรมจะถูกติดตั้งที่ drive c ที่ C:\Program files\Survey Suite\Traverse Pro\ จะมีโฟลเดอร์ย่อย Examples อยู่ภายใต้และมีตัวอย่างของงานวงรอบให้ลองทดสอบด้วยและมี คู่มือเป็น PDF file ผมเขียนไว้นานแล้ว น่าจะอ่านรู้เรื่อง (ส่วนใหญ่โปรแกรมเมอร์ผู้เขียนโปรแกรม ถ้าเขียนคู่มือการใช้โปรแกรม ส่วนใหญ่คู่มือจะแย่ ก็น่าเห็นใจ ฮาฮา คนเรามันเก่งหลายอย่างไม่ค่อยได้)
  • ผมจะแนะนำโปรแกรมพอสังเขป (อารมณ์มานั้งรีวิวโปรแกรมตัวเอง มันค่อนข้างแปลก จะด่าก็คือด่าตัวเอง ฮา จะชมมันก็ไม่ใช่)

แรกเริ่มใช้โปรแกรม

  • เมื่อเปิดโปรแกรมมาจะเห็นหน้าตาค่อนข้างเรียบง่าย icon ค่อนข้างขัดตาหน่อยเนื่องจากทำเอง ถ้าเปิดดู Help > About จะเห็นชื่อผม

หน้าตาโปรแกรม Traverse Pro

  • จากรูปด้านบนจะมีแถบ Tool bar อยู่ใช้แทนเมนูได้ทั้งหมด ล่างมาหน่อยเป็นกริดจะมีอยู่สองแท็ปคือ Input table กับ Computation table ตัว Input table เป็นตารางสำหรับป้อนข้อมูลวงรอบ ผมออกแบบมาให้คล้ายๆกับสมุดสนามที่ช่างสำรวจใช้จดข้อมูล เพื่อให้ดูง่ายๆ และป้อนข้อมูลได้ง่ายๆเช่นกัน มาดูองค์ประกอบของโปรแกรมทีละส่วน

แถบเครื่องมือ (Tool bar)

  • แถบเครื่องมือจะเรียงตามลำดับการใช้งานจากซ้ายไปขวา ดูรูปข้างล่าง

แถบเครื่องมือ (Tool bar)

ตารางป้อนข้อมูล

  • ถัดจากแถบเครื่องมือลงมาจะเป็นตารางกริด 2 ตารางคือตามรางป้อนข้อมูล (Input table) และตารางคำนวณ (Computation table) ดูที่ตารางป้อนข้อมูลก่อนจะเห็นดังรูปด้านล่าง

ตารางป้อนข้อมูล

การป้อนข้อมูล

  • การป้อนข้อมูลบนตาราง โปรแกรมจะล็อคให้ป้อนเฉพาะช่องสีขาวเท่านั้น การป้อนข้อมูลใน Traverse Pro ผมแนะนำให้ป้อนเป็นคอลัมน์ เช่นป้อนชื่อวงรอบก่อนให้ครบ แล้วค่อยมาป้อนมุมราบให้ครบทุกจุดตั้งกล้อง จากนั้นป้อนระยะราบระหว่างหมุด สุดท้ายค่อยมาป้อนค่าพิกัดหมุดควบคุมทางราบออกงานและหมุดบรรจบ รูปข้างล่างตัวอย่างป้อนข้อมูลชื่อหมุดวงรอบ

ป้อนชื่อหมุดวงรอบ

  • ป้อนมุมราบ(Horizontal Angle) เป็นลักษณะเดียวกันกับป้อนชื่อหมุดคือป้อนเป็นคอลัมน์จากบนลงล่างเช่นเดียวกัน

ป้อนมุมราบ

  • ป้อนระยะราบ (Horizontal Distance) ป้อนจากบนลงล่างเช่นเดียวกัน

ป้อนระยะราบ

ป้อนค่าพิกัดหมุดควบคุมทางราบ

  • การออกงานวงรอบจะใช้หมุดคู่ เราเรียกง่ายๆว่าหมุดออกงานและหมุดบรรจบ อาจจะเป็นหมุดเดียวกันถ้าวงรอบเป็นวงและกลับเข้ามาบรรจบหมุดเดิม หมุดคู่จะมีอยู่ 2 กรณีคือมีค่าพิกัดทั้งสองหมุด หรือ มีค่าพิกัดเพียงแค่หนึ่งหมุดและค่าอะซิมัท(ภาคของทิศ) ระหว่างหมุดคู่ ใน case หลังจะพบได้ในอตีตเช่น การรังวัดทางดาราศาสตร์ เช่นการรังวัดดาวเหนือเป็นต้น ดังนั้นการป้อนจะป้อนได้ 2 วิธี

ป้อนค่าพิกัดหมุดควบคุมทางราบ 1 คู่

  • หรือป้อนค่าอะซิมัทและค่าพิกัดหมุด 1 หมุด

ป้อนค่าอะซมัทและค่าพิกัดหมุด

ป้อนข้อมูลโครงการ

  • คลิกที่แถบเครื่องมือหรือที่เมนู Traverse > Project Information ป้อนข้อมูลโครงการ ดังรูปด้านล่าง

ป้อนข้อมูลโครงการฯ

ตั้งค่าวงรอบ UTM

  • การพิจารณาว่าวงรอบนั้นจะใช้ UTM หรือไม่ ขั้นแรกให้ดูว่าค่าพิกัดหมุดคู่ที่ใช้อออกงานและหมุดที่เข้าบรรจบ (หมุดคู่ทั้งหมุดออกและหมุดเข้าต้องอยู่ในระบบพิกัดเดียวกัน) เป็นหมุดลอย หรือหมุดที่สมมติค่าพิกัดขึ้นมา แบบนี้ให้เลือกเป็นวงรอบธรรมดาไม่ใช่วงรอบ UTM  ขั้นที่สอง ถ้าหมุดเป็นหมุดที่มีค่าพิกัด UTM เช่นเป็นหมุดที่ได้จากการรังวัดด้วย GPS เตือนความจำกันนิดว่าในประเทศไทยอยู่ในโซน UTM จำนวน 2 โซนอยู่เหนือเส้นศูนย์สูตร (์North Hemisphere) เท่านั้นคือ Zone 47 และ Zone 48 และัทรงรี (Ellipsoid) ที่เราใช้งานในเมืองไทยมีอยู่ 2 ทรงรีคือ Everest 1830 และ WGS84
  • พื้นหลักฐาน (Datum) เมื่ออิงกับทรงรี Everest 1830 จะเรียกพื้นหลักฐานนี้ว่า Indian 1975 ส่วนทรงรี WGS84 เรียกพื้นหลักฐานนี้ตรงๆว่า WGS84
  • UTM (Universal Transverse Mercator) นั้นเป็นเส้นโครงแผนที่ (Map Projection) และเป็นสากล โลกของเราถูกแบ่งซอยเป็น zoneๆ ละ 6 องศา(ตาม longitude) แต่ละประเทศจะมีเลขโซนแตกต่างกันไป ดังนั้นการเรียก UTM จึงมักเรียกใ้ห้ชัดเจน แล้วตามด้วยพื้นหลักฐานก็ดีเช่น UTM 47N (WGS84) หรือ UTM 48N (Indian 1975)  หรือตัวอย่างอื่นๆได้แก่ประเทศมาดากัสการ์ อยู่ใต้เส้นศูนย์สูตร มีโซนอยู่ 2 โซนคือ 38 และ 39 ถ้าค่าพิกัดอยู่บน WGS84 ก็จะได้ UTM 38S (WGS84) หรือ UTM 39S (WGS84) เป็นต้น ตัวอักษรที่ตามหลังหมายเลขโซนก็จะระบุเป็นเหนือหรือใต้เส้นศูนย์สูตร (N หรือ S)
  • ระยะราบที่ได้จากกล้องวัดระยะหรือกล้อง Total Station ในงานสำรวจจะเป็นระยะราบจริงๆ ถ้าจะคำนวณเป็นวงรอบ UTM จะต้องทอนระยะราบไปเป็นระยะกริด (Grid Distance) ด้วยการนำ Scale Factor เข้ามาคูณ เขียนสูตรง่ายๆเป็น Grid distance = Scale Factor x Horizontal distance ค่า Scale factor ที่ว่านี้จะได้จากการคำนวณจากสูตร ซึ่งค่า Scale factor จะเปลี่ยนไปไม่คงที่แล้วแต่ค่าพิกัด ในบางกรณีเช่นงานก่อสร้าง จะใช้ค่าคงที่ที่เป็นค่าเฉลี่ยมาใช้
  • ดังนั้นมี 2 ทางเลือกให้ผู้ใช้โปรแกรมได้เลือกคือป้อนค่าเฉลี่ยค่าระดับ(อ้างอิงกับ MSL)ของบริเวณที่ทำวงรอบ หรือเลือกใช้ค่าคงที่ ต่อไปมาดูที่โปรแกรมคลิกทีี่่แถบเครื่องมือ หรือคลิกที่เมนู Traverse > UTM Settings…

ตั้งค่าวงรอบ UTM

  • จากรูปด้านบน ถ้าเป็นวงรอบ UTM ให้คลิกเลือกที่เลข 1 แล้วตั้งค่า Datum (เลข 2) ว่าเป็น Indian 1975 หรือ WGS84 แล้วที่หมายเลข 3 ให้เลือกว่าจะใช้ค่าระดับ MSL หรือใช้ค่าคงที่ ถ้าเลือกป้อนค่าระดับโปรแกรมจะคำนวณค่า Scale factor ที่กล่าวไปแล้วให้

การคำนวณวงรอบ (Traverse Computation)

  • เมื่อป้อนข้อมูลเป็นที่เรียบร้อยแล้ว ก็จะมาคำนวณวงรอบ ซึ่งครั้งแรกๆส่วนใหญ่จะไม่ผ่าน เพราะอาจจะป้อนค่าผิด ผลการคำนวณจะแสดงให้เห็นว่าวงรอบนั้นผ่านหรือไม่ การคำนวณทำได้โดยคลิกที่แถบเครื่องมือรูปเครื่องคิดเลข และรายการคำนวณจะแสดงให้เห็นคร่าวๆ

คำนวณวงรอบ

  • จากรูปด้านบนเมื่อทำการคำนวณโปรแกรมจะนำรายการคำนวณมาลงให้ที่ตารางการคำนวณ (Computation table) ที่ผมกล่าวไปแล้วข้างต้น

ตรวจสอบเกณฑ์ของงานวงรอบ

  • ในงานรังวัดของการสำรวจแต่ละงานจะมีเกณฑ์ของความผิดพลาดให้ เช่นเป็นงานชั้นที่ 1, 2 และ 3 แต่ละงานจะเกี่ยวข้องอยู่กับความละเอียดของเครื่องมือที่ใช้และวิธีรังวัดด้วย งานวงรอบหลักๆแล้วในเบื้องต้นจะดูเพียง 2 อย่างเท่านั้นคือความผิดพลาดทางมุม (Error Angle) และ ค่า Accuracy ซึ่งค่า Accuracy จะคำนวณได้ง่วยๆจาก ค่าความคลาดเคลื่อนบรรจบ (Linear Misclosure) ซึ่งค่าความผิดพลาดทางมุมต้องผ่านเกณฑ์ก่อนจึงจะไปดูค่า Accuracy

ตรวจสอบเกณฑ์ของงาน

  • ดูตารางข้างล่างเป็นเกณฑ์ชองงานวงรอบนำมาจากหนังสือ (pdf) จาก Public Number EM 1110-1-1005 เรื่อง Engineering and Design – Control and Topographic Surveying ของสถาบัน US Army Corps Of Engineers สามารถดาวน์โหลดได้ที่ Entire.pdf ซึ่งตำราของ US Army Corps Of Engineers (USACE) เป็นที่รู้จักแพร่หลาย เน้นทางปฏิบัติ มีรูปให้ดูเข้าใจง่าย ถือว่าเป็นครูคนที่สองของผมก็ได้

เกณฑ์ของงานวงรอบจาก US Army Corps Of Engineers

  • จากตัวอย่างของงานวงรอบ จะเห็นว่ามีค่าความผิดพลาดทางมุม 35.25 ฟิลิปดา ถ้าดูเกณฑ์ของ USACE ตรง Angle (Secs) ถ้าเป็นงานชั้นสาม Class I จะยอมให้ผิดพลาดได้ไม่มากกว่า 10x√N ฟิลิปดา(N คือจำนวนจุดที่วัดมุม) จากตัวอย่างจำนวนหมุดที่วัดมุม 28 = 10 x √28 = 52.92 ฟิลิปดา แต่จากการรังวัด 35.25 < 52.92 ค่าความผิดพลาดทางมุมไม่เกินเกณฑ์ จึงใช้ได้
  • มาดูที่ค่า Accuracy ตรง Distance (Ratio) ค่า Accuracy คำนวณได้จาก ค่าความคลาดเคลื่อนบรรจบ / ผลรวมความยาววงรอบ จากตัวอย่าง ค่าความคลาดเคลื่อนบรรจบ = 0.059 เมตร ผลรวมความยาววงรอบ (Sum of grid distance) = 1664.387 เมตร ดังนั้น Accuracy = 0.059/1664.387 = 28209 หรือเขียนได้เป็น Accuracy 1 : 28209 ซี่ง 1:  28209 > 1 : 10000 จึงใช้ได้ แต่ในเมืองไทยเรางานชั้นสามไม่ได้แบ่งเป็น Class I และ Class II และกล้องวัดระยะในปัจจุบันก็วัดค่าได้แม่นยำจึงอนุมานว่างานชั้นสามน่าจะอยู่ที่เกณฑ์ Third Order, Class I ของ USACE

การแสดงผลวงรอบ

  • แสดงผลวงรอบ ผมเขียนตัวแสดงแผนที่ไว้ง่ายๆ สามารถย่อ ขยาย เลื่อนได้ เพื่อดูรูปวงรอบ ว่าใกล้เคียงกับของจริงๆหรือปล่าว ที่แถบเครื่องมือคลิกตามหมายเลข 1 ดังรูป

แสดงผลเป็นแผนที่ของงานวงรอบ

  • ถ้าต้องการส่งรูปของวงรอบเข้า Autocad ก็คลิกที่ tool bar ตรงหมายเลข 2 ดังรูปด้านบน ถ้าเครื่องคอมพิวเตอร์เปิด Autocad อยู่โปรแกรมจะส่งเข้าโดยตรง ถ้ายังไม่เปิดอยู่ Traverse Pro ก็จะเปิดให้พร้อม pump รูปแผนที่วงรอบเข้า Autocad ดังรูปด้านล่าง (ผมใช้ Autocad 2009) ก็พอดูได้ ดีกว่ามานั่งลากเส้นเองตามค่าพิกัดวงรอบ

แสดงผลบน Autocad

การพิมพ์และดูภาพก่อนพิมพ์

  • ถ้าต้องการพิมพ์เป็นเอกสารตารางคำนวณวงรอบออกทางเครื่องพิมพ์ ก็สามารถทำได้โดยตรง ในทางโปรแกรมมิ่งโค๊ดชุดนี้ผมดัดแปลงมาจาก component ที่ดาวน์โหลดมาจาก net จำไม่ได้แล้ว ไม่ได้ใช้ Report component ของ database ใดๆ คือ component ที่ผมใช้เตรียมภาพก่อนพิมพ์คล้ายๆกับ Canvas มาให้ ผมทำอย่างเดียวคือโค๊ดตัวหนังสือ ตารางลงไปบน Canvas เป็นอันจบ ส่วนการ ย่อ ขยาย เลื่อนภาพ component ชุดนี้ทำให้หมด

ดูภาพก่อนพิมพ์

การส่งตารางคำนวณเข้า Microsoft Excel

  • เป็นอีกวิธีทางเลือกให้ผู้ใช้ ได้จัดตารางคำนวณ แล้วก็พิมพ์ผ่าน Excel สามารถแก้ไขอะไรก็ได้บน Excel ดูรูปด้านล่างคลิกที่แถบเครื่องมือหมายเลข 1 ดังรูป แต่เครื่องที่ติดตั้งโปรแกรม Traverse Pro ต้องติดตั้ง Microsoft Office ด้วยถึงจะใช้ feature นี้ได้ ถ้าเป็นเครื่องผมที่ติดตั้ง OpenOffice ไว้จะเกิด Error ดังรูปด้านล่าง

พยายามส่งรายการคำนวณเข้า Excel แต่เกิด Error

  • ลองใหม่ ด้วยการ copy โฟลเดอร์ของ Traverse Pro เข้า Thumb driveไปรันบนเครื่องอื่นที่ติดตั้ง Excel ไว้ ผมลืมบอกไปว่าโปรแกรมของผมเขียนด้วย Delphi ลักษณะเป็น portable คือสามารถนำไฟล์ Exe ไปรันบนเครื่องอื่นได้โดยไม่ต้องติดตั้ง นี่เป็นคุณลักษณะพิเศษของโปรแกรมที่เขียนด้วย Delphi คือไม่ต้องขน external library เช่นเดียวกับ VB ให้รุงรัง
  • รันโปรแกรม แล้วเปิดข้อมูลทำการคำนวณแล้วคลิกที่ icon ของ Excel ดังรูปด้านบน จะได้ผลลัพธ์ดังรูปด้านล่างสามารถนำมาแก้ไข เช่นขยายหรือหดคอลัมน์ได้ กั้นหน้าตามความต้องการ แล้วสั่ง print ออกได้

ผลการคำนวณวงรอบเมื่อแสดงผลบน Microsoft Excel

สรุปการใช้โปรแกรม Traverse Pro

  • เท่าที่คนที่เอาโปรแกรมไปใช้ก็ยังไม่เจอ bug อะไรที่ร้ายแรง ส่วนใหญ่ถ้าทำตามคู่มือ จะไม่มีปัญหา จะมีปัญหาเพียงแต่ถ้านำไปติดตั้งบน Windows Vista จะถูก block ไม่ให้ติดตั้งก็ไม่เข้าใจว่าทำไม วิธีง่ายๆก็ติดตั้งที่เครื่องที่มี Windows XP แล้ว copy โฟลเดอร์ของโปรแกรมไปรันบน Vista ได้เลย ผมยังไม่ลองบน Windows 7 ว่าจะติดตั้งได้หรือไม่ Traverse Pro ตอนนี้หยุดพัฒนาด้วย Delphi แล้ว แต่ก็ไม่ใช่ทีเดียว อย่างที่ผมบอกไปตอนแรก ถ้าสามารถ port โค๊ดไป Lazarus ได้อาจจะปรับปรุง feature เพิ่มเติมบ้าง อาจจะเขียน implement ให้ส่งงานออกทาง OpenOffice ได้
Categories: Surveying, Windows ป้ายกำกับ:, , ,

การ Crop DEM ด้วย Global Mapper

  • เวลา download DEM ของ SRTM ขนาด 5 องศา x 5 องศา (ขนาด 1 องศาเท่ากับ 60 ลิปดา, 1 ลิปดาเท่ากับ 60 ฟิลิปดาและ 1 ฟิลิปดาประมาณ 30 เมตร) ดังนั้น 5 องศาประมาณ 5 x 60 x 60 x 30 ประมาณ 540,000 เมตร (540 กิโลเมตร) ดังนั้น 5 องศา x 5 องศา ประมาณเท่ากัน 540 กม. x 540 กม. อืม…. ขนาดก็ไม่เล็กนัก แต่ถ้าพื้นที่ใช้งานเล็กกว่า วิธีการที่ใช้ต้อง Crop DEM ให้มีขนาดที่พอเหมาะ แต่ DEM ของ SRTM นั้นขนาด 1 pixel ประมาณ 90 เมตร x 90 เมตร ไฟล์ขนาด 5 องศา x 5 องศา จึงไม่ใหญ่มากนัก
  • หรืออีกสถานการณ์หนึ่งถ้า DEM เช่นของประเทศไทยเรา เป็น DEM ของกรมแผนที่ทหารขนาด 1 pixel = 30 เมตร x 30 เมตร ซึ่งตามหลักการแล้วพื้นที่ขนาดเท่ากัน DEM ของ กรมแผนที่ฯ ควรจะมีขนาดมากกว่าของ SRTM ประมาณ 3 เท่า (ถ้าเป็นฟอร์แม็ตเดียวกัน) ไฟล์ที่ผมได้มาถูกแปลงเป็น GeoTiff เรียบร้อยมีขนาดประมาณ 3 GB

เปิดไฟล์ DEM ของประเทศไทยในรูปแบบ GeoTiff

DEM ของประเทศไทย

  • ใช้ Global Mapper เปิดไฟล์นี้ด้วยคลิกเมนเมนู File >Open Data File(s)… เลือกฟอร์แม็ตเป็น GeoTiff แล้วคลิกที่ไฟล์ ผมใช้เวลาเปิดไฟล์นี้ประมาณ 20 นาทีจะเห็นว่า Global Mapper ทำ render แต่ช่วงสีที่ผู้สร้าง DEM ทำมาให้สีบริเวณพื้นที่ที่มีค่าระดับอยู่ 2 ค่า คือใ้ห้เป็นค่าระดับ -32767 เมตร เป็นสีน้ำเงิน และพื้นที่ที่สีแดง ค่าระดับ 32767 เมตร ซึ่งเป็นค่าระดับที่ไม่จริงเพียงแต่ผู้สร้าง mark ไว้ให้พื้นที่ที่ไม่มีค่าระดับ ทำอย่างไรถึงจะ remove พื้นที่ตรงนี้ออกไปได้เลย เพื่อให้ไฟล์มีขนาดเล็กลง และกินเมโมรีน้อยลงเมื่อเปิดด้วยโปรแกรมใดๆ และพื้นทีดังกล่าวถ้าสามารถ remove ออกไปได้ขนาดประมาณ 50 % ทีเดียว
  • การ Remove บางส่วนของ DEM ใน Erdas Imagine มีอยู่ในโมดูล Create Surface เมื่อทำการอ่านไฟล์นี้เข้าไป โดยสามารถสร้างเงื่อนไขค่าระดับที่ invalid ได้ บังคับให้โปรแกรมอ่านเข้าไปเฉพาะค่าระดับประมาณ 0 – 3000 เมตร แต่โชคร้าย Erdas Imagine ก็ไม่รอด ผมเดาว่า Erdas Imagine คงใช้เมโมรีของระบบจนหมด (วิธีการที่คิดแต่ยังไม่ทำคือ แบ่งพื้นที่ออกเป็นส่วนๆ แล้ว crop เอาไปทีละส่วน แล้วนำเข้า Erdas Imainge แล้วลบจุด invalid range ทิ้งแล้วเซฟ สุดท้ายนำแต่ละส่วนหรือแต่ละไฟล์ มาอ่านด้วย Global Mapper ทำการรวม DEM อีกครั้งให้อยู่ในไฟล์เดียว ก็น่าจะลดขนาดไปได้เกินครึ่ง)
  • เมื่อการ Remove invalid ค่าระดับที่ไม่ต้องการ ไม่เป็นผล ก็ไม่เป็นไรเราจะ crop เฉพาะพื้นที่ที่จะนำไปใช้ ก็แล้วกัน

Crop DEM โดยกำหนด Area

  • การ Crop DEM ใน Global Mapper ทำได้โดยอาจจะลากเส้นพื้นที่ (Area) แล้วเอาพื้นที่นี้เป็นขอบเขตที่จะ crop DEM หรือถ้ามีพื้นที่ที่แน่นอนเช่นมีรูปแบบพื้นที่เป็นฟอร์แม็ต DWG, Shape file, DGN ก็สามารถเปิดเข้ามาได้ใน Global Mapper ผมมี shape file ของประเทศไทย แล้ว extract เอาออกมาเฉพาะพื้นที่ภาคอิสาณ ใช้ Global Mapper คลิกที่เมนเมนู File > Open Data File(s)…คลิกที่ไฟล์ shape จะเห็นดังรูปด้านล่าง เป็นสีดำหนาๆ ผมจะใช้เส้นนี้เป็นพื้นที่ในการ crop

พื้นที่ที่จะ crop DEM

  • ทำการเลือก พื้นที่ที่จะ crop ด้วยการ activate ทำดังรูปด้านล่าง ด้วยการใช้ tool “Feature info tool” (รูปตัว i และมีลูกศรเล็กๆ) มาคลิกที่ขอบเขตพื้นที่ จะเห็น dialog โผล่ขึ้นมา เราไม่ได้ใช้ให้คลิกปิด

Activate พื้นที่ที่จะ crop

  • และมาถึงตอนสำคัญคือการ save file ตรงพื้นที่ที่ต้องการ crop ใช้เมนูคลิกดังรูปด้านล่าง

เลือกรูปแบบไฟล์ DEM เพื่อจะ save

  • ผมเลือกเป็น GeoTiff ต่อไปจะตั้งเงื่อนไขในขั้นตอนต่อไปเมื่อ dialog ป๊อปอัพขึ้นมาดังรูปด้านล่าง ที่แท็ปของ GeoTiff Options เลือก Elevation (16 bit integer samples) ซึ่งในการเซฟเป็น DEM สามารถเลือกได้ 2 อย่างคือ Elevation (16 bit) และ Elevation (32 bit)  ขยายความอีกนิดว่า 16 bit หรือ 32 bit คือขนาดที่ใช้เก็บ DEM ต่อ 1 pixel ตอนนี้ผมเลือก 16 bit (2  byte) ใน 1 pixel หมายความว่า เราใช้หน่วยความจำหรือพื้นที่ในการจัดเก็บเท่ากับ 2 byte ต่อ 1 pixel ส่วนความเป็นไปได้ของความสูงของ DEM คิดจาก  2 ยกกำลัง 16 จะได้ 65536 เนื่องจากเป็น signed มีเครื่องหมายลบด้วยจึงต้องหารสองแบ่งกันไปข้างละครึ่ง จะได้ -32767 ….0….32768 (คุ้นๆไหมครับ เป็นตัวเลขของ DEM  ที่ตอนแรก mark ค่าระดับเป็น invalid อยู่ที่ -32767 สีน้ำเงิน และ 32768 สีแดง)
  • เลือกสร้าง world file ตรง Generate TFW (world file) เผื่อบางโปรแกรมที่ชอบ world file มากกว่า GeoTiff

ตั้งค่าให้ GeoTiff DEM

ตั้ง GeoTiff options
  • ที่ dialog เดียวกันให้คลิกไปที่แท็ป Export Bounds (สำคัญมาก) เลือก Crop to Selected Area Feature(s)

เลือกพื้นที่ที่ Activate ไว้

  • จากรูปด้านบนถ้าเราไม่เลือกพื้นที่เอาไว้ก่อน ตรง Crop to Selected Area Feature(s) ก็จะจางไม่ให้คลิก เมื่อคลิก OK โปรแกรมจะถามชื่อไฟล์ให้ save จัดการ save แล้วเราจะใช้ Global Mapper เปิดมาอ่านอีกครั้ง
  • ผมต้องตกใจต่อกระบวนการ crop DEM ช่วงเขียนเป็นไฟล์ใหม่ ใช้เวลาประมาณ 2 ชั่วโมง ถ้าใคร crop DEM ที่มีขนาดเท่านี้ไปทำอย่างอื่นต่อไม่ต้องรอครับ เมื่อเปิดมาจะเห็น DEM ที่มี valid range (ไม่มีตัวเลขค่าระดับ -32767 และ +32768) ดังรูปด้านล่าง สวยสดงดงามตามสไตล์ของ Global Mapper

แสดง DEM ภาคอิสาณของไทยที่ได้จากการ crop

  • Global Mapper ที่เป็นโปรแกรมในเชิงพาณิชย์รุ่นเดียวกันมีหลายโปรแกรม แต่ที่สัมผัสมา ผมว่า Global Mapper เร็วสุด ใช้ง่าย แต่การ crop DEM ทำไมถึงใช้เวลามาก ไฟล์ที่ได้จากการ crop ประมาณ 522 MB ผมว่าผู้พัฒนา Global Mapper คงรู้ปัญหานี้ดี ตอนนี้ในรุ่น 11 ได้ออกเวอร์ชั่น 64 bit มาแล้ว ถ้าใช้ windows  64 bit Global Mapper รุ่น 64 bit น่าจะแก้ไขเรื่อง memory ไม่พอ (หมายถึงเครื่องคอมพิวเตอร์ต้องมีเมโมรีมากพอเช่นสมมติ 32-64 GB และ OS ก็ต้อง support ด้วย) ที่เหลือเป็นเรื่องอัลกอริทึ่ม ที่จะต้องปรับปรุงใหม่ ยกตัวอย่างเรื่อง Lidar ที่จะมี point มหาศาลระดับ เป็น 100 ล้านจุด และอีกเรื่องคือ CPU ต้องเร็วพอ แต่ในปัจจุบันคิดว่าเร็วพอไหม ก็น่าจะยัง มีกลุ่มคนคิดนำเรื่องความเร็วของกราฟฟิคการ์ดมาช่วยสนับสนุนการคำนวณช่วย CPU สำหรับค่าย nVidia ชื่อก็คือ CUDA(Compute Unified Device Architecture)
  • ผมดูแล้ว โปรแกรมด้าน GIS อีกโปรแกรมหนึ่งคือ Manifold System V.8 ก็พยายามเหมือนกัน นำเอา CUDA มา implement เข้าไปแล้วแต่เสียดายผมไม่สามารถลองได้เพราะใช้ graphic card เป็น ATI อยู่ มีหลายโปรแกรมเช่นแม้แต่ Photoshop ก็มี plug-in ของ CUDA ให้ใช้
  • แล้ว Global Mapper สนับสนุน CUDA แล้วหรือยัง  เท่าที่ค้นใน google ตอนนี้ ไม่มีแม้แต่เงา
Categories: 3D, GIS, Linux, Windows ป้ายกำกับ:, , , ,
ติดตาม

Get every new post delivered to your Inbox.

Join 45 other followers