การสร้างภาพจำลอง 3 มิติ จาก UAV ด้วย Opensource WebGL “Potree”

สวัสดีครับ หลังจากห่างหายในการเขียนบทความลง Blog ไปพอสมควร

วันนี้ผมจะมาเล่าวิธีการสร้างภาพจำลอง 3 มิติ จาก UAV ด้วย Opensource WebGL แล้วนำมาเผยแพร่ทางอินเตอร์เน็ตกันนะครับ

 

เนื่องด้วยผมได้ไปออกภาคสนามโครงการนึงซึ่งต้องใช้ UAV บินสำรวจ

แล้วต้องนำข้อมูลที่ได้มาจัดเป็นผลิตภัณฑ์ ทั้งข้อมูลภาพ ข้อมูลความสูงภูมิประเทศ ข้อมูล 3 มิติ ข้อมูลอื่นๆ ที่สามารถนำมาใช้ได้

ก่อนหน้านี้ผมเคยพอจะรู้เกี่ยวกับการสร้างแบบจำลอง 3 มิติ จาก Photogrammetry ด้วยภาพจากการถ่ายหลายๆ มุมมาบ้าง

แต่ยังไม่มีโอกาสได้ลองทำ ครั้งนี้เมื่อข้อมูลพร้อม เลยได้โอกาสลงมือทำ

 

เล่าให้ฟังสำหรับคนที่รู้จัก UAV มาบ้างเล็กน้อย ส่วนผู้ชำนาญการก็ข้ามไป เวลาที่เราใช้ UAV ถ่ายภาพเพื่อนำมาทำเป็นแผนที่

เราต้องมีถ่ายให้ภาพมีบริเวณซ้อนทับซึ่งก็ขึ้นอยู่กับรายละเอียดงานต้องการซ้อนทับกันกี่ % ซึ่งถ้าซ้อนทับกันน้อยไปเวลานำมาภาพมาต่อกันเป็นผืนใหญ่ก็ยาก

เพราะ Software จะไม่สามารถ Matching จุดระหว่างภาพได้ แต่ถ้าซ้อนทับกันมาก อาจจะต้องเปลืองเวลาและงบประมาณในการบินถ่าย

เมื่อไปบินถ่ายและได้ภาพมาแล้ว ก็นำมาภาพมาเข้าสู่ Software เพื่อจะต่อภาพให้กลายเป็นผืนใหญ่ ซึ่ง Software ที่หน่วยงานใช้งานคือ PIX4D

 

ความสามารถของ PIX4D คือการสร้าง Point Cloud จากภาพหลายๆ มุมมองได้ ด้วยหลักการทาง Photogrammetry เราก็ได้ file ออกมา file นึง ที่เป็นนามสกุล .las

ที่นี้ผมก็มานั่งหาข้อมูลว่า ถ้าผมต้องการเอาข้อมูล Point Cloud นี้มาแสดงผลทางเว๊บไซต์ต้องทำอย่างไร

หาข้อมูลจนมาเจอ คนทำ Opensource เพื่อแปลงข้อมูล Point Cloud เพื่อให้แสดงผลทางเว๊บ ได้ ชื่อ Potree ลองเอาไป search ใน google ได้วิธีการไม่ยาก

ซึ่งผมทำออกมาแล้วก็ค่อนข้างน่าพอใจ สำหรับครั้งแรก ลองดูได้ที่ Web นี้  https://terminal.gistda.or.th/vap-3d/hubkapong.html

จากข้อมูลที่ทำจะเห็นว่ามีบริเวณที่ไม่มีข้อมูล นั้นคือมีสาเหตุมาจากภาพส่วนที่ซ้อนกันไม่สามารถ Matching จุดกันได้

ซึ่งอาจจะมาจากถ่ายคนคนละมุม โดนบังด้วยความสูงของวัตถุ หรือ ภาพมีความเหมือนกัน เช่นบริเวณพื้นน้ำ

วิธีการคืออาจจะต้องบินซ่อมในส่วนที่ไม่มีข้อมูลหรือใช้วิธีการอื่นในการได้มาซึ่งข้อมูล

ลองเอาไปทดลองทำดูครับ หากมีข้อมูลสงสัยตรงไหนก็สอบถามมาได้

 

 

 

 

 

 

 

 

 

 

คำสั่ง Project ใน ArcGIS

เคยสงสัยกันบ้างรึเปล่าครับ เวลาที่เราต้องการแปลงค่าพิกัดจากพื้นหลักฐาน Indian 1975 เป็น พื้นหลักฐาน WGS84 ด้วยคำสั่ง Project ใน ArcGIS แล้วตรง Geographic Transformation (optional) ให้เราเลือก

Indian_1975_To_WGS_1984

Indian_1975_To_WGS_1984_2

Indian_1975_To_WGS_1984_3

Indian_1975_To_WGS_1984_4

2017-02-15_14-54-23

สูตรพวกนี้มันคืออะไร ด้วยความที่สงสัยก็เลยไปค้นข้อมูล เลยนำมาแบ่งปันกัน

เริ่มตั้งแต่พื้นที่ทีใช้คำนวณเลย ถ้าดูจาก Paper

2017-02-15_15-17-55

2017-02-15_15-17-26

สูตร 1,2 ใช้คำนวณบนพื้นดิน รวมถึงในอ่าวไทยด้วย

พอมาเป็นสูตร 3 จะเปลี่ยนมาเป็นใช้คำนวณพื้นที่แท่นผลิตก๊าซธรรมชาติโครงการบงกช ซึ่งตั้งอยู่ในอ่าวไทย

และพอเป็นสูตรที่ 4 พื้นที่ที่ใช้คำนวณก็เปลี่ยนเป็นเหลือแค่บนพื้นดินเท่านั้น

ฉะนั้นถ้าต้องการแปลงพิกัดแถวแท่นบงกชก็เลือกสูตร 3 นะครับ

2017-02-15_16-05-11

 

นอกจากนี้ยังมีความแตกต่าง เรื่องค่า Accuracy ด้วยซึ่งผมไม่แน่ใจว่าอ้างอิงกับอะไร ซึ่งเดาว่าน่าจะอ้างอิงกับกรอบของ ITRF

 

พอจบจากเรื่องพื้นที่ที่ใช้คำนวณแล้ว ก็มาเรื่องจุดศูนย์กลางของโลกหรือ Geocentric ซึ่งในทรงกลมของโลกที่เราใช้ WGS84

มองจุดศูนย์กลางของโลก ที่จุด 0,0,0   x,y,z ตามรูปนะครับ ไม่ใช่ x,y,z จากตำแหน่งที่เรายืน

 

wgs_84_reference_frame_vector_graphic-svg

 

ซึ่งแต่ละสูตรก็จะมีการ shift จากจุด 0,0,0 ไม่เท่ากันดังรูป

2017-02-15_15-48-38

2017-02-15_16-00-18

โดยในสูตร 1, 2,3 จะใช้วิธีการที่เรียกว่า three-parameters method คือย้ายแค่ตำแหน่งศูนย์กลางของโลกไปตามตัวเลขในตาราง คือเปลี่ยนแค่ X,Y,Z

แต่พอมาเป็นสูตร 4 จะเป็นสูตรที่มีความซับซ้อนมากขึ้น คือใช้ parameters เพิ่มขึ้นเป็น 7 คือ การเปลี่ยนตำแหน่ง X,Y,Z การหมุนรอบแกน X,Y,Z และ scale factor

2017-02-15_16-23-07

2017-02-15_16-23-59

wgs_84_reference_frame_vector_graphic-svg

ในเบื้องต้นก็ขอแนะนำไปเท่านี้ก่อน สำหรับเรื่องความแตกต่างของ Geographic Transformation แต่ละสูตร

อีกอย่าง ถ้าใครใช้สำหรับแปลงเพื่องานของกรมที่ดินของบ้านเรา หรือกรมแผนที่ทหาร ค่า Shift จะแตกต่างจากสูตรนะครับ DX , DY, DZ ไม่เท่ากัน

ซึ่งก็คือ DX = 204.5 DY= 837.9 DZ = 294.8 ซึ่งไม่แน่ใจนะครับว่าค่า  parameter เหล่านี้ กรมแผนที่ทหารได้ปรับแก้ใหม่แล้วรึยัง

ต้องหา Web หรือ Software ที่เขียนขึ้นมาเฉพาะในการแปลงนะครับ

หมายเหตุ: แก้ไขความผิดพลาด ที่จริงแล้วใน Software ArcGIS สามารถกำหนด ค่าพารามิเตอร์ได้เองนะครับที่ เมนู Create Custom Geographic Transformation แล้วตั้งชื่อใหม่ ใส่ค่า Input Output และค่า Custom Geographic Transformation ที่ต้องการ โดยเลือก Method เป็น Geocentric Translation แล้วจึงใช้ค่าที่ใส่ใหม่ในการแปลง

 

แนะนำ App IOS – Coordinates

วันนี้มี app มานำเสนอ ถ้าใครเป็นนักภูมิศาสตร์ที่ต้องยุ่งวุ่นวายเกี่ยวกับค่าพิกัด บางครั้งมีค่าพิกัดภูมิศาสตร์ ต้องแปลงค่าเป็น UTM

หรือค่าพิกัดภูมิศาสตร์เป็นแบบ องศา ลิปดา ฟิลิบดา ต้องการแปลง เป็น Decimal degree หรือบางทีอาจจะได้รับค่าพิกัดทางทหาร MGRS มา รับรองว่าปวดหัวแน่นอน

ในการแปลงกลับไปกลับมา แต่ผมไปเจอ app นึงใน IOS ซึ่งผมคิดว่ามันสะดวกมากๆ เลย app นั้นชื่อ Coordinates

IMG_0776 IMG_0778IMG_0777 IMG_0779 IMG_0780

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

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

 

 

แนะนำ software ArcBruTile สำหรับ add map server layer

ใช้สำหรับ add map layer จากค่ายต่างๆ ปัจจุบัน version 0.4 รองรับ Arcmap 10.1 ถ้าใช้กับ 10.2 จะใช้ได้เฉพาะ OpenStreetMap

downlaod ได้ที่ http://arcbrutile.codeplex.com/

arcbrutile

 

แนะนำ software สำหรับทำแบบจำลองน้ำบาดาล MODFLOW

ห่างหายจากการอัพเดต Blog มาพอประมาณ วันนี้จะมาแนะนำ Software ที่ใช้สำหรับการทำแบบจำลองน้ำบาดาลชื่อว่า MODFLOW เป็นของหน่วยงาน USGS ซึ่งตอนนี้พัฒนาเป็น Version MODFLOW-2005 แล้ว

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

แบบจำลองนี้สามารถใช้จำลองในเรื่องปริมาณน้ำที่ไหลไปเพิ่มเติม การระเหยน้ำ การไหลเข้าสู่บ่อบาดาล การไหลเข้าสู่ทางน้ำ และอื่นๆอีก โดยเป็นชุดของโปรแกรม สามารถเลือกใช้แยกได้อิสระ

ตัวโปรแกรมสามารถไปโหลด ได้ที่ http://water.usgs.gov/software/lists/groundwater

ใครใช้งานได้ผลเป็นยังไงนำมาบอกต่อด้วยนะ แล้วคราวหน้าจะหา Software เด็ดๆ มาแนะนำอีก

ERDAS-set up error

วันนี้พี่ที่ทำงานให้ช่วย install erdas ให้ software เดี๋ยวนี้ install กันสบายง่ายนิดเดียวกด next ไปเรื่อยๆจบ แทบไม่ต้องทำอะไรเลย ด้วยความเคยชิน ไม่ทำอะไรแล้วกด double-click Setup.exe ก่อนเลย แล้ว กด Next ตาม โผล่หน้าต่าง License Agreement เลือก I accept อะฮ่าตรงตาม step เดิมเป๊ะ กด next ในใจนั่งนึกกล้วยๆ ลงมาบ่อย กด next ต่อเรื่อยๆ config นิดหน่อย เดี๋ยวก็จบ สักพักโผล่หน้าต่าง error ขึ้นมา หน้าต่างอะไรอะไม่เคยพบเคยเห็น หน้าตามันเป็นอย่างนี้
error
ที่นี้ในใจก็คิด ซวยละ error ขึ้นมาแบบนี้ เสียเวลาอีกแล้ว แถมมันยังบอกให้ ติดต่อ Technical Support  โอ้จะหาที่ไหนละครับ ธรรมดา Technical Support Google ตลอด ดังนั้น เอาคำ error ที่มันขึ้นมานี่แหละไปค้น เลือกคำที่แปลกๆหน่อย นั่นไง 8dot3 แปลกดี File system support มันโดน disabled อยู่ search ออกมา ไล่อ่านดู อ้อมันเกี่ยวกับการตั้งชื่อ file name แบบสั้นหรือยาว จึงต้องทำให้มัน enabled ซะ ที่นี้ทำไงละ ก็ไปเจอหนทางแก้ปัญหาที่นี่http://support.microsoft.com/kb/210638 บอกว่า
1.ไปที่ start menu เลือก run พิมพ์ regedit
2.เปิดหา registry ตัวนี้ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
3.ที่ key NtfsDisable8dot3NameCreation ให้ click ขวา เลิอก modify เปลี่ยนค่า จาก 1 เป็น 0 แล้ว ok ปิด regedit
4.restart เครื่องใหม่
แล้วย้อนกลับมาลอง install erdas อีกรอบ  กด double-click Setup.exe อีกครั้ง ที่นี้ละแจ๋ว ผ่านตลอด ถึงบางอ้อเลยที่นี้  อืมได้เวลากลับบ้านพอดี กลับบ้านดีกว่า….