Month: August 2009

การ Download SRTM DEM (Digital Elevation Model) ผ่าน Google Earth

  • การนำแบบจำลองระดับสูงเชิงเลข (Digital Elevation Model) หรือ DEM มาใช้เพื่อจำลองสภาพพื้นผิวภูมิศาสตร์เป็นสามมิติ ผ่านโปรแกรมดังๆอย่าง Global Mapper  หรือโปรแกรมอื่นๆอีกมากมายทางด้าน GIS ใช้เพื่อศึกษาเฉพาะด้านที่สนใจ
  • ผมมีโอกาสได้ทำงานต่างประเทศ ส่วนใหญ่ก็เป็นเพื่อนบ้านเราเช่นพม่า ลาว กัมพูชา มาเลเซีย อินโดนีเซียไปจนถึงมาดากัสการ์ และ ปาปัวนิวกินี บางครั้ง Base map ไม่มีให้ต้องเตรียมหาเอง เบื้องต้นจะใช้ภาพถ่ายดาวเทียม ซึ่งจะ download ได้จาก Landsat ก็พอถูๆไถๆ ส่วนค่าระดับต้องมาหาจาก DEM ซึ่งโชคดี สามารถหาได้เกือบทั้งโลกใบนี้จาก NASA Shuttle Radar Topographic Mission (SRTM) เรียกสั้นๆว่า SRTM DEM
  • การ Download ผ่านทาง http หรือ ftp อาจจะไม่สะดวกที่ต้องรู้ค่า Latitude และ Longitude ที่ไป download ประจำคืออยู่ที่ http://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/ แต่ผมสังเกตดูจาก directory จะเป็น version 3 เท่านั้น ซึ่งจะมีรู (hole) อยู่มาก แต่ใน website http://srtm.csi.cgiar.org/ พูดถึง Update DEM จนถึง Version 4 แล้ว แต่ถ้าดูดีๆจะเห็น link เล็กๆ อยู่ด้านล่างๆ คือลิงค์  http://www.ambiotek.com/topoview ถ้าคลิกไปจะ download ได้ไฟล์ SRTM41.KMZ
  • เปิด Google Earth เปิดไฟล์ SRTM41.KMZ ไปจะเห็น Google Earth แสดงรูปกริดขนาด 5 องศา x 5 องศา ซึ่งก็คือขนาดกริดของ SRTM DEM ที่จะ download นั่นเอง ถ้า zoom in เข้าไปอีกนิดจะเห็นตัวอักษรแสดงเบอร์ของ SRTM DEM เช่น Data for : srtm_65_14 (อยู่ในปาปัวนิกีนี) คลิกไปที่ลิงค์ที่ตัวอักษร

ภาพแสดง Google Earth แสดงกริด 5 degree x 5 degree ของ SRTM DEM v.4

ภาพแสดง Google Earth แสดงกริด 5 degree x 5 degree ของ SRTM DEM v.4

ภาพแสดง Google Earth ให้เลือกว่าจะ download ครั้งละ 5 x 5 หรือ 1 x 1

ภาพแสดง Google Earth ให้เลือกว่าจะ download ขนาดไทล์ 1 x 1 หรือครั้งละ 5 x 5

  • ที่นี้จะมีทางเลือกให้ download ขนาด tile 5 องศา x 5 องศา แบบ ARCASCII format หรือ GeoTiff ก็ได้ทั้งแบบ zip และ ไม่ zip ที่ใต้หัวข้อ 5 DEGREE TILE : UK SERVERS ถ้าต้องการขนาดไทล์ 1 องศา x 1 องศา คลิกที่ลิงค์ Click here to visualise terrain and access 1 degree tiles ลิงค์นี้จะเปิด KMZ มาอีกตัวหนึ่งคราวนี้ขึ้นที่ Temporary places เช่นชื่อ elevation preview For tile :  srtm_65_14 จะเห็นกริดย่อยซอยจาก 5 องศา x 5 องศา เป็น 1 องศา x 1 องศา จำนวนประมาณ 25 ช่อง (บางช่องอาจจะไม่มี ตัวอย่างถ้าเป็นพื้นที่ในทะเล)
Download ไฟล์ SRTM DEM ขนาด 1 องศา x 1 องศา ด้วย Google Earth
Download ไฟล์ SRTM DEM ขนาด 1 องศา x 1 องศา ด้วย Google Earth
  • เมื่อคลิกที่ลิงค์บน Google Earth จะให้ download ขนาดไฟล์ ARCASCII format ผมสังเกตไม่มี Geotilff format แปลกดี สำหรับผมเองชอบ download ขนาด 5 องศา x 5 องศา มากกว่า ขนาดไฟล์ก็ไม่ใหญ่มากนักแล้วค่อยมา crop เฉพาะ area ที่ต้องการใช้
แสดง SRTM DEM บางส่วนของมาเลเซียบนโปรแกรม Global Mapper V.10
แสดง SRTM DEM บางส่วนของมาเลเซียบนโปรแกรม Global Mapper V.10
  • จากภาพตัวอย่างของมาเลเซีย ถ้าเป็น SRTM DEM V.3 จะเห็น void หรือ hole อยู่กระจายเต็มไปหมด ยากที่จะเอาไปใช้ได้ แต่เวอร์ชั่น 4 ได้แก้ไขหมดแล้ว เครดิตผู้พัฒนา DEM อ่านได้ที่ website http://srtm.csi.cgiar.org/

การพัฒนาโปรแกรมแบบ Cross-Platform ด้วย Lazarus

  • ที่จริงรู้จักกับ Lazarus มาได้ 2 ปีกว่าแล้ว โดยการแนะนำของคุณจักรนันท์  กูรูขนานแท้คนหนึ่ง ที่ http://www.opentle.org/th/node/5345 ได้ให้คำแนะนำที่น่าสนใจมาก คุณจักรนันท์ได้ comment สั้นๆกับ Lazarus ดังนี้
  • “Free Pascal นั้น เป็นแค่ Compiler นะครับ เกือบเทียบเท่า gcc แล้วในเรื่องของการ Compile ข้ามได้หลาย Platform แต่มีได้เปรียบเรื่องเดียวคือ มี Community อีกกลุ่มหนึ่ง ต่อยอด Free Pascal ด้วยการสร้าง IDE ขึ้นมาชื่อ Lazarus เพื่อช่วยให้ผู้ที่คุ้นเคยกับ Delphi มาก่อนได้ Relax ขึ้น โดย Lazarus ได้สร้างโครงสร้าง Object Anchester ไว้ให้รวมไปถึง Object Component ต่างๆ โดยพยายามใช้ชื่อเดียวกับที่ Delphi ใช้ เพื่อให้รู้สึกเหมือนกันที่สุด แต่การเขียนโดยใช้ Lazarus นั้น งานที่ได้จะ Compile ได้เพียง 2 Platform เท่านั้นนะครับ คือ Linux กับ M$ Windows”
  • ผมขอเพิ่มเติมนิดหนึ่งครับว่าตอนนี้ สามารถ compile ได้หลากหลาย Platform ทั้ง Windows, Linux และ Mac OS, WinCE ขอขอบคุณจักรนันท์ จากใจจริงๆ
  • เมื่อสองปีที่แล้ว ลองdownload มาใช้งานดูแต่ยังไม่ได้จริงจังนัก พบว่า bug ยังมากยุบยับไปหมด เพิ่งมาเริ่มแบบจริงๆ ก็ไม่นานนี้ แหมดีขึ้นมาก เสถียรขึ้นเยอะ สักพักใหญ่ๆน่าจะไปถึงจุดเสถียรแบบ Delphi V.7 ตอนนี้ผมแนะนำให้ใช้ Subversion มากกว่า ปัจจุบัน Lazarus เป็น version 0.9.29 ต้องบอกก่อนว่า Lazarus ต้องใช้ Freepascal compiler เรียกสั้นๆว่า FPC ขณะนี้ version 2.3.1 เวลา download ตัว FPC กับ Lazarus จะแยกกัน วิธีการ download แบบ subversion มาใช้งาน ถ้ายังไม่ได้ติดตั้ง subversion ใน ubuntu ใช้คำสั่งดังนี้

$sudo apt-get install subversion

  • จากนั้นให้เตรียมสร้าง directory สำหรับ FPC ผมสร้าง directory ไว้ที่ /home/prajuab/fpcSVN และสร้าง Directory สำหรับ Lazarus ไว้ที่ /home/prajuab/lazarusSVN

เข้าไปที่

$cd /home/prajuab/

ใช้คำสั่ง svn ดังนี้

$svn checkout http://svn.freepascal.org/svn/fpc/trunk fpcSVN

สักพัก svn จะเริ่ม update ไฟล์ ประมาณนี้

…………………………………………………………………….

$ svn checkout http://svn.freepascal.org/svn/fpc/trunk fpcSVN
A    fpcSVN/utils
A    fpcSVN/utils/debugsvr
A    fpcSVN/utils/debugsvr/dbugintf.pp
A    fpcSVN/utils/debugsvr/console
A    fpcSVN/utils/debugsvr/console/Makefile.fpc
A    fpcSVN/utils/debugsvr/console/debugserver.pp
A    fpcSVN/utils/debugsvr/console/Makefile
A    fpcSVN/utils/debugsvr/Makefile.fpc
A    fpcSVN/utils/debugsvr/testdebug.pp
A    fpcSVN/utils/debugsvr/gtk

……………………………………………………………………………………

ถ้าเน็ตแรงๆสักครึ่งชั่วโมงก็เสร็จ จากนั้นต่อด้วย subversion ของ Lazarus

$ svn co http://svn.freepascal.org/svn/lazarus/trunk lazarusSVN

รอนานแต่ไม่เท่ากับ FPC

  • การ Compile FPC และ Lazarus ต้องเอาไว้ก่อนนะครับเพราะไปลึก ตอนนี้ขอแสดงโครงการที่ผมกำลังพัฒนากันอยู่ ผมเรียกโครงการนี้ว่า OpenGPS เป็น opensource component สำหรับ Lazarus เมื่อผมพัฒนาจนคิดว่า stable จะนำ component ตัวนี้ไป post ไว้ที่อาจจะเป็นที่ www.freepascal.org หรืออาจจะเป็น sourceforge ก็ได้ เพื่อให้ท่านอื่นๆที่สนใจนำไปใช้หรือมาช่วยกันพัฒนาต่อ
  • ความสามารถของ OpenGPS คือสามารถ Interface กับเครื่อง GPS มือถือเช่น Garmin อ่านข้อมูลที่เรียกว่า NMEA ที่เครื่อง GPS ส่งมาให้ผ่านทาง Serial port หรือ usb port ก็ได้ หรือถ้าจะนำไปพัฒนาบน WinCE ที่มี GPS ในตัวก็ได้เช่นเดียวกัน
พัฒนา OpenGPS ด้วย Lazarus บน Ubuntu linux
พัฒนา OpenGPS ด้วย Lazarus บน Ubuntu linux
พัฒนา OpenGPS ด้วย Lazarus บน Windows
พัฒนา OpenGPS ด้วย Lazarus บน Windows
  • จากภาพ snapshot ด้านบนจะเห็น Object หลายๆตัว เช่น GPSSkyPlot (TGPSSkyplot) ที่แสดงเป็นรูปวงกลมของท้องฟ้าแสดง GPS ที่อยู่บนท้องฟ้าที่เครื่องเรารับสัญญาณได้
  • Object ตัวที่สองที่เป็นรูปลูกศรคือ GPSTarget (TGPSTarget) ท่านที่ใช้เครื่อง GPS อยู่คงจะเข้าใจเรื่อง Waypoint ถ้าเราตั้ง Waypoint ไว้แล้วสั่ง Goto เครื่องจะพยายามนำเราไปจุดหมายซึ่งเครื่อง GPS จะแสดงทิศทางคือชี้ไปยังเป้าหมายตลอดเวลา เช่นเดียวกันใน OpenGPS เมื่อเราป้อน Waypoint  ให้โปรแกรมจะแสดงลูกศรชี้ไปยังเป้าหมายแสดงมุมอะซิมัท และระยะทางให้ตลอด
  • ส่วน Object ตัวอื่นเช่นเป็นรูปแท่งๆในแนวดิ่ง ก็แสดงความแรงของสัญญาณ GPS แต่ละดวงที่เครื่อง GPS รับได้
  • ตอนนี้โครงการเพิ่งเริ่มไม่นานเรื่อง Interface ด้วย serial port ยังไม่ได้ทำ ใช้วิธีอ่านไฟล์ NMEA ที่เก็บอยู่ในรูป Text file มา Process
  • ถ้าพัฒนาถึงในจุดที่คิดว่า stable หรือพอนำไปใช้ได้ ผู้พัฒนาโปรแกรมด้วย Lazarus สามารถ Download component “OpenGPS” ไปใช้ได้ไม่ว่าจะ platform ไหน เช่น Linux, Windows, Mac OS หรือแม้แต่ WinCE นำไปพัฒนาโปรแกรมจำพวก Car Navigator ก็ได้ ส่วนใหญ่ component แบบนี้ที่ผมเห็นจะเป็นเชิง commercial มากกว่า จะเป็น opensource
  • ด้วยข้อจำกัดของผมที่ทำงานประจำอยู่ จึงมีเวลาเขียนและพัฒนาน้อยแต่ก็พยายาม และอายุที่เลยเลขสี่มาแล้ว ไม่สามารถคิดปุ๊บติดปั๊บเหมือนแต่ก่อนรุ่นๆ (ฮา)  ที่เขียนโปรแกรมเพราะใจรักและเป็นงานอดิเรก

ประสบการณ์จากการใช้ Freeware และ Opensource

ผมทำงานในบริษัทใหญ่แห่งหนึ่ง ปัญหาที่เพิ่งช็อคกันเมื่อสักหนึ่งปีที่ผ่านมาคือเรื่องปัญหาลิขสิทธิ์โปรแกรม บริษัทฯโดน BSA นำโดย Autocad บุกชาร์ต บริษัทฯ เสียเงินร่วมไปเบาะๆประมาณ 20 ล้านบาท นี่แค่โปรแกรม Autocad โปรแกรมเดียวนะครับ และที่บริษัทฯโดยก็แค่ชั้นเดียว ถ้าหลายๆชั้นจะเท่าไหร่ นี่ถ้าพ่วง Microsoft มาด้วยต้องกระอักเลือดไม่น้อย ไหนจะ windows ไหนจะ Microsoft Office

ผมเองในฐานะลูกจ้างคนหนึ่ง ก็พยายามช่วยบริษัทฯ โดยเริ่มจากตัวเองก่อน โปรแกรมแรกที่เปลี่ยนก็คือ Microsoft Office ไปใช้ OpenOffice ซึ่งเป็น opensource ฟรีแทน ผมมีแนวร่วมกล้าตายเป็นลูกน้อง 1 คน (ฮา ฮา อา) เราใช้ Openoffice กันมาได้ หลายเดือนแล้วครับ ได้ผลดี ถ้าใช้บน windows แต่ถ้าไปใช้บน ubuntu หรือ pclinuxos ที่ผมใช้อยู่จะมีปัญหาเรื่องฟอนต์ คือฟอนต์จะไม่เหมือนกัน ทำให้ขนาดตัวหนังสือที่เล็กใหนวินโดส์ แต่ใหญ่เบ้อเริ่มใน Linux แต่เราแก้ไขกันโดยใช้ Thai Font free ที่สามารถหา download กันได้ ว่างๆจะมาคุยกันอีกครั้งครับ

โปรแกรมที่สองคือ Adobe Photoshop ที่เครื่องไหนๆก็มักจะติดตั้งกันเป็นสามัญประจำเครื่อง โดยไม่ตระหนักเรื่องลิขสิทธิ์ โปรแกรมนี้แนวร่วมยังไม่มี เพราะหลายๆคนยังเสพติดกับ photoshop อยู่ ไม่เป็นไร ไม่ท้อ ผมเปลี่ยนไปใช้ Gimp ความจริงผมใช้ photoshop ไม่มากนัก คือใช้แค่ไม่กี่ feature เอง ความยึดติดยังไม่มาก พอใช้ Gimp ลองผิดลองถูกเดี๋ยวก็ใช้ได้เอง ก็ไม่ได้รู้สึกว่ายากแต่อย่างไร

โปรแกรมต่อไปคือ Irfanview ตัวนี้ใช้แทน ACDSEE อายุของ Irfanview ก็ 13 ปีกว่าๆแล้ว มานานขนาดนี้ก็ไม่ธรรมดา พอใช้ไปสักพักก็ชอบในความเล็ก เร็ว แสดงภาพที่เป็นไฟล์วีดีโอ ได้ดีพอสมควร โปรแกรม Irfanview ตัวนี้เป็น freeware ถ้าไม่นำโปรแกรมไปใช้ในทางการค้า

โปรแกรม Antivirus อันนี้ยอมซื้อผมใช้ kaspersky ใช้ดีพอสมควร เล็ก เร็ว ไม่หน่วงเครื่อง แต่ถ้า Boot เข้า linux ไม่ว่าเป็น Ubuntu หรือ PCLinuxOS ก็ไม่ต้องเพราะไม่มี virus บนโลก linux มากวนใจ ผมต้องบอกไว้ก่อนว่าเครื่องคอมพิวเตอร์ที่ผมใช้เป็น Notebook ติดตั้ง OS ไว้ 3 อย่างคือ Windows, Ubuntu Linux และ PCLinuxOS หรือ PCLos ผมอ่านข่าวแล้วตกใจเพราะว่า Antivirus เป็นโปรแกรมที่ละเมิตลิขสิทธิ์มากที่สุดในประเทศไทยเรา รองลงมาคือโปรแกรมด้าน Office ยังไงๆ ถ้าไม่มีของฟรีที่ถูกใจ ก็หันมาอุดหนุนลิขสิทธิ์ก็ดีไม่แพง สำหรับ Antivirus ที่ว่า

สำหรับโปรแกรมสามัญประจำเครื่องแต่ละคนที่ไม่ขาดเลยก็คือโปรแกรมเขียนแผ่นซีดี/ดีวีดี  ในเมืองไทยฮิตที่สุดก็ต้อง Nero มี feature มากกว่าจะเป็นโปรแกรมเขียนแผ่นซีดี แต่หลายๆคนก็ไม่เคยใช้มันสักที ที่สำคัญคือเป็นโปรแกรมไม่ฟรี ผมเลือกใช้ CDBurnerXP แทน นอกจากเขียนแผ่นแล้วยังเขียนอ่าน image ของแผ่นได้แค่นี้พอแล้วครับ

กลับมาที่จุดเริ่มต้นอีกครั้งแล้ว Autocad ใช้อะไรแทน เรื่องนี้ผมก็เห็นใจบริษัทฯอยู่มากเหมือนกัน เพราะไปประมูลงานที่ไหนก็ไม่เคยคิดนำราคาของโปรแกรมที่ใช้อยู่ไปเป็นต้นทุนในการประมูลงาน ทางผู้บริหารซื้อ Autocad  ให้แผนกผมประมาณ 3 License แผนกอื่นๆที่ใหญ่กว่าก็ได้มากกว่า แต่ถามว่าพอใช้ทุกคนไหม ไม่ยังขาดอยู่หลายๆคน ผมพยายามหาอะไรที่ฟรีมาใช้ หรืออะไรก็ได้ที่ถูกกว่ามาลองใช้ดูก่อน แต่เชื่อไหมไม่ว่าจะใน Linux ไม่มีโปรแกรมไหนเทียบเคียงกับ Autocad ได้ (แต่ถ้าไปถามคนใช้ Microstation ซึ่งเป็นโปรแกรม Cad เช่นเดียวกันอาจจะได้รับคำเยาะเย้ย) ตอนนี้กำลังลอง BricsCad ซึ่งมันถูกกว่าร่วมๆแสนต่อ license ก็พอใจมากๆ แต่ยังมีบางอย่างที่ต้องลองกันต่อดูกันไปสักพักใหญ่ๆ

เรื่องลิขสิทธิ์นี้ คนไทยเรายังเคยชินอยู่กับการใช้แผ่นเถื่อนที่หากันได้ง่ายๆเหมือนกับเป็นของฟรี ทำให้ไม่เห็นคุณค่าสักเท่าไหร่ ในเครื่องผมก็ยังมีโปรแกรมหลายๆตัวที่ยังเถื่อนอยู่ แต่ก็พยายามหาของฟรีหรือ opensource มาใช้แทนถ้าหาได้ ส่วนโปรแกรมด้าน engineering หลายตัวก็เสนอให้บริษัทฯซื้อและใช้งานเป็นลิขสิทธิ์อยู่ แต่ในชีวิตผมในการทำงานผมใช้ Windows ประมาณ 30% ที่เหลือเป็น linux หมดไม่ว่าการใช้ Openoffice ใช้ internet ส่ง email จิปาถะ ชีวิตหลังเลิกงานเป็น Linux 100% ดูหนังฟังเพลงใช้ internet หรือ chat ก็ตาม เพราะฉะนั้นโปรแกรมด้าน multimedia (ดูหนังฟังเพลง) บน windows จะไม่มีเลย ยังมีอะไรอีกมากที่จะคุยกันเรื่องนี้ วันนี้พอแค่นี้ก่อน