Skip to content

Prajuab Riabroy's Blog

Survey Application – GNSS – UAV – Programing – Python – Dart&Flutter – Rust

Menu
  • Home
  • About Us
  • Survey Application
    • Surveyor Pocket Tools
    • Traverse Pro
    • XSection Plot
    • Geoid Height Pro
    • Spot Fire
    • โปรแกรมงานสำรวจสำหรับเครื่องคิดเลข Casio fx-5800P
    • โปรแกรมงานสำรวจสำหรับเครื่องคิดเลข Casio fx-9860G II SD
  • Download
  • Privacy Policy
Menu

สนุกกับโปรแกรมเครื่องคิดเลขสำหรับงานสำรวจ ตอนที่ 2 โปรแกรมแปลงพิกัด “UTM2Geo” บนเครื่องคิดเลข Casio FX 5800P

Posted on 15/06/2017

โปรแกรม “UTM2Geo” สำหรับเครื่องคิดเลข Casio FX 5800P

  • สวัสดีครับผู้อ่านทุกท่าน พบกันตอนนี้เป็นตอนที่ 2 แล้วครับ ตอนแรกนำเสนอโปรแกรม “Geo2UTM” แปลงพิกัดจากคาพิกัดภูมิศาสตร์ (แลตติจูด/ลองจิจูด) ไปเป็นค่าพิกัดบนระบบพิกัดฉาก UTM มาตอนนี้กลับกันครับ เราจะมาเขียนโปรแกรมที่แปลงพิกัดจากระบบพิกัดฉากยูทีเอ็มไปเป็นค่าพิกัดภูมิศาสตร์
  • มาเขียนบทความที่นี่ให้กับ kns-engineering เป็นการเฉพาะกิจ สำหรับเพื่อนพี่น้องชาวสำรวจแวะไปเยี่ยมเยียนผมได้ที่บล็อกประจำ priabroy.name

เกร็ดความรู้เล็กน้อยสำหรับช่างสำรวจ

  • ก่อนจะเข้าไปว่าเรื่องโปรแกรมมิ่งบนเครื่องคิดเลข ขอซักซ้อมความรู้เซอร์เวย์สักเล็กน้อย มีสองอย่างคือมุม อะซิมัท (Azimuth) และฟังก์ชัน Atan2 สองอย่างนี้เกี่ยวพันกับเรื่องโปรแกรมในด้านการสำรวจเสียส่วนใหญ่ (แต่งานคำนวณแปลงพิกัดนี้ไม่ได้ใช้)
  • มุมอะซิมัทเป็นมุมที่แสดงทิศทางในด้านงานสำรวจของเรา เป็นมุมที่กวาดจากทิศเหนือตามเข็มนาฬิกา สมมติว่ามีจุด A มีค่าพิกัด (x,y,) = (500,500) และจุด B มีค่าพิกัด (x,y) = (586.603,550) คำถามพื้นฐานก็คือ
    • อะซิมัทจากจุด A ไปจุด B เท่าไหร่
    • อะซิมัทจากจุด B ไปจุด A เท่าไหร
    • ระยะทางหรือระยะราบเท่าไหร่ระหว่างจุดทั้งสอง

  • ระยะราบหาได้จากสูตรตรีโกณมิติสามัญพื้นฐาน ระยะราบ = √((500-586.603)² + (500-550)²) = 100 เมตร
  • แล้วอะซิมัทละคำนวณอย่างไร การคำนวณจะมาเกี่ยวพันกับเครื่องคิดเลขของเราอย่างแนบแน่น ฟังก์ชัน Atan2 เรียกกันบนเครื่องคอมพิวเตอร์ (ใครเขียนโปรแกรมบนเครื่องคอมพิวเตอร์จะรู้จักฟังก์ชั่นนี้ดี มีทุกภาษา) เที่ยบเท่าบนเครื่องคิดเลขก็คือ Pol() คือฟังก์ชั่นการที่จะมาช่วยย่นการคำนวณนี้
  • Atan2 ดั้งเดิมจะคำนวณหามุมที่กวาดจากแกน X ทวนเข็มนาฬิกา ดังนั้นในคู่มือคาสิโอ จะเขียนฟังก์ชั่น Pol() แบบนี้ครับ ในวงเล็บ x มาก่อน  y สังเกตว่ามุม θ กวาดจากแกน X

  • แต่สำหรับมุมที่ต้องการสำหรับงานสำรวจคือมุมอะซิมัท(Azimuth) คือมุมคือกวาดจากแกน Y ลงมาตามเข็มนาฬิกา จะทำอย่างไร
  • เทคนิคเวลาใช้งานสลับเอาไว้ค่า Y มาก่อนและ X ตามหลังครับ >> Pol(y,x) จะได้มุมอะซิมัท ผมเขียนรูปใหม่ดังนี้

  • ถ้ามีเครื่องคิดเลขก็ลองกดดูเลย Pol((550-500),(586.603-500))  ผลการคำนวณเครื่องคิดเลขเอาค่าระยะทางไปเก็บไว้ในตัว “I” และมุมอะซิมัทไว้ในตัว “J” ลอง RCL (recall) มาดูจะได้ I = 100.000 และ J = 60.000 มุม 60 ก็คืออะซิมัทจาก A ไป B นั่นเอง
  • จากโจทย์ข้างบนก็ตอบได้นะครับ อะซิมัทย้อน (Backward) ก็ให้เอาอะซิมัทไป (Forward) ± 180 ถ้ามากกว่า 180 ให้เอา 180 ไปลบ ถ้าน้อยกว่า 180 ให้เอา 180 ไปบวก ดังนั้นอะซิมัทจาก B มา A จะได้ = 60 + 180 = 240 
  • มุมอะซิมัทเป็นมุมมหัศจรรย์สำหรับช่างสำรวจ มหัศจรรย์ยังไงตอนหน้ามาว่ากันต่อ ตอนนี้ไปต่อเรื่องโปรแกรมกัน

โค๊ดโปรแกรม UTM2Geo

  • เหมือนเดิมนั่งแกะโปรแกรมทีละเม็ดแล้วเขียนลงในเวิร์ด แล้วตรวจทานสอง สามเที่ยว น้ำตาไหลพราก  ผมก็คิดเหมือนกันว่าผู้อ่านไปคีย์โปรแกรมตามที่ผมลิสต์ออกมาคงไม่ใช่เรื่องสนุก เอาอย่างนี้ ถ้าไม่อยากคีย์โปรแกรมเอง ติดต่อน้องๆที่ท้ายบล็อกผมจะลงชื่อไว้เพื่อขอดูดโปรแกรม มีข้อแม้เล็กๆน้อยๆว่าเครื่องต้องเป็นเครื่อง Casio Fx-5800P รุ่นเดียวกันและพกสายลิ๊งค์มาด้วยตัวเอง

ต้วอย่างที่ 1

  • สำหรับท่านที่ต้องการป้อนโปรแกรมลงในเครื่องคิดเลข วิธีป้อนโปรแกรมเลงเครื่องคิดเลขคงไม่ต้องสาธยายนะครับเพราะคงคุ้นเคยกันอยู่ มาดูการใช้งาน สมมติว่ามีหมุดที่มีค่าพิกัดฉาก UTM ดังนี้
    • Northing = 1,615,517.540 Easting = 395,698.272 Zone 47N อยู่บนพื้นหลักฐาน WGS84
  • เรียกโปรแกรม ด้วยการกด “Prog” แล้วเลือกโปรแกรม “UTM2Geo“

  • ป้อนค่าพิกัด Norhting, Easting

  • ต่อไปโปรแกรมจะถาม Zone No ลำดับโซนหมายเลขที่เท่าไหร่ ถ้าโซนอยู่ด้านเหนือเส้นศูนย์สูตรให้ป้อนค่าบวกเช่น 47N ก็ป้อนตัวเลขธรรมดาไปครับ แต่ถ้าอยู่ใต้เส้นศูนย์สูตรป้อนเป็นตัวเลขลบ ในที่นี้ป้อนตัวเลข 47 เข้าไปดังรูป

ผลลัพธ์ของโปรแกรม

  • มาดูผลลัพธ์กันครับ

  • ผมเอาค่าพิกัดฉากนี้ไปป้อนในโปรแกรมแปลงพิกัด UTM-Geo Converter ที่อยู่ใน Surveyor Pocket Tools ก็ได้ตรงกันครับ แต่ทศนิยมในเครื่องคิดเลขที่ฟิลิปดาได้เต็มที่สองตำแหน่ง (น่าเสียดาย ทศนิยมของฟิลิปดาตำแหน่งที่สอง เทียบเป็นหน่วยเมตริกแล้วได้แค่ระดับหลักสิบเซนติเมตร) ถ้าต้องการหลักมิลลิเมตรก็ต้องบนคอมพิวเตอร์แล้วครับ แต่สำหรับเครื่องคิดเลขคิดมาได้ขนาดนี้ผมก็โอเคแล้วครับ

 ตัวอย่างที่ 2

  • สมมติว่าผู้อ่านมีโอกาสไปทำงานต่างประเทศไกลๆ มาลองค่าพิกัดที่อยู่โซนตะวันตกและอยู่ใต้เส้นศุนย์สูตรกันดูครับ สมมติว่าค่าพิกัดนี้อยู่ในบราซิลครับ ชีวิตจริงไม่เคยไปถึงทวีปอเมริกาครับ ไกลสุดแค่ยุโรปกับทวีปอาฟริกา
    •  Northing = 7,721,526.876 Easting = 505,464.207 Zone 24S บนพื้นหลักฐาน WGS84
  • พร้อมแล้วเรียกโปรแกรมป้อนตัวเลขกันเลย

 

  •  ต่อไปหมายเลขโซนให้ป้อนตัวเลขเป็นลบ -24 เพราะอยู่ใต้เส้นศูนย์สูตร

  • มาดูผลลัพธ์กัน จะได้ค่า Latitude = -20°36’19.28″ ค่าเป็นลบแสดงว่าอยู่ใต้เส้นศูนย์สูตร ได้ค่า Longitude = -38°56’51.220″ ได้ค่าเป็นลบแสดงว่าอยู่ทางด้านตะวันตกของตำบลกรีนนิช ของอังกฤษ (ตำบลกรีนนิชค่าลองจิจูด = 0)

  • เปรียบเทียบกับ Surveyor Pocket Tools เท่ากัน

  • ทรรศนะส่วนตัวผมมีโปรแกรมแปลงพิกัดติดเครื่องคิดเลขรุ่นนี้ FX – 5800P ทำให้เครื่องคิดเลขดูเทพขึ้นมาทันตาเห็น 🙂 สองโปรแกรมนี้กินเม็มไปจิ๊บๆครับ
  • ตอนหน้ามาว่าเรื่องยากขึ้นไปอีกนิด การคำนวณระยะทางที่สั้นที่สุดบนทรงรี (Geodesic distance) สูตรลากกันยาวเฟื้อย ตัวแปรบนเครื่องคิดเลขใช้หมดเกลี้ยงต้องไปดึงตัวอนุกรมมาช่วยด้วย ถ้าพิมพ์โปรแกรมตามผมต้องร้องว่า “เจ็บกว่านี้มีอีกไหม“
  • ตอนหน้ามาว่ากัน แต่ผมบอกก่อนว่าในฐานะช่างสำรวจ เรื่อง  geodesic distance บางครั้งเราใช้มันอย่างไม่รู้ตัว และไม่ใช่เรื่องไกลตัว ขอฝากน้องๆไว้ครับ มีความรู้ก็ใส่ตัวก็ใช่ว่าจะต้องไปเหนื่อยแบกหามตามโบราณที่ว่าไว้

ติดต่อขอลิ๊งค์โปรแกรม

  • ติดต่อคุณนันทวุฒิ อึ้งตระกูลได้ครับสำหรับลิ๊งค์ดูดโปรแกรม ผมจะฝากโปรแกรมไว้ที่นั่น แต่ถ้าใจไม่ร้อน รอบทความอีกสักสอง สามตอนจบก่อนก็ดี (เพราะบางโปรแกรมที่จะนำเสนอยังไม่ได้เขียนลงเครื่องคิดเลข)
  • สังคมจะน่าอยู่ ถ้าแบ่งปันกันและเอื้อเฟื้อเผื่อแผ่สำหรับคนที่มีโอกาสน้อยกว่า พบกันตอนใหม่ครับ

Related

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

October 2026
M T W T F S S
 1234
567891011
12131415161718
19202122232425
262728293031  
« Sep    

Blog Stats

There was an issue retrieving stats. Please try again later.

Recent Posts

  • เร็วแรงทะลุนรกกับ POCUT (POint Cloud UTils)
  • อัพเดทแอพ “SurveyStar LDP Thailand” เพื่อรับกับยกร่างมาตรฐาน “TH-LDP”
  • ออกแอพใหม่ SurveyStar Traverse Pro สืบสานงานคำนวณวงรอบ ตอนที่ 2
  • ออกแอพใหม่ SurveyStar Traverse Pro สืบสานงานคำนวณวงรอบ ตอนที่ 1
  • โปรแกรมอรรถประโยชน์ Pocut (POint Cloud Utils)
  • โปรแกรมแปลงไฟล์แคดข้ามระบบพิกัด (Drawing Transformer)
  • มาตรฐานระบบพิกัดแผนที่แบบแอลดีพีของประเทศไทยสำหรับงานวิศวกรรมและการก่อสร้าง (Thailand Low Distortion Map Coordinate System for Engineering and Construction)
  • ประสบการณ์ใช้งาน Kimi K3 Code เขมือบแบบสยอง
  • สร้างแพลตฟอร์มดู Point Cloud บนเว็บด้วย Potree + CesiumJS — เรื่องเล่าจากสนามบินอู่ตะเภา
  • เมื่อวิศวกรสำรวจคำนวณเรื่องน้ำ – วิเคราะห์ระบบระบายน้ำบริเวณ RESA
  • แนะนำหนังสือ “จีออเดซี” ที่ยอดเยี่ยมของดร.พุทธิพล
  • ESPrtk ทำให้ ESP32 ใช้ไม่ได้? วิธีกู้คืน
  • กรณีศึกษา – คืนชีพ SDL30 ปี 2000 ด้วย ESP32 และแอพทำเอง SDL30 Collector
  • DIY RTK Base Station (survey-grade) รุ่น V3.21 ด้วย Raspberry Pi 2B + UM980 เมื่อคุณปู่กลับมาเป็นฮีโร่ ตอนที่ 4
  • รีวิวกูปรี (CoPre2) โปรแกรมประมวลผลไลดาร์จากค่าย CHCNav
  • DIY RTK Base Station (survey-grade) รุ่น V3.2 ด้วย Orange Pi 3 Zero + UM980 ตอนที่ 3
  • DIY RTK Base Station (survey-grade) รุ่น V3 ด้วย Orange Pi 3 Zero + UM980 ตอนที่ 2
  • เส้นทางและไทม์ไลน์ของใบรับรองความรู้ความชำนาญในการประกอบอาชีพวิศวกรรม(สำรวจ)ระดับวิศวกรวิชาชีพ
  • มัดแหนมรวมสามโปรแกรมไปใช้บนสโตร์ Snap ฝั่งลีนุกซ์
  • ปัดฝุ่น Traverse Pro เพิ่มรายละเอียดรายการคำนวณใหม่แบบแนวนอน (Landscape) และธีมมืด
  • DIY RTK Base Station (Survey-Grade) ด้วยชิป UM980 และบอร์ด ESP32 ตอนที่ 1
  • สร้าง NTRIP Caster ด้วย BNC บนคลาวด์แบบ DIY สำหรับ RTK Base Station ใช้ CHCNav P5
  • จับ AI มาไตรกรีฬา สร้างตัวติดตั้ง Snap สำหรับ Surveyor Pocket Tools กับประเด็นแฝงเร้นความเป็นส่วนตัวของผู้ใช้
  • ทดสอบรีด QGIS แบบโหดสัสด้วยชุดข้อมูล Open Building V3 โพลีกอน 74 ล้านหลัง
  • เมื่อ AI เป็นพิษชักจูงผู้ใช้ด้วยข้อมูลผิดๆ

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 122 other subscribers

Archives

  • October 2026
  • September 2026
  • August 2026
  • July 2026
  • May 2026
  • April 2026
  • March 2026
  • January 2026
  • December 2025
  • November 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • July 2024
  • May 2024
  • April 2024
  • January 2024
  • November 2023
  • October 2023
  • September 2023
  • July 2023
  • June 2023
  • May 2023
  • March 2023
  • February 2023
  • January 2023
  • November 2022
  • October 2022
  • September 2022
  • July 2022
  • May 2022
  • December 2021
  • October 2021
  • September 2021
  • August 2021
  • May 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • September 2019
  • August 2019
  • July 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • January 2018
  • November 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • August 2016
  • November 2015
  • March 2015
  • August 2014
  • March 2014
  • January 2014
  • December 2013
  • February 2012
  • January 2012
  • November 2011
  • October 2011
  • August 2011
  • April 2011
  • February 2011
  • December 2010
  • November 2010
  • October 2010
  • September 2010
  • June 2010
  • April 2010
  • March 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • September 2009
  • August 2009

Recent Comments

  • priabroy on ออกแอพใหม่ SurveyStar Traverse Pro สืบสานงานคำนวณวงรอบ ตอนที่ 1
  • Konexana Yomleuangsa on ออกแอพใหม่ SurveyStar Traverse Pro สืบสานงานคำนวณวงรอบ ตอนที่ 1
  • เฟือง เถา on DIY RTK Base Station (survey-grade) รุ่น V3.21 ด้วย Raspberry Pi 2B + UM980 เมื่อคุณปู่กลับมาเป็นฮีโร่ ตอนที่ 4
  • priabroy on DIY RTK Base Station (survey-grade) รุ่น V3.21 ด้วย Raspberry Pi 2B + UM980 เมื่อคุณปู่กลับมาเป็นฮีโร่ ตอนที่ 4
  • ตรันฟองนาม on DIY RTK Base Station (survey-grade) รุ่น V3.21 ด้วย Raspberry Pi 2B + UM980 เมื่อคุณปู่กลับมาเป็นฮีโร่ ตอนที่ 4
©2026 Prajuab Riabroy's Blog | Design: Newspaperly WordPress Theme