WebGL 1.0

ถ้าพูดถึงเทคโนโลยี 3D ปัจจุบันดูจะเป็นเรื่องที่ไม่ยากและกำลังเป็นที่นิยม รวมถึงกำลังพัฒนาไปอย่างต่อเนื่อง เรื่อยๆทั้งในด้านของ software และ hardware งานด้าน Geoinfomatic ก็ต้องเกี่ยวข้องกับข้อมูล 3D (X,Y,Z) แนวโน้มการวิจัยพัฒนาระบบ Internet GIS ในอนาคตก็มีการนำเอาเรื่อง online 3D GIS มาพูดถึง และนำมาใช้งานกันอยู่บ้าง แต่ยังมีข้อจำกัดอยู่ค่อนข้างมาก ทั้งตัวขนาดข้อมูล และทรัพยากรในการแสดงผลข้อมูลแบบออนไลน์

วันนี้ผมมีเรื่องของ WebGL ที่ออกมาตรฐานรุ่นแรก 1.0 แบบเป็นทางการออกมา โดยเป็นแนวโน้มที่ดีการพัฒนาระบบ 3D แบบ online ข้อดีคือเป็นมาตรฐานที่สามารถทำงานแบบ interoperability บนเว็บบราว์เซอร์ได้ทุกรุ่นที่เข้าร่วม โดยไม่ต้องอาศัย plug-in เสริมเฉพาะ ที่สำคัญทำงานแสดงผล 3 มิติบนเว็บเบราว์เซอร์ผ่านจาวาสคริปต์ ใช้ภาษา javascript ในการควบคุมการแสดงผล โดย WebGL มีรากฐานมาจาก OpenGL ที่โด่งดังนั้นเอง ปัจจุบัน มีเว็บบราว์เซอร์ชั้นนำมากมายที่เข้าร่วม และยอมรับ Firefox, Chrome, Safari และ Opera ขาด IE ผมว่าอนาคต WebGL จะเป็นอีกหนึ่งทางเลือกของการ พัฒนาระบบ Online 3D GIS ลองดูตัวอย่างการทำงานได้ที่

http://www.khronos.org/webgl/wiki/Demo_Repository

อ่านเพิ่มเติม

OpenDEM

ขอนำโปรเจคหนึ่งที่น่าสนใจมาแนะนำ เพื่อบ้านเราจะมีคนสนใจ ร่วม contribute หรือร่วมแชร์ข้อมูลกันบ้างเพราะข้อมูลสภาพภูมิประเทศ ส่วนมากที่มีใช้งานกันในบ้านเรายังมีไม่มาก การนำข้อมูลระดับกลาง เช่น SRTM หรือ GDEM ถึงแม้จะมีขนาดกริดที่ใหญ่ แต่ก็สามารถนำมาใช้ประเมิน หรือวิเคราะห์ สภาพภูมิประเทศระดับเมือง ระดับจังหวัดหรือระดับภาคได้

โปรเจคที่ผมพูดถึงนี้คือ OpenDEM เป็นโครงการเผยแพร่ข้อมูลสภาพภูมิประเทศ ในรูปแบบ digital file ที่ทำงานแบบ Internet Service โดยโปรเจคนี้คล้ายกับ Open street Map ที่แบ่งปันและเผยแพร่ข้อมูลถนนและข้อมูลสถานที่ ทั่วโลก แต่ OpenDEM เน้นไปที่ DEM เป็นหลัก ผู้ใช้ทั่วไปสามารถ เข้าถึง DEM ในส่วนต่างๆที่มีการเผยแพร่ผ่านระบบได้ ขณะที่หน่วยงาน หรือบุคคลที่มีข้อมูล DEM ต้องการจะแจกจ่าย แบ่งปัน ก็สามารถ Upload ข้อมูล DEM เข้าสู่ระบบได้

ข้อมูลสภาพภูมิประเทศที่เผยแพร่มีทั้งข้อมูลกลุ่ม  DEM และ DSM รวมถึง Spot height โดยปัจจุบัน มีเฉพาะข้อมูลของประเทศเยอรมัน แต่ในอนาคตคาดว่า คงจะรวมข้อมูลประเทศอื่นๆจาก SRTM ,GTOPO หรือGLOBE และชุดของ OSM Land เข้ามาด้วย และน่าจะมีข้อมูล Bathymetry  และอื่นๆที่มีเปิดให้ download ได้ฟรี เข้ามาร่วมด้วย

ลองเข้าไปศึกษาเบื้องต้นได้ที่ http://www.opendem.info/

Campus Map

_____ใครว่าน้ำท่วมดีกว่าฝนแล้ง ที่บ้านผมน้ำท่วมทุกปีลำบากมากมาย สองวันนี้ฝนตกหนัก ทำเอาน้ำท่วมบ้านกันไป น้ำท่วมก็ใช่ว่าจะมีแต่ข้อเสียนะครับ ข้อดีก็มีคืนเย็นตอนกลางคืนลมโกรกๆ หลับสบายดีเชียว แต่ที่น่าเสียดายคือต้นหมากรากไม้ที่กำลังงอกงาม เจอน้ำท่วมเข้าไปไม่เน่าตายก็ เฉาจนไม่รู้ว่าจะอีกนานเท่าใดจึงจะฟื้น
_____วันนี้มีเรื่องเกี่ยวกับ Campus Map มาฝาก ผมไปเจอ campus map ที่ showcase บน Gearth blog น่าสนใจไม่น้อย เพราะตัวอย่างระบบ interactive map ของ Streatham Campus ใช้เทคโนโลยี Geoweb แบบใหม่ๆและทำออกมาได้น่าสนใจและมีประโยชน์ต่อผู้ใช้มากทีเดียวครับ ต่างจากระบบแบบเดิมที่ทำเป็น diagram บนรูปแบบบิตแมป เอาไว้ให้ผู้ใช้ดู แต่ใช้จริงก็ค่อนข้างยาก บางแห่งมีตึกมากมาย แต่พื้นที่แผนที่เล็กนิดเดียว การใส่คำอธิบายก็ไม่ครบ และมันไม่สามารถค้นหาได้อีกด้วย ลองดูตัวอย่างของ Streatham Campus เป็นไอเดียนำไปใช้นะครับ โดยระบบ interactive map นี้ประกอบด้วยส่วมต่างดังนี้
1. web mapping
_____เป็น application พื้นฐานที่ทำงานบนหน้า web page ผู้ใช้สามารถค้นหา อาคาร เส้นทางเดินรถภายใน ที่จอกรถ และ อื่นๆ ส่วนของแผนที่ใช้ระบบแผนที่ฐานจาก Google Map API ผสานกับข้อมูล อาคารในรูปแบบ marker ที่มีการ embed ข้อมูลภาพเคลื่อนไหว, ภาพนิ่ง

GeoSpatial 3D III :Photosynth

_______เดินทางมาถึงตอนที่สามของเรื่อง GeoSpatial 3D ตอนนี้เป็นตอนที่แถมเพราะว่ามีพี่คนหนึ่งแนะนำว่าถ้าพูดถึงโปรแกรม Image Processing ในยุคนี้ก็ควรที่จะพูดถึง Photosynth ของค่าย Microsoft ด้วย เพราะความสามารถและการทำงานไม่น้อยหน้าตัวอื่นๆ ที่สำคัญมีการ ผนวกเรื่องของ ตำแหน่ง (location)  เข้าไปด้วย ที่สำคัญมีเครื่องมือการแสดงผลแบบ 3D ร่วมกับการวางตัวของมุมกล้องที่สัมพันธ์กับระนาบของแกนโลกอีกด้วย โดยเป็นการสร้าง 3D ด้วย Ortho Image จากภาพประเภท Sequence Image มี paper หนึ่งเคยเขียนเรื่องนี้ไว้ละเอียด แต่ผมจำ url ไม่ได้แล้วว่า Download มาจากไหน แต่พวกนี้คือหลักการพื้นฐานของบทความทั้งสามชุดที่กล่าวมา บางคนเรียกว่าเป็น Neo Photogrametry ตามธรรมเนียมคือทฤษฏีไม่ขอแตะแต่มีข้อสังเกตคือเรื่องของ Camera View และ Camera Geometry เป็นเรื่องสำคัญมากที่สุด ท่านที่จะนำไปประยุกต์ใช้งานต้องตระหนักในเรื่องนี้ เพื่อผลลัพธ์ที่ดีที่สุด

________ Photosynth มีหลักการทำงานใหญ่ๆคือเรื่องของการใช้ Geotagging การถ่ายภาพด้วยกล้องดิจิตอลที่มีการบันทึกค่าคุณสมบัติของ Camera View และ Camera Geometry ไว้ อาจจะรวมถึง Location จาก GPS ในกรณีที่กล้องรองรับการบันทึกค่าพิกัดลงบน Exif , ส่วนถัดไปเป็นเรื่องของ Image Matching ดังนั้นผู้ใช้จำเป็นต้องเตรียมภาพคู่ซ้อนที่ดีและ clear มีจุดร่วมบนภาพที่เพียงพอ เพียงเท่านี้เราก็จะสามารถใช้ Photosynth ได้แล้วครับ โดยมีขั้นตอนดังนี้ครับ

1. ติดตั้งโปรแกรม Photosynth โดยไปดาวน์โหลดและลงทะเบียนได้ที่

http://photosynth.net/install.aspx

2. ถ่ายภาพวัตถุ หรือพื้นที่ที่ต้องการนำมาประมวลผล โดยตัวอย่างผมใช้ภาพถ่ายมุมกว้างแบบ panorama ร่วมกับการถ่ายเฉพาะจุด ขั้นตอนการถ่ายก็ไม่ยาก ถ่ายภาพไปเรื่อยๆ หมุนซ้าย-ขวา ซูมเข้า-ออก ตามต้องการ ที่สำคัญต้องมีวัตถุที่เป็นจุดร่วม เพื่อสร้างระนาบความสัมพันธ์ของภาพแต่ละภาพที่ถ่าย

3. Upload ข้อมูลภาพทั้งหมดไปยัง Photosynth เพื่อประมวลผลและแสดงข้อมูล

กรณีที่ต้องการใช้ Geotag หรือภาพมีการ embed ค่าพิกัดโลกจาก GPS ก็เลือก Geotag enable

4. รอประมวลผลและ upload ข้อมูลขึ้นบน Server เสร็จแล้วก็กด View เพื่อดูผลลัพธ์

5. เลือก Play เพื่อดูภาพเราในมุมมองต่างๆแบบ 3D View

6.  เลือกดูภาพในมุมมองต่างๆได้จาก Menu

7. เลือกดูแบบ Point Cloud เพื่อดูความหนาแน่นของ Common Point ที่ใช้โยงยึดภาพจากการทำ Image Matching กรณึถ่ายภาพวัตถุ ถ้าอยากได้ข้อมูลที่ละเอียดความถ่ายภาพให้มากและมีจุดร่วมที่มากๆ จะได้ Cloud Point ที่สมบูรณ์และละเอียดมากขึ้น โดยจริงๆแล้วเราสามารถนำข้อมูลจุดพวกนี้ไปทำการวัด หรือสร้างโครงข่ายสามเหลี่ยมเพื่อดูรูปทรงได้ครับ แต่ในตัวอย่างภาพถ่าย View ด้วยที่ความละเอียดไม่มากทำให้จุดไม่หนาแน่น

จุดดำๆเล็กๆคือ Point Cloud จำนวนมากที่สร้างจาก Image Processing

8. เลือกดูภาพแบบ 2D ที่ทำการถ่ายและโหลดเข้ามา

9. เรียกดูตำแหน่งของแต่ละภาพได้จาก Geotag

10. กรณีที่ไม่มีข้อมูล location จาก GPS ติดมาบนภาพ เราสามารถ add เองได้จาก Tools และสามารถกำหนด Orientation ของจุดเปิดถ่ายภาพได้อีกด้วยครับ

12. ดูจนพอใจและก็สามารถ Save และ Publish เพื่อส่งให้ผู้อื่นดู้ได้ โดยผลลัพธ์ก็สามารถ share ผ่าน Facebook หรือจะนำ Object มา embed ใน Web Application เพื่อเขียนโปรแกรมนำเสนอข้อมูลต่อไปก็ได้ครับ

______ เห็นไหมครับว่าไม่ยากเลย คราวหน้าไปออกสนามซื้อกล้องที่มี Geotag ถ่ายภาพและนำมาประมวลผลด้วย Photosynth แล้วนำเสนอเจ้านาย รับรองว่าต้องประทับใจแน่นอน ส่วนท่านที่สนใจเรื่องการวัด ก็สามารถเขียนโปรแกรมด้วย C# ติดต่อ Photosynth Silver ligth ได้ผ่านทาง API จะสร้าง app เพื่อ control camera View และตำแหน่งบน Google Map ก็ทำได้ไม่ยากหรือจะ advance ขนาดนำ Point Cloud ไปประมวลผลต่อบน Autocade ก็ทำได้ครับ เพราะระบบพวกนี้เปิดทางไว้ให้ ผมมี link ตัวอย่างวิธีการทำมาให้ศึกษาด้วยด้านล่าง ยังไงก็ขอนำเสนอให้เห็นเป็น IDEA ว่าจริงๆแล้วยังมีเทคโนโลยีและมีโปรแกรมแบบบริการที่ทำให้เราสามารถนำมาใช้และพัฒนาระบบภูมิสารสนเทศได้อีกมากมายครับ

http://through-the-interface.typepad.com/through_the_interface/2010/04/importing-photosynth-point-clouds-into-autocad-2011-part-1.html