ค้นหาข้อมูลในบล็อก (Search in this blog)

Friday, August 21, 2009

การแปลงระบบอ้างอิงทางตำแหน่งสำหรับข้อมูลภาพและข้อมูลกริด (ของฟรีและดีก็มีในโลก)

วันนี้ขอนำเสนอการแปลงระบบอ้างอิงทางตำแหน่ง (ระบบพิกัด) สำหรับข้อมูลภาพและข้อมูลกริด (แรสเตอร์) ด้วย FWTools ดังนี้ครับ
ก่อนอื่นต้องทราบว่ารหัสของระบบอ้างอิงทางตำแหน่งหมายถึงอะไรก่อนนะครับ เช่น 32647 หรือ 4326 เป็นต้น โดยผมได้สรุปและสร้างเป็นตารางดังภาพตัวอย่างดังนี้ตัวอย่างการใช้งานมีดังนี้ครับจากภาพตัวอย่างเป็นการแปลงระบบอ้างอิงทางตำแหน่ง (Spatial reference System - SRS) จากระบบเดิม (จากตัวอย่างผมไม่ได้ระบุระบบอ้างอิงทางตำแหน่งของไฟล์ต้นฉบับเพราะทราบอยู่แล้วต้นฉบับนั้นมีระบบอ้างอิงทางตำแหน่งคือ 4326) ไปเป็นระบบใหม่คือ 32647 โดยใช้ option "-t_srs" โดยมีไฟล์ต้นฉบับคือ gdem4326.tif และไฟล์ผลลัพธ์คือ gdem32647.tif
ส่วน option ที่น่าสนใจสำหรับการแปลงระบบอ้างอิงทางตำแหน่งมีดังนี้ครับ
  • การกำหนดขนาดจุดภาพ [-tr Xsize Ysize] เช่น -tr 30 30 เป็นต้น โดยหน่วยของจุดภาพจะเป็นไปตามระบบอ้างอิงทางตำแหน่งครับ
  • วิธี Resampling เช่น -r bilinear หรือ -r cubic เป็นต้น
การระบุ option นั้นให้ทำการระบุก่อน(ข้างหน้า)ชื่อไฟล์เสมอ เช่น

>gdalwarp -t_srs epsg:32647 -tr 30 30 -r cubic gdem4326.tif gdem32647.tif

Thursday, August 13, 2009

เลือกเส้นทางการเดินทางด้วยรถสาธารณะผ่าน Google Maps

วันนี้ขอแนะนำ การค้นหาเส้นทางผ่าน Google Maps แบบการเดินทางด้วยรถสาธารณะ (Public Transit) ก่อนหน้านี้ บางท่านอาจจะเคยค้นหาเส้นทางการเดินทางผ่าน Google Maps ซึ่งเลือกวิธีเดินทางได้ 2 แบบคือ ด้วยรถยนต์ (Car) และการเดินทางด้วยการเดิน (Walking) ซึ่งบางครั้งคนที่ไม่มีรถยนต์ส่วนตัว (เช่น คนจนๆอย่างกระผม แฮะๆๆ) หรือไม่สะดวกที่จะใช้รถยนต์ แต่ต้องการทางเลือกอื่นๆสำหรับการเดินทาง เราสามารถใช้ Google Maps ช่วยได้ไหม ???? คำตอบคือ ณ วันนี้ได้แล้วครับ เนื่องจากพี่ใหญ่ใจดี อย่าง Google ได้มีการเพิ่มบริการที่เป็นทางเลือกสำหรับผู้ใช้งานอีกกลุ่มหนึ่ง (ไม่ใช้การเดินทางด้วยรถยนต์หรือการเดิน) ด้วยการเพิ่มทางเลือกสำหรับการเดินทางด้วยรถสาธารณะ เช่น รถโดยสารประจำทาง หรือรถเมล์นั่นแหละครับ การเดินทางแบบนี้ ในบางครั้งอาจต้องมีการเดินร่วมด้วย เนื่องจากบางสถานที่ไม่มีรถเมล์ผ่าน เรามาดูตัวอย่างกันนะครับ
สมมุติว่าผมต้องการเดินทางจากที่พักไปยังมหาวิทยาลัย หากเลือกการเดินทางด้วยรถสาธารณะจะได้ผลลัพธ์ดังภาพตัวอย่างจากผลการเลือกเส้นทางจะพบว่าข้อมูลการเดินทางที่ได้จาก Google Maps นั้นยังมีความคลาดเคลื่อนเกี่ยวกับจุดขึ้นรถเมล์ เนื่องจากรถเมล์สาย 16 (อู่ศรีณรงค์ - สุรวงศ์) นั้นไม่ผ่านช่วงถนนประชาราษฏร์สาย 1 บริเวณวัดบางโพโอมาวาส แต่จะผ่านช่วงโรงเรียนพณิชยาการบางโพ (ตรงสี่แยกไปท่าน้ำบางโพ) และหากผมเลื่อนจุดเริ่มต้นการเดินทาง (A) มาบริเวณต้นซอยประชานฤมิตรจะพบว่า Google Maps นั้นจะเปลี่ยนสายรถเมล์ให้จากสาย 16 เป็น 505 แล้วไปต่อรถเมล์สาย 93 ดังภาพตัวอย่าง ซึ่งทั้งสองวิธีการเดินทางนั้นถูกต้องทั้งคู่ (สามารถเดินทางได้ทั้งรถเมล์สาย 16 และ 505)จากตัวอย่างการใช้งานเบื้องต้น พบว่าแม้จะมีความเคลื่อนอยู่บ้างแต่ก็ยังดีกว่าไม่มีทางเลือกสำหรับการเดินทางโดยเฉพาะรถสาธารณะ ครับ!!!
โดยส่วนตัวผมคิดว่า หากทาง Google ได้ทำการปรับปรุงข้อมูลให้มีความถูกต้องมากกว่านี้จะทำให้ผลลัพธ์ที่ได้ออกมาตรงกับความเป็นจริงมากยิ่งขึ้น ซึ่งการปรับปรุงข้อมูลนั้นจำเป็นอย่างยิ่งที่ต้องอาศัย ระยะเวลา งบประมาณ บุคคลกร และเทคโนโลยีต่างๆที่เกี่ยวข้อง ดังนั้นผมจึงขอเอาใจช่วยให้พี่ใหญ่ใจดีอย่าง Google ได้มีการพัฒนาอย่างต่อเนื่อง เพื่อที่จะได้อยู่กับผู้นิยมใช้ของฟรีและดี อย่างกระผมไปอีกนานๆ ครับ

Tuesday, August 11, 2009

สร้างเส้นชั้นความสูงง่ายๆด้วย gdal_contour (ของฟรีและดีก็มีในโลก)

วันนี้ขอนำเสนอวิธีการสร้างเส้นชั้นความสูงจากข้อมูลแบบจำลองระดับสูงเชิงเลข (Digital Elevation Model - DEM) ด้วยโปรแกรม FWTOOLS การทำงานนั้นอาศัยการสั่งงานแบบ command line โดยทุกท่านเรัียนรู้ได้ดังตัวอย่างการใช้งานดังต่อไปนี้
ก่อนอื่นทุกท่านต้องมีโปรแกรม FWTOOLS (ที่เราจะใช้จริงๆคือ คลังโปรแกรม GDAL/OGR ที่ผนวกเข้ามาอยู่ในโปรแกรม FWTOOLS เรียบร้อยแล้ว) เสียก่อนหากยังไม่มีสามารถดาวน์โหลดได้ ที่นี่ ครับ
หลังจากติดตั้งโปรแกรมเรียบร้อยแล้วให้ทุกท่านเข้าสู่โปรแกรมในโหมด FWTOOLS Shell โดยการเลือกที่ไอคอนบนหน้าเดสทอป หรือเลือกที่ Start --> Programs --> FWTools 2.x.x--> FWTools Shell ต่อมาให้เปลี่ยนไดเรกทอรีไปยังที่จัดเก็บข้อมูลแบบจำลองระดับสูงเชิงเลข ดังภาพตัวอย่าง
ภาพตัวอย่างคำสั่งเปลี่ยนไดเรกทอรี

เมื่อเปลี่ยนไดเรกทอรีมายังที่จัดเก็บข้อมูลแบบจำลองระดับสูงเชิงเลขแล้วให้ทำการสั่งคำสั่งการสร้างเส้นชั้นความสูงอย่างง่ายดังไวยากรณ์ดังนี้
>>gdal_contour -i [interval] -a [attribute] input_file output_file
ตัวอย่างการสร้างเส้นชั้นความสูงมีดังนี้
>>C:\GDEM>gdal_contour -i 20 -a "height" GDEM.tif contour.shp
ตัวอย่างผลลัพธ์ที่ได้มีดังภาพต่อไปนี้
ภาพตัวอย่างเส้นชั้นความสูงที่ได้จากการใช้ gdal_contour

!!!!ข้อควรระวัง!!!!
  • หน่วยของระยะห่างเส้นชั้นความสูง (Interval) เป็นหน่วยเดียวกับระบบอ้างอิงเชิงตำแหน่ง เช่น ระบบพิกัดกริดจะมีหน่วยเป็นเมตร เป็นต้น
  • ชื่อของข้อมูลอรรถาธิบาย (Attribute) ควรมีเครื่องหมาย " " เพื่อความไม่กำกวมของคำสั่ง
  • หากไม่ีการกำหนดรูปแบบไฟล์ผลลัพธ์โปรแกรม gdal_contour จะใช้รูปแบบ ERSI Shapefile เป็นค่าเริ่มต้น
  • สำหรับการใช้งานในประเทศไทย เพื่อความสะดวกควรแปลงระบบอ้างอิงเชิงตำแหน่งให้อยู่ในระบบพิกัดกริด UTM ด้วยคำสั่ง gdalwarp เสียก่อน

Wednesday, August 5, 2009

Fwtools 2.4.3 ออกแล้วครับ...

ช่วงนี้ใกล้สอบ Numerical Analysis in Geomatics ทำให้ไม่ค่อยมีเวลามาเพิ่มเติมเนื้อหาสักเท่าไหร่ วันนี้ขอแนะนำแค่ซอฟต์แวร์ที่มีการออกรุ่นใหม่เท่านั้นนะครับ
Fwtools เวอร์ชันล่าสุด (2009/08/05) คือ 2.4.3 ดาวน์โหลดได้ ที่นี่ ครับ