โปรแกรมมิ่ง: เขียนโค้ดไพทอนสร้างเส้นชั้นความสูง (contours) ด้วยไลบรารี matplotlib

เป็นความฝันของผมอันหนึ่งตั้งแต่สมัยจบใหม่ๆที่จะเขียนโปรแกรมสร้างชั้นความสูงจากข้อมูลจุดงานสำรวจ x, y, z แต่จนแล้วจนเล่าโครงการนี้ไม่เคยเกิดสักที เนื่องจากความรู้ความสามารถและทักษะไม่เพียงพอ ด้วยความยากในการคิดอัลกอริทึมที่จะสร้างสามเหลี่ยมด้านที่สั้นที่สุดจากจุด (point) งานสำรวจ จนกระทั่งเลยวัยแห่งความฝันอันนั้นมาไกลมากแล้ว ปัจจุบันในยุค open source มีไลบรารีด้านนี้ที่มีโมดูลส่วนหนึ่งที่มีความสามารถใกล้เคียงที่สามารถนำมาสร้างเส้นชั้นความสูงได้คือ matplotlib ไลบรารี matplotlib ตัว matplotlib เองถูกนำไปใช้ร่วมกับ…

Continue Reading →

โปรแกรมมิ่ง: เขียนโค้ดไพทอนดึงข้อมูลออนไลน์ของโควิด-19 มาประมวลผลด้วย Pandas

ในขณะที่กำลังกักตัวอยู่ในสถานการณ์ไวรัสโคโรน่าระบาด ผมได้เข้าคอร์สเรียนออนไลน์ไปหลายวิชา เพื่อใช้เวลาว่างให้เป็นประโยชน์ ค่าหน่วยกิตแต่ละวิชาค่อนข้างจะกระเทือนไตพอสมควร ไม่มีคอร์สไหนต่ำกว่าพันห้าร้อยบาท จะลองคอร์ส AI/Big Data ก็ประมาณหมื่นกว่าบาทได้แต่ถอยกรูดๆ ผมได้ตระเวนไปดูบทความของท่านอื่นที่เกี่ยวข้องกับโปรแกรมมิ่งพบหลายๆเว็บนำเสนอการดึงข้อมูลของไวรัสโคโรน่าด้วยโค้ดไพทอน ผมเห็นว่าน่าสนใจสำหรับนักศึกษาที่กำลังศึกษาไพทอน ผมเลยประมวลผลคือจับโค้ดจากหลายๆเว็บมายำรวมมิตรกัน ผลลัพธ์ก็ได้อย่างที่กำลังจะติดตามกันต่อไป อาจจะไม่ลึกมากแต่ก็เป็นพื้นฐานโดยเฉพาะคนที่กำลังสนใจด้าน Data Science ตอนนี้แต่ละคนใจคงจดจ่ออยู่ที่ว่าพื้นที่หรือประเทศตัวเองอยู่นั้นมีการระบาดของไวรัสเป็นอย่างไร มาลองดูประมวลผลข้อมูลพื้นฐาน เราจะดึงข้อมูลจำนวนผู้ติดเชื้อ จำนวนคนที่รักษาหาย…

Continue Reading →

พอร์ท:โปรแกรมเครื่องมือสำหรับช่างสำรวจฉบับกระเป๋า (Surveyor Pocket Tools) มาใช้บนแมคโอเอส

สำหรับสถิติการใช้งานระบบปฏิบัติทั้งโลกนี้สำหรับคอมพิวเตอร์ตั้งโต๊ะทั้งพีซีและโน๊ตบุ๊คในปี 2020 วินโดส์ทุกรุ่นประมาณ 79% แมคโอเอสทุกรุ่น 15% ลีินุกซ์ทุกดิสโทร 2% ที่เหลืออื่นๆเช่น ChromeOS เมื่อมามองดูแมคโอเอสก็ไม่ได้น้อยอย่างที่ผมคิด โปรแกรมตัวที่แล้วที่ผมพอร์ทมาใช้งานคือโปรแกรมคำนวณวงรอบ Traverse Pro ที่พัฒนาด้วย Lazarus + Free pascal compiler…

Continue Reading →

ย้อนรอยวิธีสร้างไฟล์รูปแบบ PGM ของ TGM2017 สำหรับใช้ใน GeographicLib

ผมได้เขียนบล็อกเกี่ยวกับ TGM2017 (Thailand Geoid Model 2017) มาหลายตอนแล้ว ไม่นานมานี้ทางรุ่นพี่ที่เคารพอาจารย์ดร.ไพศาล สันติธรรมนนท์ ได้วานให้ตรวจสอบไฟล์ TGM2017-1.PGM ที่ทางอาจารย์ได้สร้างไว้ด้วยโค้ดไพทอนเพื่อนำมาใช้ในไลบรารี GeographicLib ผมทดสอบแล้วใช้งานได้ดี ในขณะเดียวกันผมเห็นว่าน่าสนใจเพราะสามารถเผยแพร่การใช้งาน TGM2017 ให้ใช้งานได้หลากหลายในวงกว้างยิ่งๆขึ้นไป ผมขอสรุปรูปแบบการใช้งานดังนี้ รูปแบบแอสกี้: TGM2017.ASC…

Continue Reading →

การเปลี่ยนแปลงครั้งใหญ่ของไลบรารี Proj.4

วันนี้มาพูดถึงไลบรารี Proj.4 แบบลึกๆกันหน่อย บทความตอนนี้จะเป็นเรื่องโปรแกรมมิ่งนะครับ ไลบรารีตัวนี้ผมใช้เป็นแกนหลักในโปรแกรมรวมเครื่องมือฉบับกระเป๋าสำหรับช่างสำรวจ (Surveyor Pocket Tools) เอามาแปลงพิกัดกับระบบพิกัดที่ใช้กันในโลกนี้ (อาจจะได้ไม่ทั้งหมด) และไม่นานนี้ผมได้นำมาคำนวณ Vertical Datum คือสามารถหาความสูงจีออยด์ได้ ในความเป็นจริงถ้ามี Vertical Grid Shift หลายๆอันสามารถแปลงค่าระดับข้ามไปมาได้แบบที่ใช้ในอเมริกา ก็ใช้มาหลายปีแล้ว…

Continue Reading →

Update : โปรแกรม Surveyor Pocket Tools คำนวณความสูงจีออยด์ จากไฟล์ค่าพิกัดภูมิศาสตร์

ในกรณีที่ต้องการค่าความสูงจีออยด์จากจุดที่มีจำนวนมากตัวอย่างเช่นเป็นสิบจุดขึ้นไป การมานั่งคำนวณทีละจุดคงไม่ใช่เรื่องที่สะดวกนัก ผมปรับปรุงโปรแกรมให้สามารถอ่านไฟล์ค่าพิกัดภูมิศาสตร์ (ละติจูดและลองจิจูด) ในรูปแบบ CSV ที่ใช้ตัวแบ่งด้วยเครื่องหมายคอมมา “,” ค่าพิกัดละติจูดและลองจิจูด ต้องเป็นรูปแบบทศนิยม (degree) เท่านั้น การจัดเรียงค่าพิกัดของให้ขึ้นต้นด้วยค่าลองจิจูดตามด้วยเครื่องหมายคอมม่าและค่าละติจูด ไฟล์ทดสอบ ไฟล์ที่จะมาทดสอบโปรแกรม ผมสร้างจากโค้ดภาษาไพทอน ให้สุ่มจำนวนจุดค่าพิกัดขึ้นมา 10000 จุด โดยให้ค่าพิกัดที่สุ่มอยู่ในกรอบสี่เหลี่ยมนี้คือ…

Continue Reading →

โปรแกรมรวมเครื่องมือฉบับกระเป๋าสำหรับช่างสำรวจ Surveyor Pocket Tools : Update คำนวณพื้นที่และ Scale Factor ด้วย TGM2017

สำหรับการคำนวณ Scale Factor ไม่ว่าจะเป็นจุดเดี่ยว (Point scale factor) หรือแบบเส้นตรงเฉลี่ย (Line scale factor) หรือไม่ว่าจะคำนวณพื้นที่จริงที่ทอนจากพื้นที่ตามระบบพิกัดฉากกริด ก็ตามผมเปิดโอกาสให้ผู้ใช้สามารถเลือกใช้ TGM2017 (Precise Geoid Model of Thailand 2017)…

Continue Reading →

Update : โปรแกรม Surveyor Pocket Tools คำนวณความสูงจีออยด์ TGM2017

มาตามสัญญาที่ผมบอกว่าจะอัพเดท Surveyor Pocket Tools โปรแกรมช่างสำรวจฉบับกระเป๋า ให้สามารถใช้งานคำนวณความสูงจีออยด์ TGM2017 (Thailand Precise Geoid Model 2017) ดั้งเดิมสามารถคำนวณบนโมเดล EGM96 และ EGM2008 เพียงเท่านั้น เปลี่ยนวีธีการคำนวณโดยใช้ไลบรารี Proj4 ดั้งเดิมตอนคำนวณหาความสูงจีออยด์บน…

Continue Reading →

ทดสอบคำนวณหาความสูงจีออยด์ TGM2017 ด้วยไลบรารี Proj.4

ไม่นานมานี้มีผมดาวน์โหลดไฟล์โปรแกรมและข้อมูลของ TGM2017 เรียกเต็มๆคือ Thailand Geoid Model 2017 ที่เป็นโครงการร่วมมือจากหลายๆฝ่ายของทางราชการ ผมยังไม่มีโอกาสได้นำไปใช้งาน โดยเฉพาะจะนำมาประยุกต์ใช้ในงานรังวัด GNSS ถือว่าเป็นสิ่งที่พวกเรารอคอยมานานที่จะได้มี local geoid model มาใช้งานกัน โดยเฉพาะงานรังวัด GNSS เมื่อคำนวณแล้วจะได้ค่าพิกัดทางราบ และทางดิ่งจะได้ความสูง…

Continue Reading →

แก้ไขจอดับ: Surveyor Pocket Tools แสดงแผนที่บน Google Maps (สัจธรรมโลกนี้ไม่มีอะไรฟรี)

ตั้งแต่วันที่ 16 มิถุนายน 2018 ที่ผ่านมา ถ้าผู้ใช้ใช้งาน Surveyor Pocket Tools ลองปักหมุดผ่านโปรแกรมนี้ จะเห็นว่าจอดับแสดงข้อความว่า “For development purpose only” เพราะว่ากูเกิ้ลเปลี่ยนมาเก็บเงินผู้ใช้โดยเฉพาะผู้พัฒนาโปรแกรม โดยที่ผู้พัฒนาจะต้องขอ API Key จากทางกูเกิ้ลก่อน…

Continue Reading →