ถือว่าเป็นโน๊ตกันลืมสำหรับผมก็แล้วกัน ในงาน Bathymetric survey เอง ถ้าเป็นเรือเล็กๆ เราจะใช้ RTK ตัวเดียวก็เอาอยู่ ถึงแม้ตอนอยู่นิ่งๆมันจะหมุนในหน้าจอ Hypack ก็ตาม เนื่องจากเรือขนาดเล็กคล่องตัว บังคับง่าย เลี้ยวง่าย แต่ถ้าเป็นเรือใหญ่ขึ้นมาการเปลี่ยนทิศทางจะทำได้ยากกว่า ช้ากว่า ถ้าเรือใบจักรเดียวก็ยิ่งช้า ถ้าใบจักรคู่อาจจะเร็วขึ้นมาหน่อย แต่สุดท้ายคนขับเรือสำรวจและช่างสำรวจก็อยากได้ทิศทางหรือ heading เพราะมองหน้าจอแล้วบังคับเรือเข้า survey line ได้ง่ายกว่า สำหรับเรือสำรวจใหญ่ๆที่มีภารกิจมากกว่า Bathymetric survey เช่นงานวัด seabed ด้วยระบบ seismic…
วิธีการออกแบบและรังวัดโครงข่าย GNSS ฉบับคนเดินถนน (ตอนที่ 3)
Leica Infinity vs CHC Geo Office เนื่องจากตอนที่สองผมได้นำ Leica Geo Office (LGO) มวยแทนที่อายุมากแล้วมาขึ้นเวที ตอนนี้ได้ Leica Infinity ต่อไปจะขอเรียกย่อๆว่า LI ที่สดกว่าขึ้นมาประกบกับ CHC Geo Office จากค่ายจีนแผ่นดินใหญ่เรียกย่อๆว่า CGO ที่มาปักหลักอยู่ในไทยนานพอสมควรแล้ว ว่าผลลัพธ์จะออกมาอย่างไร CHC Geo Office สำหรับผมแล้วที่ผ่านมาเป็นแฟนคลับของ Trimble Business Center…
นำ Rust Geodesy ดำดิ่งสู่ไมโครคอนโทรลเลอร์ ESP32
Rust Geodesy คือไลบรารีสำหรับงานยีออเดซี ตอนที่แล้วผมคอมไพล์โค้ดของ Rust ที่ใช้ไลบรารี Rust Geodesy หรือเรียกสั้นๆว่า RG ถึงแม้ผู้พัฒนา RG จะย้ำว่าไม่ใช่มาแทนไลบรารี PROJ ก็ตาม แต่ผมก็คิดว่าถ้าใช้ภาษา Rust การนำ RG มาใช้แทน PROJ ถือว่าเป็นตัวเลือกที่ดีที่สุด การไปใช้ PROJ ใน Rust มีความยุ่งยากที่จะต้องคอมไพล์ซอร์สโค้ดภาษาซี/ซีพลัสพลัสมาใช้งาน ผมได้มีโอกาสใช้ไมโครคอนโทรลเลอร์หลายตัวเพื่อสร้างอุปกรณ์ให้ทำงานบางอย่างเช่นบทความที่ผมเคยเขียนถึงอุปกรณ์ส่งระดับน้ำจากสถานีวัดระดับน้ำขึ้นคลาวด์ฟรีโดยใช้ไมโครคอนโทรลเลอร์ ESP32 และโดยเขียนโค้ดด้วยภาษาซี ทำไมต้องใช้ Rust…
Rust ภาษาแห่งกาลอนาคตที่มาถึงแล้ว กับการทดสอบไลบรารี Rust Geodesy (RG)
ผมศึกษาภาษาปาสคาลตอนเรียนอยู่มหาวิทยาลัยปีสี่อายุตอนนั้น 24 ปี เรียนภาษาปาสคาลด้วยตัวเองต่อมาใช้เขียน Traverse Pro ในขณะเดียวกันก็ศึกษา C ควบคู่ไปด้วยแต่ไม่ชำนาญ มาศึกษาไพทอนตอนอายุ 44 ปี ใช้ไพทอนเขียนโปรแกรมสำหรับ desktop ไว้หลายตัวเช่น Surveyor Pocket Tools สิบปีให้หลังอายุ 54 ปี ศึกษาภาษาดาร์ดกับฟลัตเตอร์เขียนแอพลงบนมือถือแอนดรอยด์หลายตัว เนื่องจากในยุคนี้ภาษาที่มาแรงที่สุดคือภาษา Rust ถ้าตาม timeline ผมน่าจะต้องรออายุ 64 ปีก่อนถึงค่อยศึกษา 🙂 แต่คงไม่ต้องรอนานขนาดนั้นเพราะโลกนี้ไม่แน่นอน ชีวิตยิ่งไม่แน่นอน…
ESP32 โครงการ #2 ส่งข้อมูลระดับน้ำ (Tide Station) ขึ้นคลาวด์ ThingSpeak ฟรี
โครงการที่สองยังเป็นโครงการใช้ไมโครคอนโทรลเลอร์เหมือนเดิม ผมเลือกใช้ ESP32 แทนที่จะเป็น Pico W เหมือนโครงการแรก และโปรแกรมด้วยภาษาซี บอร์ด ESP32 ผลิตโดยบริษัท Espressif จากจีนแผ่นดินใหญ่ และในวงการไมโครคอนโทรลเลอร์เองก็ยอมรับว่าไมโครคอนโทรลเลอร์ ESP32 ได้รับการออกแบบมาอย่างดี ซีพียูเร็วแกนคู่ กินพลังงานต่ำ มีแรมที่เพียงพอสำหรับการรันโปรแกรมสำหรับงาน iOT ต่างๆได้และที่สำคัญคือมันมีราคาถูกมากๆ (หลักร้อยบาท) ความเป็นมาของโครงการ สถานีวัดระดับน้ำ (Tide Station) ใช้ของยี่ห้อ Valeport รุ่น Tide Master ตัวเครื่องวัดระดับน้ำไม่มีอะไรมาก…
Pico W โครงการ #1 ทดลองประดิษฐ์ Pico Echo Sounder จากทรานสดิวเซอร์ Airmar DT800
ผมว่างเว้นจากไม่ได้จับบอร์ดไมโครคอนโทรลเลอร์ไปพักใหญ่หลายปี เมื่อสิบกว่าปีที่แล้วเคยจับ Arduino เขียนโค้ดด้วยภาษาซี ก็สนุกดีได้ความรู้พอสมควร มาในปัจจุบันเป็นยุคของไอโอที (iOT : Internet of Thing) เป็นยุคของอินเทอร์เน็ตของสิ่งของที่ไม่ใช่อินเทอร์เน็ตของมนุษย์ สร้าง Echo sounder จากทรานสดิวเซอร์ Airmar DT800 มีโอกาสมาจับบอร์ด Raspberry Pi Pico W เพราะต้องการเอาทรานสดิวเซอร์ Airmar DT800 ที่ผมซื้อมาเพื่อจะทำเรือรีโมทแต่โครงการล้มไปก่อน อาจจะมารื้อฟื้นอีกทีก็ได้ ในตัวทรานสดิวเซอร์ Airmar DT800 ข้างในฝังด้วยชิปวงจรที่แปลงค่าความลึกที่อ่านได้จากทรานสดิวเซอร์…
เปิดตัวแอพ SurveyStar Quick TM
ในที่สุดก็ได้ฤกษ์เบิกโรงวันที่ 22 พค. 2567 (วันวิสาขะบูชา) ที่ผ่านผมได้ส่งแอพ SurveyStar Quick TM เพื่อให้กูเกิ้ลได้รีวิวและก็ผ่านเป็นที่เรียบร้อย โทรศัพท์มือถือแอนดรอยด์สามารถหาดาวน์โหลดกันได้ที่ SurveyStar Quick TM ช่องการติดต่อผู้พัฒนาแอพ ในกรณีมีการใช้มีปัญหาหรือหรือเจอบั๊กสามารถรายงานผ่านทางอีเมล์ในแอพได้ ที่แอพกดเมนูสามขีดแนวนอน จะเห็นเมลูลิ้นชักโผล่ออกมา เมื่อคลิกที่เมนู “Contact us” หมายถึงติดต่อมาทางผมหรือผู้พัฒนาเพื่อแจ้งปัญหา บั๊กต่างๆ แอพจะดีดเข้าแอพอีเมล์ที่ผู้ใช้ติดตั้งไว้เช่น gmail, outlook เป็นต้น นโยบายความเป็นส่วนตัวและเงื่อนไขการใช้งาน และสิ่งที่แอพแต่ละแอพที่ส่งให้กูเกิ้ลรีวิว จะต้องมีนโยบายความเป็นส่วนตัวที่แอพต้องแสดงไว้ ผมเอามาไว้ในเมนูลิ้นชักนี้เพื่อให้เข้าถึงได้สะดวก วิธีการใช้งานพอสังเขป…
คำนวณพิกัดเส้นโครงแผนที่คลาดเคลื่อนต่ำแบบ Transverse Mercator (TM) ด้วยแอพ Quick TM (กำลังพัฒนา)
เส้นโครงความคลาดเคลื่อนต่ำแบบ TM ของโครงการรถไฟความเร็วสูง ไทย-จีน เส้นโครงแผนที่แบบคลาดเคลื่อนต่ำ (Low Distortion Projection: LDP) บ้านเราได้นำมาใช้หลายโครงการแล้ว ยกตัวอย่างคือรถไฟความเร็วสูง ไทย-จีน ซึ่งเป็นแบบเส้นโครงแผนที่แบบ TM ที่เป็นกรณีพิเศษที่นำทรงรีมาขยายขนาดทรงรี WGS84 ทำให้กลายเป็น Datum ตัวใหม่ไปโดยปริยาย ส่งผลให้การคำนวณยุ่งยากซับซ้อน รายละเอียดตามได้บทความเก่าของผม หรือสามารถอ่านจากวารสารวิศวกรรมฉบับวิจัยและพัฒนาของวิศวกรรมสถานแห่งประเทศไทย ปีที่ 32 ฉบับที่ 2 เมษายน-มิถุนายน 2564 เรื่อง “ผลการศึกษาการฉายแผนที่ WGS-TM ในโครงการรถไฟความเร็วสูงไทย-จีน…
คำนวณโค้งดิ่ง (Vertical Curve) ด้วยแอพ SurveyStar Calculator
โค้งดิ่ง (Vertical curve) ส่วนใหญที่นิยมใช้เป็นรูปทรงพาราโบลา ใช้ในงานทั่วไปโดยเฉพาะงานถนนจะพบเห็นโค้งดิ่งที่เป็นโค้งวงกลมได้บ้างแต่ไม่มากนัก ที่ผมพบเห็นคือใช้ในรถไฟฟ้าที่บังคลาเทศออกแบบ alignment โดยบริษัทญี่ปุ่น สูตรโค้งดิ่ง สมการทั่วไปของพาราโบลาคือ y = ax2 + bx + c ถ้าเรียนคณิตศาสตร์แบบ advanced มาหน่อย ถ้าดิฟ (ลำดับของอนุพันธ์ลำดับที่หนึ่ง) สมการจะได้ความชันออกมา ความชัน = dy/dx = 2ax + b จะเห็นว่าความชันจะเปลี่ยนแปลงไปตามค่า x…
สร้างค่าพิกัดเสาเข็มกลุ่มแบบอัตโนมัติ (Pile Array Generator) ด้วยแอพ SurveyStar Calculator
ในงานก่อสร้างเสาเข็มกลุ่มจำพวก ฐานรากของสิ่งก่อสร้างเช่น อาคาร สะพานยกระดับ รถไฟฟ้า รถไฟความเร็วสูง เป็นต้น รูปแบบที่พบส่วนมากจะมีระยะห่างระหว่างเสาเข็ม (spacing) มีระยะที่คงที่และรูปแบบมีความสมมาตร (symmetry) โดยรูปแบบจะแตกต่างไปตามจำนวนเสาเข็มที่มาประกอบกันเป็นฐานราก รูปแบบเสาเข็มกลุ่ม การวาดตำแหน่งเสาเข็มในโปรแกรมจำพวกแคดต่างๆก็ไม่ได้ยากอะไร สำหรับการสร้างค่าพิกัดเสาเข็มกลุ่มแบบไว ขอแนะนำโมดูล Pile Array Generator ที่อยู่ในแอพ SurveyStar Calculator สิ่งที่ป้อนเข้าโปรแกรมก็คือตำแหน่งค่าพิกัดศูนย์กลางของฐานราก มุมอะซิมัทของการวางตัว เลือกรูปแบบเสาเข็มจากจำนวนเสาเข็ม ป้อนระยะห่างของเสาเข็ม และระยะเส้นผ่าศูนย์กลาง จากนั้นทำการคำนวณ โปรแกรมจะแสดงรูปและผลลัพธ์ที่ค่าพิกัดมาให้ ทดสอบจากตัวอย่าง วิธีการใช้งาน ผมได้ใส่ตัวอย่างไปในแอพ…