ตอนนี้มีเครื่องคิดเลขของคาสิโอสามรุ่นที่สามารถโปรแกรมด้วยภาษาไพทอนหรือไมโครไพทอน (MicroPython) ได้คือ fx-9750GIII, fx-9860GIII และ fx-cg50 ทั้งสามรุ่นสามารถหาซื้อได้ไม่ยากนัก ผมซื้อมาทางออนไลน์สะดวกดี สนนราคาเรียงตามรุ่นตอนนี้อยู่ที่ สามพันบาท สี่พันห้าร้อยบาทและเจ็ดพันกว่าบาทตามลำดับ ผมแนะนำให้สำหรับคนที่เบี้ยน้อยหอยน้อยลงทุนกับ fx-9750GIII เพราะราคาไม่แพง คุ้มค่าเกินราคา ทั้งสามรุ่นสามารถโปรแกรมด้วยภาษาคาสิโอเบสิคและภาษาไพทอน แล้วแต่ความถนัด ความชอบ ถ้าโปรแกรมด้วยไพทอนจะสามารถเขียนโปรแกรมที่ยากๆหรือคณิตศาสตร์ซับซ้อนขึ้นมาได้ นี่เป็นเหตุผลสำคัญ ถึงแม้หน่วยความจำของเครื่องคิดเลขจะน้อยก็เป็นโจทย์ให้ผู้พัฒนาโปรแกรมได้ออปติไมซ์โปรแกรมให้ทำงานได้ แต่สำหรับโปรแกรมพื้นฐานงานสำรวจส่วนใหญ่ก็พื้นๆ ไม่มีอะไรซับซ้อน ชุดโปรแกรมพื้นฐานงานสำรวจ COGO (Coordinate Geometry) ชุดที่ 3 มาถึงโปรแกรมพื้นฐานงานสำรวจชุดที่ 3 (COGO…
Category: python
(ฟรี)โปรแกรมภาษาไพทอนบนเครื่องคิดเลขคาสิโอ fx-9750GIII fx-9860GIII และ fx-cg50 โปรแกรมพื้นฐานงานสำรวจชุดที่ 2 (COGO Selected Serie 2)
ตอนนี้มีเครื่องคิดเลขของคาสิโอสามรุ่นที่สามารถโปรแกรมด้วยภาษาไพทอนหรือไมโครไพทอน (MicroPython) ได้คือ fx-9750GIII, fx-9860GIII และ fx-cg50 ข้อดีของภาษาไพทอนนั้นคือง่าย ทรงพลัง แต่ข้อจำกัดของเครื่องคิดเลขคือหน่วยความจำที่มีมาน้อย ดังนั้นบนเครื่องคิดเลขจะมีไลบรารีที่นำมาจากเครื่องคอมพิวเตอร์มาใช้งานได้น้อย ต้องปรับกันพอสมควร ไม่มีไลบรารีเทพแบบ Numpy ที่จะมาใช้คำนวณเรื่องเมตริกซ์ (Matrix) ดังนั้นถ้าใช้เมตริกซ์ก็ต้องออกแรงเขียนโค้ดเองมากหน่อย แต่ยังมี Matplotlib ฉบับย่อที่พอกล้อมแกล้มได้เล็กน้อย ชุดโปรแกรมพื้นฐานงานสำรวจ COGO (Coordinate Geometry) ชุดที่ 2 มาถึงโปรแกรมพื้นฐานงานสำรวจชุดที่ 2 (COGO Selected Serie 2)…
(ฟรี)โปรแกรมภาษาไพทอนบนเครื่องคิดเลขคาสิโอ fx-9750GIII fx-9860GIII และ fx-cg50 โปรแกรมพื้นฐานงานสำรวจชุดที่ 1 (COGO Selected Serie 1)
ไม่กี่วันนี้ผมได้ถอยเครื่องคิดเลข fx-9860GIII มาหนึ่งเครื่องราคาประมาณสี่พันห้าร้อยบาท ส่วนน้องๆในที่ทำงานถอย fx-9750GIII มาหนึ่งเครื่องเช่นเดียวกันแต่ราคาย่อมเยากว่า ราคาเครื่องประมาณสามพันบาท สองรุ่นนี้เขียนภาษาไพทอนได้ ไพทอนที่ลงในเครื่องคิดเลขเป็นไพทอนรุ่นเล็กเรียกว่า ไมโครไพทอน (Micropython) แต่ไมโครไพทอนที่ลงในเครื่องคิดเลข ทางคาสิโอลงไลบรารีมาให้ใช้แค่สองไลบรารีคือ math และ random ที่อยากได้มากคือไลบรารี io ที่สามารถเขียนอ่านไฟล์ได้กลับไม่ลงมาให้ ทำให้การใช้งานจำกัดจำเขี่ยเหมือนโดนมัดมือมัดเท้า เอาละไม่เป็นไร ผมจะลองเขียนโปรแกรมไพทอนและพยายามใช้ทรัพยากรอันจำกัดจำเขี่ยนี้ให้ออกมาดูดีที่สุด นี่เป็นความท้าทายเล็กๆน้อยๆอย่างหนึ่ง ณ ตอนนี้มีเครื่องคิดเลขคาสิโอสามรุ่นที่สนับสนุนภาษาไพทอนเรียงกันดังนี้ fx-9750GIII, fx-9860GIII และ fx-cg50 ทดสอบโปรแกรมงานสำรวจที่พัฒนาด้วยภาษาซีบน fx-9750GIII และ…
ไพทอนบนเครื่องคิดเลข Casio fx-cg50 Prizm กลับมาวิ่งฉิวเป็นเทพแล้ว
สองปีที่แล้วพอดีผมถอยเครื่องคิดเลขคาสิโอ fx-cg50 Prizm เพราะว่าสนับสนุนภาษาไพทอน อยากลองเขียนไพทอนบนเครื่องคิดเลขดู แต่เนื่องจากไพทอนไม่สามารถเรียกใช้ฟังก์ชั่นในเครื่องคิดเลขต่างๆ เช่นฟังก์ชั่นวาดรูป ฟังก์ชั่นการพล็อทกราฟ คาสิโอเองก็รีบเอาไพทอนมาลงเครื่องคิดเลขเร็วเกินไป ผมเอามาทำที่ทับกระดาษเล่นๆ จนกระทั่งสองปีให้หลังจนบัดนี้ (10 กันยายน 2020) ทางคาสิโอเพิ่งอัพเดทโอเอสของเครื่องคิดเลขจากรุ่น 3.30 มาเป็น 3.40 และได้เพิ่มฟังก์ชั่นการวาดรูปให้กับเครื่องคิดเลขรุ่นนี้ มาลองดูว่าอัพเดทแล้วมีอะไรบ้าง เพิ่มโมดูล casioplot ในโมดูลนี้จะมีฟังก์ชั่นให้เรียกใช้อยู่ 4 ฟังก์ชั่น draw_string(,,) สำหรับเขียนตัวหนังสือเลือกสี ขนาด ตำแหน่งได้ set_pixel(,) สำหรับเขียนจุดเลือกสี ขนาด…
แปลงรูปแบบไฟล์แบบจำลองความสูงจีออยด์ TGM2017 เป็น GFF เพื่อใช้ในโปรแกรม Magnet และอุปกรณ์ของ Topcon
ในเมื่อต่อยอดแล้วคงเอาให้สุดๆ ตอนที่แล้วผมแปลงไฟล์แบบจำลองความสูงจีออยด์ TGM2017 จากต้นฉบับ (เครดิด: จัดทำโดยทีมงานดร.พุทธิพล ดำรงชัยและคณะ) เป็นรูปแบบ Lieca GEM เพื่อใช้ในโปรแกรม SKI-Pro & LGO ตอนนี้ที่คิดได้ยังมีอุปกรณ์ค่าย Sokkia & Topcon ที่ยังไม่ได้จัดทำ เหมือนเดิมคือไม่สามารถหารูปแบบไฟล์ Topcon GFF หรือคำอธิบายได้ จากเวบไซต์ทางการของ Topcon ได้ ผมลองค้นคว้าในอินเทอร์เน็ตพบว่าโปรแกรม Topcon Magnet ที่เอาไว้คำนวณและประมวลผลงาน GNSS รวมทั้งอุปกรณ์อื่นๆเช่นกล้องโททอลสเตชัน…
แปลงรูปแบบไฟล์แบบจำลองความสูงจีออยด์ TGM2017 เป็น GEM เพื่อใช้ในโปรแกรม SKI-Pro & LGO
ที่ผ่านมาผมได้จัดทำรูปแบบไฟล์ TGM2017 จากต้นฉบับเดิมให้มีรูปแบบหลากหลายสามารถนำไปใช้ในโปรแกรมต่างๆ เช่น รูปแบบ GTX, GGF ส่วนรูปแบบ PGM ที่เอื้อเฟื้อจัดทำโดยดร.ไพศาล สันติธรรมนนท์ แต่ก็มีน้องๆทัดทานมาว่ารูปแบบ Leica Geoid Model (GEM) น่าจะยังไม่มีคนจัดทำ Leica Geoid Model Reader ผมพยายามหารูปแบบข้อกำหนด Leica Geoid Model (GEM) โชคไม่ดีเลย ไม่มีเอกสารเผยแพร่ แต่มีโปรแกรมจาก Leica ออกมานานร่วมๆสิบกว่าปีแล้วชื่อ Geoid…
โปรแกรมมิ่ง: เขียนโค้ดไพทอนสร้างเส้นชั้นความสูง (contours) ด้วยไลบรารี matplotlib
เป็นความฝันของผมอันหนึ่งตั้งแต่สมัยจบใหม่ๆที่จะเขียนโปรแกรมสร้างชั้นความสูงจากข้อมูลจุดงานสำรวจ x, y, z แต่จนแล้วจนเล่าโครงการนี้ไม่เคยเกิดสักที เนื่องจากความรู้ความสามารถและทักษะไม่เพียงพอ ด้วยความยากในการคิดอัลกอริทึมที่จะสร้างสามเหลี่ยมด้านที่สั้นที่สุดจากจุด (point) งานสำรวจ จนกระทั่งเลยวัยแห่งความฝันอันนั้นมาไกลมากแล้ว ปัจจุบันในยุค open source มีไลบรารีด้านนี้ที่มีโมดูลส่วนหนึ่งที่มีความสามารถใกล้เคียงที่สามารถนำมาสร้างเส้นชั้นความสูงได้คือ matplotlib ไลบรารี matplotlib ตัว matplotlib เองถูกนำไปใช้ร่วมกับ numpy, pandas สุดยอดของไลบรารีไพทอนที่นำไปประมวลผลงานด้าน Data Science & Data Analysis ตลอดจน Machine Learning ทะลุไปถึง…
โปรแกรมมิ่ง: เขียนโค้ดไพทอนดึงข้อมูลออนไลน์ของโควิด-19 มาประมวลผลด้วย Pandas
ในขณะที่กำลังกักตัวอยู่ในสถานการณ์ไวรัสโคโรน่าระบาด ผมได้เข้าคอร์สเรียนออนไลน์ไปหลายวิชา เพื่อใช้เวลาว่างให้เป็นประโยชน์ ค่าหน่วยกิตแต่ละวิชาค่อนข้างจะกระเทือนไตพอสมควร ไม่มีคอร์สไหนต่ำกว่าพันห้าร้อยบาท จะลองคอร์ส AI/Big Data ก็ประมาณหมื่นกว่าบาทได้แต่ถอยกรูดๆ ผมได้ตระเวนไปดูบทความของท่านอื่นที่เกี่ยวข้องกับโปรแกรมมิ่งพบหลายๆเว็บนำเสนอการดึงข้อมูลของไวรัสโคโรน่าด้วยโค้ดไพทอน ผมเห็นว่าน่าสนใจสำหรับนักศึกษาที่กำลังศึกษาไพทอน ผมเลยประมวลผลคือจับโค้ดจากหลายๆเว็บมายำรวมมิตรกัน ผลลัพธ์ก็ได้อย่างที่กำลังจะติดตามกันต่อไป อาจจะไม่ลึกมากแต่ก็เป็นพื้นฐานโดยเฉพาะคนที่กำลังสนใจด้าน Data Science ตอนนี้แต่ละคนใจคงจดจ่ออยู่ที่ว่าพื้นที่หรือประเทศตัวเองอยู่นั้นมีการระบาดของไวรัสเป็นอย่างไร มาลองดูประมวลผลข้อมูลพื้นฐาน เราจะดึงข้อมูลจำนวนผู้ติดเชื้อ จำนวนคนที่รักษาหาย หรือจำนวนผู้ตายแบบออนไลน์จากฐานข้อมูลที่มีคนอัพโหลดไปไว้ตาม Github หรือเป็นเว็บไซต์ต่างๆ ที่มีการอัพเอทอยู่ตลอดเวลา ภาษาที่ใช้เขียนโค้ดจะใช้ไพทอน โดยใช้ไลบรารีที่ใช้คือ pandas สุดยอดแห่งไลบรารีในโลกของ Data Science & Data…
พอร์ท:โปรแกรมเครื่องมือสำหรับช่างสำรวจฉบับกระเป๋า (Surveyor Pocket Tools) มาใช้บนแมคโอเอส
สำหรับสถิติการใช้งานระบบปฏิบัติทั้งโลกนี้สำหรับคอมพิวเตอร์ตั้งโต๊ะทั้งพีซีและโน๊ตบุ๊คในปี 2020 วินโดส์ทุกรุ่นประมาณ 79% แมคโอเอสทุกรุ่น 15% ลีินุกซ์ทุกดิสโทร 2% ที่เหลืออื่นๆเช่น ChromeOS เมื่อมามองดูแมคโอเอสก็ไม่ได้น้อยอย่างที่ผมคิด โปรแกรมตัวที่แล้วที่ผมพอร์ทมาใช้งานคือโปรแกรมคำนวณวงรอบ Traverse Pro ที่พัฒนาด้วย Lazarus + Free pascal compiler (fpc) มาถึงตอนนี้ถึงคิว Surveyor Pocket Tools ที่พัฒนาด้วยภาษา Python ใช้ระบบกราฟฟิคติดต่อผู้ใช้ด้วย PySide2 (Qt for Python)…
ย้อนรอยวิธีสร้างไฟล์รูปแบบ PGM ของ TGM2017 สำหรับใช้ใน GeographicLib
ผมได้เขียนบล็อกเกี่ยวกับ TGM2017 (Thailand Geoid Model 2017) มาหลายตอนแล้ว ไม่นานมานี้ทางรุ่นพี่ที่เคารพอาจารย์ดร.ไพศาล สันติธรรมนนท์ ได้วานให้ตรวจสอบไฟล์ TGM2017-1.PGM ที่ทางอาจารย์ได้สร้างไว้ด้วยโค้ดไพทอนเพื่อนำมาใช้ในไลบรารี GeographicLib ผมทดสอบแล้วใช้งานได้ดี ในขณะเดียวกันผมเห็นว่าน่าสนใจเพราะสามารถเผยแพร่การใช้งาน TGM2017 ให้ใช้งานได้หลากหลายในวงกว้างยิ่งๆขึ้นไป ผมขอสรุปรูปแบบการใช้งานดังนี้ รูปแบบแอสกี้: TGM2017.ASC เป็นไฟล์รูปแบบ ASCII คำนวณโดย TGM2017.EXE ที่ทางผู้จัดทำแบบจำลอง TGM2017 ดร.พุทธิพลและทีมงาน ได้นำมาเผยแพร่ และผมขอขอบคุณทีมงานมา ณ ที่นี้ รูปแบบ…