Month: June 2010

Landserf อีกโปรแกรมดู Terrain เด่นด้านการวิเคราะห์ภูมิประเทศ (Terrain Analysis) ตอนที่ 2

  • จากตอนที่ 1 จะเห็นว่าการแปลงจาก DEM เป็น TIN นั้นไม่น่าประทับใจนักถ้าจะได้ผลลัพธ์ที่ละเอียด โปรแกรมจะใช้เวลา generate นานมาก แต่อย่างไรก็ตามผู้อ่านจะลองก็ได้

การวิเคราะห์ Terrain

การวิเคราะห์ Slope

  • มาดูฟีเจอร์เด่นของ Landserf กัน ผมจะลองเพียงบางฟีเจอร์ที่เด่ินๆเท่านั้นมาดูตัวแรกคือ การวิเคราะห์ที่อยู่ในหมวดหมู่ Surface Measurement คือการวิเคราะห์ Slope คลิกที่เมนู Analyse > Surface Parameter… จะเห็น dialog เล็กๆขึ้นมาให้เลือกว่าจะเลือกวิเคราะห์แบบใด ตอนนี้ผมจะเลือก slope
เลือกการวิเคราะห์แบบ slope
  • จะเห็นผลลัพธ์ออกมาดังรูปด้านล่าง สีเข้มๆหมายถึงเป็นพื้นที่ที่มีความชันมาก สีอ่อนๆก็ชันน้อยๆ
Landserf แสดงผลลัพธ์ของการวิเคราะห์ slope

การวิเคราะห์เพื่อหา Feature Extraction

  • มาดูการวิเคราะห์ในลำดับถัดไปดังที่กล่าวมาแล้วคือ Peak, Pit, Ridge, Pass, Channel, Planar รวมๆแล้วในโปรแกรมจะเรียกว่า Feature Extraction คลิกที่เมนู Analyse > Surface Parameter… เลือก Feature Extraction ดังรูปด้านล่าง
เลือกวิเคราะห์ Feature Extraction
  • จะได้ผลลัพธ์ที่แสดง Peak, Channel, Pit, Ridge, Pass, Planar ดังรูปด้านล่าง แต่ลักษณะที่เห็นได้ชัดกว่าจะเห็น สีเหลืองเป็นสันเขา (Ridge) สีน้ำเงินเป็นทางน้ำหรือร่องน้ำ (Channel) ส่วน Peak แสดงด้วยสีแดง และ Pass แสดงด้วยสีเขียว อาจจะต้องสังเกตกันหน่อยด้วยการ zoom เข้าไปดูใกล้ๆ
แสดงผลลัพธ์การวิเคราะห์หา Peak, Pit, Pass, Ridge, Channel, Planar

การวิเคราะห์ Peak Classification

  • มาลองดูการวิเคราะห์แบบ Peak ที่สามารถตั้งเงื่อนไขได้ คลิกที่เมนู Analyse > Peak Classification… จะเห็น dialog ดังรูปด้านล่าง ผมเลือก Minumum height of peak คือความสูงน้อยที่สุดเพื่อจะให้โปรแกรมคำนวณหา Peak ส่วนในช่อง Minimum drop surrounding peak คือระยะขยายจากจุด peak ทั้งคู่หน่วยเป็นเมตร
ตั้งเงื่อนไขให้การวิเคราะห์ Peak Classification
  • เมื่อคลิก OK แล้วจะโปรแกรมจะทำการคำนวณมาให้ แต่ที่ผมลองแล้วปรากฏว่ายังไม่ยอมแสดงผลลัพธ์ให้ดังรูปด้านล่าง
ลำดับการเรียกภาพของ Peak เพื่อแสดงผลบน Shaded Relief (Primary DEM)
  • จากรูปด้านบนเราสามารถสั่งให้โปรแกรม Blending ภาพ raster ไฟล์ไหนก็ได้ ที่สำคัญคือ Primary raster เราจะคลิกขวาก่อน แล้วตัว secondary เราจะคลิกซ้ายแล้วที่เมนูคลิก Display > Relief หรือ Display > Raster จะได้ผลลัพธ์ดังรูปด้านล่าง ซึ่งเมื่อดูแล้วค่อนข้างชัดเจน
Landserf แสดง Peak Classification

การวิเคราะห์ Flow Accumulation

  • การวิเคราะห์เพื่อหาการไหลรวมของน้ำ คลิกที่เมนู Analyse > Flow Accumulation… จะเห็น dialog ดังรูปด้านล่าง Minumum flow magnitude ผมใส่เข้าไป 5 ถ้าค่ายิ่งน้อย channel ก็จะยิ่งปรากฎชัด % sample ผมเลื่อนไปประมาณ 20
แสดงการตั้งค่าตัวเลือกสำหรับการวิเคราะห์ Flow Accumulation
  • ดูผลลัพธ์ที่ได้ ถ้าโปรแกรมไม่แสดงผลให้คลิกขวาที่รูป thumbnail หรือสัญลักษณ์ที่ Primary DEM (อยู่บนสุด) แล้วคลิกซ้ายที่รูป Flow Accumulation แล้วคลิกที่เมนู Display > Relief อย่าลืมว่าการวิเคราะห์นี้เราเลือกใ้ห้ generate เป็น vector ด้วย ที่เมนู Display > Vector จะเห็นผลลัพธ์ดังรูปด้านล่าง ซึ่งแสดงผลลักษณะของ channel ของร่องน้ำได้ชัดเจนดี ลักษณะคล้ายๆขนหลายๆเส้นมารวมกระจุก
แสดงผลลัพธ์จาก Flow Accumulation
  • เป็นอย่างไรบ้างครับ Landserf เป็นโปรแกรมขนาดเล็กๆ แต่มีคุณสมบัติการวิเคราะห์ด้าน Terrain ที่ดีพอสมควร ถ้าลองค้นใน internet เกี่ยวกับผู้พัฒนาโปรแกรมคือ Jo Wood จะเห็นมีเอกสารที่เกี่ยวข้องกับค้นคว้าและวิจัยด้าน Terrain อยู่พอสมควร ส่วนเรื่องที่ผมยังไม่กล่าวถึงในที่นี้คือเรื่องการวิเคราะห์แบบ Multi-scale หรือที่เรียกว่า Advanced morphometric analysis ถ้ามีโอกาสจะได้นำมากล่าวในภายหลัง

ดาวน์โหลดข้อมูลทดสอบ

Landserf อีกโปรแกรมดู Terrain เด่นด้านการวิเคราะห์ภูมิประเทศ (Terrain Analysis) ตอนที่ 1

  • ห่างหายไปพอสมควรครับ ผมเพิ่งกลับจากนอร์เวย์ ดินแดนพระอาทิตย์เที่ยงคืน  ตื่นตาตื่นใจเพราะเป็นครั้งแรกที่มาประเทศในย่านแสกนดิเนเวีย เป็นประเทศที่ติดอันดับค่าครองชีพสูงที่สุดในยุโรป ติดอันดับประเทศที่น่าอยู่ที่สุดหลายปีซ้อน แต่นอร์เวย์ประชากรน้อยมากไม่ถึง 5 ล้านคน มองดูนอร์เวย์แล้วย้อนมาดูเมืองไทย ต่างกันเหลือเกิน เมืองไทยวุ่ยวายเหลือเกินไม่รู้จักจบ ที่นั่นผมพบว่าสงบเงียบ จนบางครั้งหาคนไม่เจอ นี่ฮาจริงๆเลยนะ ผมอยู่ที่เมือง Halden ห่างจากเมืองหลวง Oslo ประมาณ 100 กม. ไปเดินดูสถานีรถไฟประมาณ 2 ทุ่ม(ยังสว่างโร่อยู่จะมืดๆประมาณ 6 ทุ่ม) กับรุ่นน้องที่ไปด้วยกัน ปรากฏว่าสถานีรถไฟ มีคนทำงานแค่ 2 คน หาผู้โดยสารไม่มีสักคน ด้วยความ Hi tech ทุกๆสิ่งทุกๆอย่างไม่ต้องใช้คนมาก ถ้าจะซื้อตั๋วก็ใช้ตู้กดเอาอย่างเดียว
  • ด้วยความที่นอร์เวย์ประชากรน้อย มาตรฐานการครองชีพสูง ทำให้คนนอร์เวย์ค่อนข้างจะเหงา ก็แปลกดีครับ กลับมาที่ Landserf โปรแกรมด้าน Terrain visualization & Analysis

Landserf VS. Terrain Bender

 

โปรแกรม Landserf ภาพจาก website ของผู้พัฒนา
  • โปรแกรมที่ผมแนะนำไปตอนก่อนๆคือ Terrain Bender นั้นผมประทับใจในเรื่องการแสดงผล Terrain แบบ 3D ที่โปรแกรมเมอร์มีมุมมองที่เด็ดเหลือเกิน ส่วน Landserf การแสดงผลในด้าน 3D ยังไม่ดีเท่า แต่ที่ได้มาทดแทนคือมีฟังก์ชั่นการวิเคราะภูมิประัเทศ (Terrain Analysis) เช่น
    • Surface  Measurement เช่นการวิเคราะห์ Elevation, Slope, Aspect และ 7 รูปแบบของการวิเคราะห์ด้าน Curvature
    • Multi-Scale Query and Analysis เหมือนกับ Surface Measurement แต่สามารถเปลี่ยน scale ได้
    • Peak Classification เป็นการวิเคราะห์เพื่อหาจุดสูงสุดของยอดเขา
    • Fuzzy Feature Classifications เป็นการวิเคราะห์เพื่อดึงข้อมูลต่างๆออกมาเช่น Peak (ยอด), Pit (หลุม), Channel (ร่องน้ำ). Ridge(สันเขา). Pass (ช่องเขา). Planar(พื้นราบ)
    • Flow Accumulation เป็นการวิเคราะห์หาการไหลรวมของน้ำ
  • ส่วนฟีเจอร์อื่นๆได้แก่เมนู Transform ที่สำคัญคือ
    • DEM to Contours สามารถสร้างเส้นชั้นความสูงจาก DEM ได้ สามารถเซฟออกเป็นเวคเตอร์ได้ เช่นรูปแบบ Shape file
    • DEM to TIN สามารถสร้าง TIN (Triangulated Irregular Network) จาก DEM ได้และสามารถเซฟได้ในรูปแบบ
    • Points to TIN เมื่อนำข้อมูลเข้าแบบ point ก็สามารถแปลงเป็น TIN  ได้
    • TIN to DEM ถ้าข้อมูลนำเข้าเป็น TIN สามารถ generate เป็น DEM ได้
    • TIN to Points เมื่อข้อมูลนำเข้าเป็น TIN สามารถแปลงเป็น text file ได้
  • ถ้าเรามีข้อมูลเป็น point ในฟอร์แม็ต N,E,Z หรือ N E Z สามารถนำเข้าเป็น point ได้ จากนั้นใช้คำสั่งจาก Points to TIN แล้วสั่่งต่ออด้วย TIN to DEM พูดกันง่ายๆคือสร้าง DEM จาก 3D Point แต่เท่าที่ผมลองแล้วไม่ work มันนานจนต้องปิดโปรแกรมทิ้ง ก็น่าเสียดายมากๆ ที่โปรแกรมฟรีทั้งหลาย ยังไม่มีตัวไหนเทียบได้กับโปรแกรมเชิงพาณิชย์เช่น ERDAS หรือ Global Mapper

ความเหมือน ข้อดีและข้อเสียของ Landserf & Terrain Bender

  • ทั้งคู่พัฒนาด้วย Java Base โปรแกรมสนับสนุน OpenGL ทั้งคู่ ทั้งสองโปรแกรมพัฒนาด้วยจำนวนคนไม่มาก Landserf พัฒนาโดย Jo Wood ส่วน Terrain Bender พัฒนาโดย Helen Jenny and Bernhard Jenny
  • Terrain Bender ที่ผมลองแล้วไม่ work บนโน๊ตบุคที่ไม่ใช้การ์ดจอแยก โดยเฉพาะของ intel คือเรียกโปรแกรมแล้วก็หายไปเลย แต่อีกเครื่องใช้การ์ดจอของ ATI กลับไม่มีปัญหา ส่วน Landserf ไม่มีปัญหา
  • การสนับสนุนฟอร์แม็ตของ Raster & Vector น้อยเกินไป สองโปรแกรมนี้ถ้าใช้ไลบรารี GDAL จะสนับสนุนฟอร์แม็ตได้มากมาย
  • Landserf ใช้งานยากไปนิด แต่เท่าที่ผมลองผิดลองถูก ไม่นานก็รู้แนวทางการใช้โปรแกรมแบบยังไงไม่ให้หงุดหงิด
  • เหนืออื่นใดคือทั้งสองโปรแกรมนั้นฟรีและผมค่อนข้างชอบทั้งคู่

ดาวน์โหลดและติดตั้ง

  • ดาวน์โหลด landserf สามารถไปได้ที่ลิงค์ download/ ก่อนอื่นใดต้องกรอกชื่อ email address ก่อนจะดาวน์โหลดได้ ไฟล์ที่ได้มาตอนที่เขียน blog นี้คือเวอร์ชั่น 2.3 จะได้ไฟล์เป็น zip ออกมาเมื่อ unzip แล้วจะได้ไฟล์ .jar ออกมา สำหรับผมแล้วไม่สันทัด java การจะติดตั้งโปรแกรมผมใช้ตัวช่วยที่ทำให้การติดตั้งโปรแกรมทำได้ง่าย
  • ตัวช่วยที่ว่าคือ IzPack ตอนนี้รุ่น 4.3.3 เป็น opensource ที่มุ่งจัดการกับโปรแกรมที่เขียนด้วย Java ให้สามารถติดตั้งได้ง่ายๆ สามารถไปดาวน์โหลดได้ที่นี่ IzPack เมื่อดาวน์โหลดแล้วทำการติดตั้งได้เลย เป็น self-executed file
  • ติดตั้ง landserf เปิดโฟลเดอร์ไฟล์ jar ของ landserf คลิกขวาเลือก Open with > Java Platform SE Binary จะเรียก IzPack มาดังรูปด้านล่าง
รัน jar file ด้วย IzPack
  • ทำการติดตั้ง Landsert ต่อไป
ติดตั้ง Landserf
  • ติดตั้ง landserf แล้วถ้าเลือกตาม default โปรแกรมจะถูกติดตั้งที่ “c:\program files\landserf” ต่อไปมาดูกันว่า landserf ทำอะไรได้บ้าง

Surface Classification Feature

  • ก่อนจะใช้โปรแกรมมาดูคุณลักษณะพื้นฐานของ Terrain Analysis กันก่อน การวิเคราะห์จะให้ผลลัพธ์อยู่ 6 อย่างที่ผมกล่าวไปข้างต้นบ้างแล้วคือ Peak, Channel, Pass, Ridge, Pit, Planar การวิเคราะห์ภูมิประเทศเป็นเรื่องค่อนข้างลึกซึ้ง ผมค้นดูแล้วมีการทำวิจัยกันมาก การวิเคราะห์จาก DEM จะใช้อัลกอริทึ่มแยก pixel ดังรูปด้านล่าง
การวิเคราะห์จุุดภาพลักษณะภูมิประเทศในมุม 3D
  • รูปด้านบนผมนำมาจากบทความ สามารถดาวน์โหลดได้ตามลิงค์นี้ BrownD.pdf ดูคนเขียนแล้วไม่ใช่อื่นไกล มีคุณ Jo Wood ผู้พัฒนา landserf รวมอยู่ด้วย
การวิเคราะห์จุดภาพขนาด 3×3 เทียบกับจุดตรงกลาง
  • รูปด้านบนเป็นการวิเคราะห์จุดภาพขนาด 3×3 โดยการเทียบความสูงกับจุดกึ่งกลางรูป ถ้ามากกว่าจะเป็นบวก ถ้าน้อยกว่าจะเป็นลบ ถ้าลักษณะของจุดภาพขนาด 3×3 เป็นไปดัง pattern ไหนก็จะได้ลักษณะภูมิประเทศแบบนั้น ฟังดูเหมือนง่ายๆ ถ้าดูฟังก์ชั่นที่ได้ทำการวิจัย คิดค้นกันมาก็ซับซ้อนพอสมควร

การใช้โปรแกรม Landserf

  • เมื่อเปิดโปรแกรมมาแล้วจะเห็นหน้าตาของโปรแกรมเรียบง่ายดี ใช้เมนู File > Open… ผมมีไฟล์ทดสอบอยู่ฟอร์แม็ตคือ ArcGIS text raster (*.grd, *.asc) เป็น text file เก็บข้อมูล point ในรูปตาราง
เปิดไฟล์ทดสอบ
  • จะเห็นหน้าตาของโปรแกรมแสดงผล DEM ดังรูปด้านล่าง
Landserf แสดงผล DEM ในรูป shade สี
    • จะลองปรับให้โปรแกรมแสดงผลในรูป Shaded Relief เพื่อให้ดูง่ายและสวยงามขึ้น ที่โปรแกรมไปตั้งค่า Shaded Relief ที่เมนู Configure > Shaded Relief ตรง Vertical Exaggeration ปรับไปประมาณ 3.0
ตั้งค่าการแสดงผล Shaded Relief
  • ต่อไปไปคลิกที่เมนู Display > Relief จะได้รูปที่สวยงามขึ้น
แสดงผล Shaded Relief

การสร้างเส้นชั้นความสูง (Contours)

  • ก่อนจะไปดู Terrain Analysis มาดูฟีเจอร์ที่น่าสนใจกันก่อน ก็คือการสร้างเส้นชั้นความสูงคลิกที่เมนู Transform > DEM to Contours ตั้งค่า Min contour level เป็น 0 (ใช้เลขจำนวนเต็ม) และ Contour interval ไป 20 เมตรดังรูปด้านล่าง
ตั้งค่าเส้นชั้นความสูง
  • ตามข้อมูลที่ทดสอบใช้เวลาไม่นานนัก แต่เมื่อสร้างเสร็จแล้วเราอาจจะงงๆว่าทำไมโปรแกรมไม่แสดงเส้น contour ให้เห็นอัตโนมัติ ไปตั้งค่าก่อนด้วยการคลิกที่เมนู Display > Vector ให้แสดงเครื่องหมายถูกหน้าคำว่า Vector จะเห็นหน้าตาของ contour ดังรูป ผม zoom เข้าไปเพื่อให้ดูง่าย จากรูปด้านล่างจะเห็นตรงภาพเล็กด้านซ้ายจะเห็นตัว V แสดงว่าเป็นเลเยอร์ ของ Vector โชคร้ายไปหน่อยที่ผู้พัฒนาไม่ได้เลือกให้ตั้งค่าสีได้เอง สีที่สร้างมาให้จะเป็นสีตาม shade ของ DEM แต่ก็สวยดึครับ
Landserf แสดงเส้นชึ้นความสูง
  • การเซฟเส้นชั้นความสูงออกไปในรูป Shape file ตอนแรกก็งงๆว่าทำได้อย่างไร ที่จริงตรงรูปเล็กๆด้านซ้ายถ้าคลิกขวาแล้วเลือกเซฟได้ก็จะดี แต่ในโปรแกรมไม่ได้ออกแบบไว้ วิธีการคือใช้เมาส์ซ้ายคลิกที่รูปภาพเล็กของ contour แล้วใช้เมนู File > Save…เลือกฟอร์แม็ตเป็น ArcGIS Shape file ผมลองไปเปิดดูโปรแกรมอื่น ไม่มีปัญหา
  • ก็ขอจบตอนนี้ไว้ก่อนเพราะจะยาวไปมาก พบกันตอนหน้าครับ