ก๊วนซอฟท์แวร์ </softganz> SoftGang (Gang Software)

Web &amp; Software Developer Gang.

Topic List

โดย Little Bear on 11 ก.ค. 56 14:30

เคยใช้ jquery.ui.map.js อยู่มาพักใหญ่แล้ว มีความรู้สึกว่าจะใช้งานยากพอสมควร วันนี้เลยเล็งหาเครื่องมือสำหรับทำ Google map ใหม่ ค้นเจออยู่ 2 ตัวที่น่าสนใจ คือ

  1. GMaps : gmaps.js - ตัวนี้สามารถใช้งานได้เลยโดยไม่ต้องพึงพา jQuery การใช้งานจะต้องสร้าง object ด้วย map=new GMaps() โดยในขั้นตอนสร้างสามารถส่งพารามิเตอร์และกำหนด event ได้เลย และการทำงานอื่น ๆ สามารถเรียกใช้ map.method() ได้ในภายหลัง

  2. Gmap3 : gmap3.js - ตัวนี้จะต้องใช้งานกับ jQuery การใช้งานจะเรียกผ่าน $("#test").gmap3() ซึ่งน่าจะสะดวกในการใช้งานดี แต่พอลองเข้าไปดูวิธีการส่งพารามิเตอร์ มีความรู้สึกว่าซับซ้อน การอ้างอิงถึงในภายหลังอาจจะยุ่งยาก น่าจะเหมาะสำหรับการสร้างแผนที่ที่ไม่ต้องการความซับซ้อนในขั้นตอนการสร้าง แต่เห็นในตัวอย่างก็สามารถสร้างแผนที่ซับซ้อนได้แม้ว่าจะอ่านโค๊ดแล้วออกจะอ่านยากสักหน่อย

  3. jquery.map.ui : jquery.map.ui.js - ตัวนี้เคยใช้งานมาก่อนแล้ว วิธีการจะคล้าย ๆ กับ Gmap3 คือใช้ร่วมกับ jQuery เรียกผ่าน $("#map_canvas").gmap()

  4. Google Maps Javascript API V3 Reference ของแถม เป็นเอกสารคู่มือของ Google ที่สุดแสนจะเข้าใจยากมาก ๆ เอ้า!!! พยายามอ่านกันหน่อย

โดย Little Bear on 21 ก.พ. 56 13:55

บทความนี้ไม่ได้เขียนเองนะครับ แต่เห็นว่ามีประโยชน์ ก็เลยเอามาเผยแพร่ต่อ

เทคนิคการแปลงหน่วยในระบบพิกัดแบบ DMS และ DD จากเครื่อง GPS

การแสดงพิกัดบนเครื่อง GPS (Global Positioning System) ที่เราใช้อยู่โดยทั่วไปในบ้านเรา (ไทยแลนด์) จะนิยมใช้แค่สองระบบเท่านั้น คือ พิกัดภูมิศาสตร์ และพิกัดกริด UTM (Universal Transverse Mercator) การอ่านค่าในระบบพิกัด UTM นั้นไม่ยุ่งยากเท่าไหร่ เพราะอ่านตัวเลขตามค่า East (ค่า X) และ ค่า North (ค่า Y) และ หน่วยของ UTM เป็นเมตรอยู่แล้ว แต่การอ่านค่าระบบพิกัดภูมิศาสตร์นั้นค่อนข้างยุ่งยากเล็กน้อย เพราะเครื่อง GPS บางรุ่น บางยี่ห้อแสดงค่าพิกัดภูมิศาสตร์ในหน่วยแบบที่เรียกว่า องศา ลิปดา ฟิลิปดา (DMS : Degree Minute Second) หรือแสดงเป็นหน่วยในระบบพิกัดแบบค่าตัวเลขทศนิยม (DD : Decimal Degree) เพื่อนำไปใช้ในคอมพิวเตอร์ ฉะนั้นเมื่อเราต้องการใช้งานแบบใดแบบหนึ่ง จึงต้องมีการแปลง (Convert) ค่าหน่วย DMS เป็น DD หรือ DD เป็น DMS วันนี้จะบอกเทคนิควิธีการแปลงค่าหน่วยเหล่านั้น

ก่อนอื่นมารู้จักค่าพิกัดภูมิศาสตร์แบบที่เรียกว่า องศา ลิปดา ฟิลิปดา เป็นหน่วยแบบ DMS (Degree Minute Second) เหมือนกับหน่วยของเวลา บอกเวลาเป็น ชั่วโมง นาที และวินาที

ค่าองศา (Degree) 1 องศา มี 60 ลิปดา
ค่าลิปดา (Minute) 1 ลิปดา มี 60 ฟิลิปดา
ฟิลิปดา (Second) 1 ฟิลิปดา มีค่าระยะทางประมาณ 30.48 ม. หรือ 100 ฟุต บริเวณศูนย์สูตร

ตัวอย่างเช่น อำเภอหาดใหญ่ ตั้งอยู่ที่ค่าพิกัดภูมิศาสตร์ ละติจูด 100 องศา 27 ลิปดา 15 ฟิลิปดา เหนือ, ลองกิจูด 7 องศา 2 ลิปดา 25 ฟิลิปดา ตะวันออก

ส่วนหน่วยแบบ DD (Decimal Degree) หมายถึง ค่าตัวเลขทศนิยม ที่เป็นเลขฐานสิบในหน่วยแบบ DD

ตัวอย่างเช่น อำเภอหาดใหญ่ ตั้งอยู่ที่ค่าพิกัดภูมิศาสตร์ ละติจูด 100.45416 เหนือ, ลองกิจูด 7. 040277 ตะวันออก

เทคนิควิธีการแปลงค่าหน่วยเหล่านั้นมี 2 วิธี ดังนี้

วิธีแรก ใช้บริการของเวบไซต์ เป็นวิธีง่ายที่สุด เพียงนำค่าพิกัด DD หรือ DMS มาแปลงในเวบไซต์ดังข้างล่างนี้ ก็จะสามารถแปลงค่าพิกัดได้ง่าย รวดเร็วทันใจ www.gpsvisualizer.com

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

วิธีการแปลงหน่วยในระบบพิกัดแบบ DMS เป็นแบบ DD เราจะนำค่า DMS มาแปลงเป็นหน่วยในระบบพิกัดแบบค่าตัวเลขทศนิยม DD (Decimal Degree) เพื่อนำไปใช้ในคอมพิวเตอร์ได้โดยผ่านสมการนี้

DD = Degree+(Minute*60+Second)/3600

หรือ

DD = (Seconds/3600) + (Minutes/60)+ Degrees

ตัวอย่าง แปลงค่าพิกัดในหน่วย DMS ให้เป็น DD เช่น อำเภอหาดใหญ่ ตั้งอยู่ที่ ละติจูด 100 องศา 27 ลิปดา 15 ฟิลิปดา เหนือ ลองกิจูด 7 องศา 2 ลิปดา 25 ฟิลิปดา ตะวันออก

จาก สมการ DD = Degree+(Minute*60+Second)/3600

จะได้ ละติจูด = 100+(27*60+15)/3600 = 100.45416

ลองกิจูด = 7+(2*60+25)/3600 = 7.040277

หรือจาก สมการ DD = (Seconds/3600) + (Minutes/60)+ Degrees

จะได้ ละติจูด = (15/3600)+(27/60)+100 = 100.45416

ลองกิจูด = (25/3600)+(2/60)+7 = 7.040277

ดังนั้น ค่า DD ที่ตั้งอำเภอหาดใหญ่อยู่ที่ ละติจูด 100.45416 เหนือ, ลองกิจูด 7. 040277 ตะวันออก วิธีการแปลงหน่วยในระบบพิกัดแบบ DD เป็นแบบ DMS ทำได้ 2 วิธี

วิธีที่ 1 ใช้โปรแกรม Calculator ใน เครื่องคอมพิวเตอร์ที่ลงซอฟแวร์ปฎิบัติการ Windows 95/98/NT 4/2000/XP/Vista โดยทำตามขั้นตอนดังนี้

  1. เลือก START แล้วเลือก Programs->Accessories->Calculator
  2. จากโปรแกรม Calculator เลือก View menu และเลือก Scientific
  3. พิมพ์ค่าพิกัดในรูปแบบ DD เช่น 100.45416
  4. แล้วกดปุ่ม dms
  5. จะแสดงค่าพิกัด DMS ขึ้นมา คือ 100.2714976 หมายถึง 100 องศา 27 ลิปดา 15 ฟิลิปดา

วิธีที่ 2 เป็นการคำนวณด้วยมือง่าย ๆ โดยทำตามขั้นตอนดังนี้

  1. จากค่าตัวเลขพิกัดในรูปแบบ DD ตัวอย่างเช่น 100.45416 ตัวเลขก่อนหน้าจุดทศนิยม จะเป็นค่าของหน่วยองศา ในที่นี่คือ 100 องศา
  2. ให้นำตัวเลขหลังทศนิยมคูณด้วย 60 เช่น .45416 x 60 = 27.2496
  3. จากค่าที่คำนวณได้ 27.2496 ตัวเลขก่อนหน้าจุดทศนิยม จะเป็นค่าของหน่วยลิปดา ในที่นี่คือ 27 ลิปดา
  4. ให้นำตัวเลขหลังทศนิยมจากผลคูณในข้อ 2 คูณด้วย 60 เช่น .2496 x 60 = 14.976
  5. จากค่าที่คำนวณได้ 14.976 ตัวเลขก่อนหน้าจุดทศนิยม จะเป็นค่าของหน่วยฟิลิปดา ในที่นี่ปัดทศนิยมเป็น 15 ฟิลิปดา
  6. เมื่อนำตัวเลขมาอ่านรวมกันจะได้ 100 องศา 27 ลิปดา 15 ฟิลิปดา เหมือนกับคำนวณด้วยเครื่องคิดเลขเลย

ใครถนัดแบบไหนลองเลือกใช้ดูนะครับ

ขอบคุณแหล่งข้อมูล www.gpsvisualizer.com , www.mass.gov

อานันต์ คำภีระ

ศูนย์ภูมิภาคเทคโนโลยีอวกาศและภูมิสารสนเทศ ภาคใต้ คณะการจัดการสิ่งแวดล้อม มหาวิทยาลัยสงขลานครินทร์ anan.k@psu.ac.th www.rsgis.psu.ac.th

ที่มา www.rsgis.psu.ac.th , www.smart-mobile.com

โดย Little Bear on 1 ส.ค. 55 14:55

งานในช่วงหลังนี้ มักจะเกี่ยวข้องกับ GIS เสียเป็นส่วนมากเลย พยายามถามผู้รู้ทางด้านนี้

เกี่ยวกับ UTM

UTM 696677 717189 47 มี 3 ค่าที่เกี่ยวข้อง คือ Easting , Northing , Zone

สงขลาจะเป็น Zone 47

ตัวเลขทั้ง 6 หลักมีความหมายคือ

  • หลัก 1 (6) เป็นตัวเลขที่อ้างอิงกับ Zone (ไม่ใช่ค่าของ Zone แต่ถ้ารู้ Zone ก็สามารถละได้)
  • หลัก 2-4 (966) เป็นตัวเลขบอกระยะทางเป็นเมตร
  • หลัก 5-6 (77) เป็นตัวเลขบอกระยะทางเป็นเซนติเมตร

website สำหรับแปลงค่าจาก UTM เป็น Lat/Lon เช่น www.rcn.montana.edu

ไฟล์ xls สำหรับแปลง UTM เป็น Lat/Lon