การสร้าง 3D Anaglyph ด้วย MicroDem

  • ตอนที่แล้วผม post การทำ animation (flyby) ด้วย 3Dem ซึ่งโปรแกรมได้หยุดพัฒนาไปแล้ว มาดู Tools ที่ฟรีตัวต่อไป ที่นำมาใช้งานด้าน GIS เป็นโปรแกรมรุ่นเก่าเหมือนกัน แต่ตัวนี้ยังพัฒนาต่อเนื่อง และ MicroDem นี้มี feature ที่แฝงอยู่เป็นจำนวนมาก แต่ข้อเสียของโปรแกรมนี้คือ ใช้งานยาก ถ้าไม่รู้ว่าอะไรอยู่ตรงไหน เวลาใช้งานครั้งแรกๆ จะหงุดหงิด พาลเลิกไปเลย คือมี icon ของฟังก์ชั่น เยอะไปหมด พอคลิกดูที่น่าใช่กลับไม่ใช่ คือวิจารณ์ข้อเสียของ software ส่องกระจกดูก็เป็นข้อเสียของผมสะท้อนกลับมาเหมือนกัน คือนิสัยเสียไม่ค่อยอยากอ่านคู่มือ ใช้วิธีแกะวิธีใช้จากการลองผิดลองถูก แต่ถ้าเป็น User Interface ที่เรียบง่ายคือออกแบบได้อย่างที่เรียกว่า User friendly อย่าง Global Mapper นี่แทบไม่เคยอ่านคู่มือเลย
  • อย่างที่ผมจะเขียนเรื่องการทำ 3D Anaglyph คือเป็นภาพสามมิติ ที่ต้องใช้แว่นตา แดง/น้ำเงิน (ที่ใช้ดูหนัง 3D บนทีวีหรือโรงหนังก็ได้) มาส่องดูถึงจะเห็นเป็นภาพสามมิติ ถ้าเอาไปขึ้นจอ projector ก็เป็น idea ที่ไม่เลว แต่ต้องเตรียมแว่นตา ไว้หลายๆอันหน่อย ถูกๆหน่อยก็ที่ทำด้วยกระดาษ ถ้าใครที่ใช้โปรแกรมด้าน GIS อยู่บ่อยๆ จะเข้าใจเลยว่าถ้าพูดถึงภาพ 3D Anaglyph ต้องมีอะไรบ้าง หนึ่งคือ tools ที่ใช้สร้างภาพ Anaglyph อย่างง่าย สองต้องมี DEM  สามที่ต้องไม่ลืมคือแว่นตา แดง/น้ำเงิน
  • เมื่อเปิด DEM แล้ว ทำการ Map shading ซึ่งมีให้เลือก 4-5 อย่าง ต่อจากนั้นสั่งให้โปรแกรม render เป็น 3D Anaglyph แล้วใส่แว่นตาดู โปรแกรมถ้าใช้งานง่าย concept ก็ควรจะเป็นอย่างที่ผมกล่าว ที่นี้มาดูว่า MicroDem ใช้งานยากที่ร่ำลือเป็นอย่างไรกัน
MicroDem01
การสวมภาพ Map Shading จาก MicroDem เข้า Google Earth โดยตรง(แค่คลิกเมาส์สองคลิก) ทำให้ 3D ของ MicroDem ไปโผล่ใน Google Earth ดูสวยแปลกตา

ความเป็นมาของ MicroDem

  • เป็นโปรแกรม Freeware ด้าน GIS ที่ดูประวัติแล้วเริ่มต้นจากทีมงานของหน่วยทหารช่างของอเมริกา คือ US Naval Academy ที่เริ่มต้นครั้งแรกปี 1985 พยายามครั้งแรกบนเครื่อง Apple II แต่มาประสบความสำเร็จบนเครื่อง PC. ปี 1987 หัวหน้าทีมพัฒนาโปรแกรมก็คือ ศาตราจารย์ Peter Guth ครั้งแรกถูกพัฒนาด้วย Turbo Pascal เวอร์ชั่นบน DOS ถูก port เป็น Borland Delphi ในปี 1995 และถูกพัฒนาด้วย Delphi ตลอดมา
  • MicroDem สนับสนุนฟอร์แม็ตได้หลายๆตัวที่สำคัญๆ เช่น GeoTiff, Shape file, SRTM DEM, MrSid
  • ที่ผมสนใจโปรแกรมตัวนี้เป็นพิเศษเพราะว่าพัฒนาด้วย Delphi ถือว่าเป็น compiler ต้นธารของผมเลย คือมีความผูกพันธ์กับ compiler ตัวนี้ถึงแม้ผู้สร้างคือ Borland จะล้มหายตายจากไปแล้วก็ตาม

เตรียม Resource ให้ MicroDem

  • ผมขอใช้ resource เดียวกันกับตอนที่แล้ว ที่ใช้ 3DEM มี DEM อยู่หนึ่งไฟล์ พื้นที่เป็นแหลมเมืองทวาย พม่า DEM ที่วัดได้จากกระบวนการภาพถ่ายทางอากาศ เพื่อสร้างแผนที่ 1:50000 ของพม่า มีความละเอียดมากกว่า SRTM DEM อยู่พอสมควร คือ resource ของพื้นที่บริเวณนี้ได้มาเป็นจุด DTM ในรูป DWG แล้วนำมา export เป็น 3D Points นำเข้า Global Mapper แล้วสร้างเป็น GeoTiff DEM มีขนาด pixel 15mx15m (ทึ่จริงขนาด 30mx30m ก็ได้)

ปรับแต่ง Configuration ของ MicroDem ก่อนใช้งาน

  • ผู้ใช้บางท่านอาจจะมีข้อมูลที่อ้างอิงกับ Indian 1975 datum อยู่แต่พารามิเตอร์ที่โปรแกรมตั้งมายังไม่ถูกต้อง กับพารามิเตอร์ของกรมแผนที่ทหาร ดังนั้นถ้านำข้อมูลที่อ้างอิงกับ Indian 1975 มาใช้งานจะไม่ถูกต้อง
  • ตอนติดตั้งโปรแกรม MicroDem จะเลือกติดตั้งที่ C:\MicroDem จะมีไฟล์กำหนดรูปทรงรี คือ  GT_Ellip.dat และไฟล์กำหนด datum คือ GT_datum.dat ไฟล์กำหนดรูปทรงรีไม่ต้องสนใจเพราะถูกต้องแล้ว แต่จะำทำการแก้ไข GT_datum.dat ให้ถูกต้องตามพารามิเตอร์ของกรมแผนที่ทหาร ผมใช้ Notepad++ หรือจะใช้  Notepad ที่ติดมากับ windows ก็ได้

microdem02

  • ทำการแก้ไขให้ถูกต้องดังรูปด้านล่าง แล้ว save
microdem03
แก้ใขค่าพารามิเตอร์ของการ Transformation ใหตรงกับของกรมแผนที่ทหาร
  • รันโปรแกรม MicroDem ที่เมนูหลักของ MicroDem คลิกที่ Options แล้วแท็ปไปที่ Datum ตั้งค่าที่ UTM zone ตั้งเป็น 47 ซึ่งเป็นพื้นที่ส่วนใหญ่ของไทย ถ้าใช้งานอยู่แถว Zone 48 ก็ตั้งค่าเป็น 48 Hemisphere เลือกเป็น North เพราะไทยเราอยู่เหนือเส้นศูนย์สูตร Primary Datum เลือกเป็น WGS84 ส่วน Secondary Datum ผมเลือกเป็น INDIAN 1975, Thailand (ที่เราเพิ่งแก้ค่าพารามิเตอร์ไป) ก็เลือกตามรูปด้านล่าง แต่อย่าลืมติ๊กเครื่องหมาย Verify datums เวลาเปิดรูป เปิด DEM โปรแกรม MicroDem จะถามเพื่อ confirm
microdem04
ตั้งค่า configuration ที่ datum

นำเข้า DEM

  • ที่เมนูหลักของ MicroDem คลิกที่ File > Open > Open DEM เลือกไฟล์ DEM ที่เราเตรีียมไว้ จากนั้นโปรแกรมจะถาม Datum ตั้งค่าให้ตรงกับ DEM ของเราดังรูปด้านล่าง

microdem05

  • จะเห็น DEM แสดงผลในลักษณะ Map Shaded ซึ่งภายหลังเราสามารถปรับได้หลายอย่าง (มากกว่าโปรแกรม 3DEM)

microdem06

  • ที่กรอบการแสดงผลของ DEM สังเกต icon ที่เป็นรูปสี่เหลี่ยมมีลูกศรชี้เข้าหา (icon ที่ 5 จากซ้ายมือ คลิกเพื่อขยายรูป) เลือกพื้นที่ที่ต้องการขยาย
  • microdem08ต่อไปเราจะตั้ง Map shading options ซึ่ง MicroDem เตรียมรูปแบบมาให้แตกต่างกัน 3-4 อย่าง ที่รูป DEM คลิกขวาเพื่อเลือก options แล้วคลิกที่ Map Shading Options ดังรูปด้านล่าง

microdem09

การทำ Map Shading

  • จะเห็นเงื่อนไขหรือทางเลือก DEM color merge อยู่ 4 อย่างคือ Elevation, Slope, Reflectance, Terrain Shading
    • ถ้าเลือก Elevation การไล่เฉดสีจะเป็นไปตามค่าระดับของพื้นที่
    • ถ้าเลือก Slope การไล่เฉดสีเป็นไปตามความชัันของพื้นที่ เช่นความชันน้อยๆเป็นสีอ่อน ถ้าชันมากก็เป็นสีเข้ม ซึ่งผู้ใช้สามารถเลือกตั้งค่าได้
    • ถ้าเลือก Reflectance ผมคิดว่าดูดีที่สุดเป็นธรรมชาติคือสามารถตั้งแสงเงาและทิศทางได้ด้วย
    • ถ้าเลือก Terrain Shadings คล้ายกับ Reflectance มาก แต่เหมือนจะใส่การ blending เข้าไปมากจะทำให้ภาพดูมืดมากกว่า แต่ความคมชัดมากกว่า Reflectance
  • ลองเลือกดูตามใจชอบ ส่วนผมชอบ Refectance มากที่สุด
microdem10
ตั้งค่าสำหรับ DEM Color merge ลองเลือก Elevation
microdem11
เมื่อเลือก DEM Color Merge เป็น Elevation
  • ดูที่กรอบหน้าต่างแสดงผล DEM สามารถ pan ได้ด้วยการคลิกที่เครื่องหมายลูกศร UI ยังโบราณมาก ความจริงถ้าให้คลิกเมาส์ปุ่มกลางกดค้างแล้วลากจะสะดวกมากกว่า ลองเลือกเป็น reflectance ดู
microdem12
เลือก DEM Color merge เป็น Reflectance

การส่งภาพไปแสดงผลที่ Google Earth

  • นี่เป็น feature ที่เด็ดที่สุดของ MicroDem สามารถยิงไปออกที่ Google Earth ได้เลย ในแง่โปรแกรมมิ่ง เทคนิคนี้เป็นไม่ใช่เทคนิคใหม่ เรียกอะไรจำไม่ได้แล้ว คือ Google Earth ต้องให้ Type Library มา ถึงจะเขียนโปรแกรมติดต่อได้ ที่ผมใช้อยู่ประจำคือ Autocad และ Microsoft Excel สามารถเขียนแบบด้วยโค๊ดแล้วส่งเข้าไปแสดงผลใน Autocad หรือ Excel ได้เลย ถึงจะเป็นเทคนิคเก่าแต่สะดวกมาก (แต่ที่โปรแกรมเมอร์ไม่ค่อยอยากเขียนเท่าไหร่เพราะคุมไม่ได้เช่น Type library สำหรับ Google Earth version 5 แต่พอถึง version  7 อาจจะเปลี่ยนการ interface ใหม่ ทำหให้โปรแกรมที่เขียนติดต่อกับ Google Earth ที่ยังอิงกับ Type library version เก่าก็ใช้ไม่ได้) ไม่ต้องหาโปรแกรมมาแปลงเป็น KML/KMZ คลิกเมาส์แล้วส่งออกไปเลย มาดูกันครับ ที่ภาพของ DEM คลิกขวาเลือก Load > Google Earth overlay

microdem13

  • ลองดูผลลัพธ์ ภาพที่ overlay เข้าโดยมีฟอร์แม็ต PNG ที่สามารถทำ transparency กับ ภาพของ Google Earth ลองดูรูปด้านล่าง
microdem14
ภาพที่ส่งเข้ามาจาก MicroDem
  • ดูภาพด้านบน สวยงามมาก ที่จริงเป็นภาพอะไรก็ได้ที่อ้างอิงกับ Georeference ที่สามารถอ่านด้วย MicroDem ก็สามารถส่งเข้ายัง Google Earth ได้เสมอ

3D Anaglyph

  • สุดท้ายที่เราตั้งเป้าไว้คือการแสดงผลแบบ 3D Anaglyph ที่หน้าต่างแสดง DEM คลิกขวาเลือก 3D Map  Options ตั้งค่า ที่ stereo mode ตั้งเป็น Anaglyph คลิกที่ OK เพื่อ Render ใหม่
microdem15
ตึ้งค่า 3D Anaglyph
  • เตรียมแว่นตา 3D ดูได้เลย
microdem16
ภาพ 3D Anaglyph

ข้อดีและข้อด้อยของ MicroDem

  • ในขณะใช้ MicroDem ทำ render ภาพ 3D ถ้าเกิดภาพหายไปดื้อๆ ไม่ต้องตกใจ เป็นเรื่องปกติ ปิดหน้าต่างแล้วเปิด DEM มาใหม่ มี  bug  บางส่วนไม่ได้รับการแก้ไขอยู่อีกหลายจุด
  • การ pan การ zoom ไม่เคยปรับปรุงมานานแล้ว ใช้งานยาก การเพิ่มโค๊ดเพื่อการ pan และ zoom แบบ real time ก็ไม่ใช่เรื่องหนักหนาสาหัสอะไรในทางโปรแกรมมิ่ง
  • ส่วนที่น่าสนใจมากของโปรแกรมนี้คือสนับสนุนเรื่อง Geology ซึ่งผู้พัฒนาโปรแกรมแต่ละคนก็ขนาดศาสตราจารย์ทั้งนั้น และทำงานให้แผนก Geology โปรแกรมจึง support ด้านนี้ สามารถนำภาพที่ได้จากการสำรวจ side scan sonar, sub-bottom profiler (เป็นงานสำรวจที่ทีมงานผมทำอยู่เหมือนกัน) เข้าไปซ้อนเป็นชั้นข้อมูลกับ DEM ได้ หรือสามารถนำข้อมูลชั้นดินมารวมกับชั้นข้อมูลอื่นๆ ได้ ฟีเจอร์หลายๆอย่างน่าสนใจ ถ้าถามว่าทำไมโปรแกรมใช้งานยาก หนึ่งคือไม่ใช่โปรแกรมเพื่อการค้า สองดูที่ผู้พัฒนาโปรแกรมระดับศาสตราจารย์ทั้งนั้น (เหตุผลข้อหลังไม่ขยายความต่อนะครับ) ถึงแม้จะใช้งานยาก แต่ก็ไม่เกินความพยายามของเรา เพราะเป็นของฟรี และความสามารถของโปรแกรมก็มีอะไรดีที่คาดไม่ถึงอยู่อีกมากครับ
  • ความคิดของผมเมื่อโปรแกรมมาถึงในจุดที่ทำต่อไปไม่ไหวก็เปิดเป็น opensource มี library หลายตัวของ MicroDem ที่น่าสนใจสามารถนำมาทำเป็น GIS Component ได้สบายๆ

Leave a Reply

Your email address will not be published.