กำเนิดคำว่า “COGO” คำว่า “COGO” เป็นคำย่อรัสพจน์ที่เกิดจากการนำเอาอักษรย่อของชื่อเฉพาะหรือวลีมารวมกัน โดยคำว่า CO คำแรกย่อมาจาก Coordinate คำที่สอง GO ย่อมาจาก Geometry ย้อนไปในราวปี 1950 – 1960 ศาสตราจารย์ชารล์ แอล มิลเลอร์ (Charles L. Miller) แห่ง MIT ได้พัฒนาโปรแกรมที่คำนวณพิกัดเรขาคณิต เรียกว่า COGO (Coordinate Geometry) เมื่อ 60…
Tag: surveyor
เปิดตัวแอพแรก “Ezy Geo Pro” บนแอนดรอยด์
เปลี่ยนชื่อแอพ ในที่สุดผมก็เข็นครกดันเอาแอพรุ่นแรกสำหรับแอนดรอยด์ออกมาได้สำเร็จ “Ezy Geo Pro” เมื่อวันที่ 9 มกราคม 2023 ที่ผ่านมาก ตัวแอพผ่านการเปลี่ยนชื่อมาแล้วหลายครั้งจาก “Thai Easy Geo” เป็น “A Ezy Geo” สุดท้ายเป็น “Ezy Geo Pro” ครั้งแรกตั้งใจจะทำแอพใช้กันเองในประเทศไทยของเรา แต่ก็มีแฟนเพจเป็นอาจารย์สอนวิชาสำรวจที่สปป.ลาว ที่อยากใช้แอพด้วย ผมก็เลยคิดว่าไหนๆจะทำใช้ที่สปป.ลาวด้วย ก็ทำให้มันใช้ได้ทั้งอาเซียนเลยจะดีกว่า ก็เลยกลายเป็นที่มาของการเปลี่ยนชื่อแอพ เปลี่ยนภาษาและเครื่องมือพัฒนา นอกจากเปลี่ยนชื่อแอพแล้ว ยังมีการเปลี่ยนเครื่องมือการพัฒนา ตอนแรกโครงการนี้เริ่มต้นจาก…
พอร์ท:โปรแกรมเครื่องมือสำหรับช่างสำรวจฉบับกระเป๋า (Surveyor Pocket Tools) มาใช้บนแมคโอเอส
สำหรับสถิติการใช้งานระบบปฏิบัติทั้งโลกนี้สำหรับคอมพิวเตอร์ตั้งโต๊ะทั้งพีซีและโน๊ตบุ๊คในปี 2020 วินโดส์ทุกรุ่นประมาณ 79% แมคโอเอสทุกรุ่น 15% ลีินุกซ์ทุกดิสโทร 2% ที่เหลืออื่นๆเช่น ChromeOS เมื่อมามองดูแมคโอเอสก็ไม่ได้น้อยอย่างที่ผมคิด โปรแกรมตัวที่แล้วที่ผมพอร์ทมาใช้งานคือโปรแกรมคำนวณวงรอบ Traverse Pro ที่พัฒนาด้วย Lazarus + Free pascal compiler (fpc) มาถึงตอนนี้ถึงคิว Surveyor Pocket Tools ที่พัฒนาด้วยภาษา Python ใช้ระบบกราฟฟิคติดต่อผู้ใช้ด้วย PySide2 (Qt for Python)…
Update โปรแกรมคำนวณวงรอบ Traverse Pro รุ่น 2.73 (ฉลองครบรอบ 20 ปี)
ผมกลับมาอัพเดทโปรแกรมคำนวณวงรอบ Traverse Pro อีกครั้งหลังจากรุ่นล่าสุดคือรุ่น 2.63 ที่ทิ้งไว้หลายปี ก็ถือโอกาสมาปรับปรุงเพื่อฉลองครบรอบวันเกิดโปรแกรมนี้ 20 ปี ซึ่งเริ่มพัฒนาเมื่อปี 1999 ด้วย Delphi ในขณะนั้น ก่อนที่จะย้ายมาพัฒนาด้วย free pascal + Lazarus ในภายหลัง ถ้านับอายุของโปรแกรมแล้วเป็นหนุ่มเต็มตัว แต่ผมผู้พัฒนาโปรแกรมเองสังขารเริ่มจะโรยรา 🙂 ก็ว่ากันไปครับ โลกนี้ไม่มีอะไรจีรังยังยืน รุ่นก่อนๆจะเห็นว่าเมื่อคำนวณวงรอบแล้ว โปรแกรมจะแสดงผลเป็นรูปตาราง ให้สามารถตรวจสอบผลลัพธ์ได้ก่อน จากนั้นจะทำการพิมพ์รายการคำนวณโดยตรงจากโปรแกรม หรือที่สะดวกที่สุดคือส่งข้อมูลยิงเข้าโปรแกรม Microsoft Excel…
Update: โปรแกรมคำนวณเล็งสกัดย้อนฉบับปรับปรุง (Resection) สำหรับเครื่องคิดเลขเทพ Casio fx 9860G II SD
ผมเขียนเรื่องการคำนวณเล็งสกัดย้อน (Resection) จากตอนก่อนหน้านี้ด้วยอัลกอริทีมใหม่ของ Josep M. Font-Llagunes อ่านได้ที่ ติดปีกเครื่องคิดเลขเทพ Casio fx 9860G II SD ด้วยโปรแกรมภาษาซีบน AddIn ตอนที่ 5 โปรแกรมคำนวณ Resection ด้วยอัลกอริทึ่มสมัยใหม่ ในตอนนี้ผมจะมาเรียบเรียงโปรแกรมด้วยไลบรารี MyLib ที่ใช้ก่อนหน้านี้มาหลายโปรแกรมแล้ว โดยในครั้งนี้จะใช้อัลกอริทึมหลายๆตัวมาคำนวณเพื่อเปรียบเทียบกันดู เมื่อคำนวณแล้วมีรูปกราฟฟิคหยาบๆให้ดูพอกล้อมแกล้ม การคำนวณเล็งสกัดย้อน หรือ Resection Problem มีมานานแล้วหลักๆแล้ววิธีการคำนวณแบ่งเป็น 2 วิธีหลักๆคือ แบบการตรีโกณมิติ…
Update: โปรแกรมแปลงค่าพิกัดภูมิศาสตร์ Geographic Calculator (GeoCalc) บนเครื่องคิดเลข Casio fx-9860G II SD
Geographic Calculator สืบเนื่องจากตอนก่อนหน้านี้ผมได้นำเสนอโปรแกรมแปลงพิกัด Geographic Calculator แบบไม่ได้ใช้ไลบรารีช่วยเรื่อง User Interface โปรแกรมมีลักษณะง่ายๆ เปิดมาเจอเมนูเลือกลักษณะที่จะคำนวณ จากนั้นโปรแกรมจะถามค่าพิกัดที่ต้องการแปลงแล้วคำนวณให้ ข้อดีคือใช้ง่าย ข้อเสียถ้าป้อนข้อมูลผิดพลาด จะย้อนกลับไม่ได้ ต้องเดินหน้าผิดไปจนจบ แล้วค่อยย้อนกลับมาอีกที เปลี่ยนรูปแบบการติดต่อกับผู้ใช้ด้วยไลบรารี MyLib ไลบรารี MyLib เป็นไลบรารีภาษาซีเล็กๆที่ผู้พัฒนาใช้นาม hayzel ได้เขียนไว้เพื่อใช้บนเครื่องคิดเลข Casio fx-9860G II SD ผมนำมาใช้และชอบ ทำให้มีแรงใจที่จะเขียนโปรแกรมบนเครื่องคิดเลขรุ่นเทพรุ่นนี้ได้มาหลายโปรแกรม และก็เหมือนเดิมครับว่าโปรแกรมที่ผมเขียนนั้นใช้งานได้ฟรี (Freely Usability)…
ติดปีกเครื่องคิดเลขเทพ Casio fx 9860G II SD ด้วยโปรแกรมภาษาซีบน AddIn ตอนที่ 8 โปรแกรมคำนวณสเกลแฟคเตอร์ (Scale Factor)
โปรแกรมคำนวณสเกลแฟคเตอร์ (Scale Factor) สำหรับเครื่องคิดเลข Casio fx-9860 G ช่วงนี้อยู่ในชุดซีรี่ย์โปรแกรมเครื่องคิดเลข Casio fx-9860G ต่อไปขอนำเสนอโปรแกรมคำนวณสเกลแฟคเตอร์ (Scale Factor) ตัวโปรแกรมพัฒนาด้วยภาษาซี ใช้เป็นโปรแกรม AddIn ดังรูปด้านล่าง ปัญหาการคำนวณสเกลแฟคเตอร์ สเกลแฟคเตอร์ในที่นี้ผมจะขอหมายถึง Elevation Scale Factor (ESF), Grid Scale Factor (GSF) ตลอดจน Combined Scale Factor (CSF)…
การตั้งค่า (Settings) ของ Surveyor Pocket Tools
Surveyor Pocket Tools ออกมาตั้งนานแล้วเพิ่งจะเปิดโอกาสให้ผู้ใช้ได้ตั้งค่าต่างๆเช่นจำนวนทศนิยมของค่าพิกัด จำนวนทศนิยมของระยะทาง ความสูง หรือแม้แต่ของมุม เมื่อเปิดโปรแกรม Surveyor Pocket Tools จะเห็นมีไอคอน Settings รูปเกียร์เพิ่มดังรูป เมื่อดับเบิ้ลคลิกเข้าไปจะเห็นไดอะล็อก จะมีแท็บ Unit, Linear Precision, Angular Precision, Google Maps และ Google Earth เรียงรายกันตามลำดับ เริ่มต้นที่ Unit ออกแบบเพื่ออนาคตสำหรับหน่วยอื่นที่ไม่ใช่หน่วย metric แต่ตอนนี้สนับสนุนหน่วยเมตริกอย่างเดียวครับ…
แนะนำการใช้เส้นโครงแผนที่ความเพี้ยนต่ำ (Low Distortion Projection)
Low Distortion Projection คืออะไร เส้นโครงแผนที่ทุกอันจะมีความเพี้ยน (distortion) เป็นความจริงที่ไม่สามารถหลีกเลี่ยงได้ ความเพี้ยนนี้ก็คือระยะทางที่ต่างกันระหว่างวัดจริงๆของจุดสองจุดบนพื้นผิวภูมิประเทศของโลกกับระยะทางที่ได้จากแผนที่ ความเพื้ยนนี้จะมีความสลักสำคัญอย่างมาก ดังตัวอย่างเช่นที่ผมได้กล่าวไปแล้วใน ตอนก่อนหน้านี้ ที่ค่าความเพื้ยนมากถึง ±823 ppm (ระยะทาง 1 กม. จะมีความเพี้ยนถึง 823 มม. หรือ 82.3 ซม.) ความเพี้ยนนี้อาจนำไปสู่ความคิดที่ว่าระยะทางตัวไหนกันแน่ที่เป็นค่าที่ถูกต้อง ค่าความเพี้ยนนี้ไม่สามารถกำจัดออกไปได้ แต่สามารถทำให้น้อยลงได้ ด้วยวิธีการที่ผมจะนำเสนอต่อไปคือ Low distortion projection (LDP) ถ้าแปลอนุมานได้วา เส้นโครงแผนที่ความเพี้ยนต่ำ ต่อไปผมจะเรียกสั้นๆว่า LDP…
ปลดพันธนาการ PyQt5 ด้วย PySide2
ตอนนี้ถือว่ามาเล่าสู่กันฟังจากประสบการณ์ เป็นเรื่องโปรแกรมมิ่ง ถ้าไม่สนใจเรื่องโปรแกรมมิ่งก็ผ่านไปได้ครับ PyQt5 กับลิขสิทธิ์แบบ GPL v3 ผมเขียนไพทอนด้วยการใช้ PyQt5 มาได้สักระยะเวลาหนึ่ง น่าจะสองปีกว่าได้ ยอมรับว่าชอบมากๆ ก็ไม่ได้ระแวดระวังเรื่องกฎหมายลิขสิทธิ์เท่าไหร่นัก ลิขสิทธิ์ของ PyQt5 เป็นแบบ GPL v3 ซึ่งสาระโดยรวมๆสามารถเอาไปใช้ได้สองกรณีคือ พัฒนาโปรแกรมแบบเปิดโค๊ด (open source) และแจกจ่ายฟรีพร้อมโค๊ด กรณีนี้ไม่จำเป็นต้องเสียเงินค่าลิขสิทธิ์ แต่ถ้าเป็นกรณีที่สองคือการพัฒนาโปรแกรมเพื่อการค้าและปิดโค๊ด จะต้องเสียค่าลิขสิทธิ์ประมาณ 500US$ ต่อปี ซึ่งไม่น่าจะมากมายนัก ผมเองเอา PyQt5 มาใช้และแจกจ่ายโปรแกรมของผมให้ฟรีก็จริงแต่ปิดโค๊ด…