ทิ้งระยะจากตอนที่ 1 ไปนานพอสมควร มาต่อตอนที่ 2 ซึ่งเป็นตอนจบ สิ่งที่ผมนำเสนอและย้ำไปในตอนที่ 1 คือสูตรคำนวณโค้งสไปรัลไม่ได้เยอะมาก การคำนวณแบ่งได้เป็น สามส่วนคือส่วนแรกคำนวณหาส่วนประกอบโค้งสไปรัล จากโจทย์ที่กำหนดให้ความยาวโค้งสไปรัล (Ls) รัศมีโค้งวงกลม (Rc) และมุมเบี่ยงเบน (Δ) รวมถึงทิศทางโค้งเลี้ยวซ้ายหรือเลี้ยวขวา เพียงแค่นี้ก็สามารถคำนวณหา Δs, Δc, Lc และ ระยะ p, q และ T, Ts ส่วนที่สองคือคำนวณหาค่าพิกัดจุดบนโค้ง การจะหาพิกัดได้ต้องทราบอะซิมัทและระยะทาง ดังนั้นโจทย์จะกำหนดอะซิมัทของเส้น…
Tag: Calculate
ไขความลับดำมืดโค้งสไปรัล ตอนที่ 1
จากที่ผมได้เขียนโปรแกรมลงเครื่องคิดเลข HP Prime G2 คำนวณโค้งสไปรัล ทำให้เห็นว่าจะต้องใช้สูตรตัวไหน เริ่มต้นคำนวณอย่างไร เป็นลำดับขั้นตอนไปอย่างไร ช่างสำรวจหรือวิศวกรสำรวจน้อยคนนักที่จะได้คำนวณโค้งสไปรัล ปัจจุบันโปรแกรมออกแบบงานถนน งานรถไฟอย่าง Civil 3D สามารถออกแบบงานได้ตั้งแต่เริ่มต้นจนจบ การไปเลเอ้าท์หน้างานก็อาศัยโปรแกรมจากแคด จึงทำให้โอกาสน้อยคนที่จะสามารถคำนวณเองด้วยมือได้ ความลับดำมืดจึงยังคงอยู่กับโค้งสไปรัลต่อไป แต่ถ้าตั้งใจทำความเข้าใจลำดับการคำนวณโค้งสไปรัลก็ไม่ได้ยากเลย เพียงแต่ต้องหาสูตรให้ถูกที่ถูกทางก่อน หลายๆสูตรไปผูกกับหน่วยฟุตแนบแน่น จนทำให้คนใช้หน่วยเมตริกแบบพวกเรามาตั้งแต่เรียนจบ ออกอาการงงๆเบลอๆ ยุคนี้เป็นยุคงานก่อสร้างรถไฟความเร็วสูง (High Speed Rail) โค้งที่นำมาประยุกต์ใช้เป็นโค้งสไปรัล ดังนั้นช่างสำรวจและวิศวกรสำรวจควรจะทำความเข้าใจให้กระจ่าง ที่ผ่านมาผมก็เช่นกันเห็นตำราคำนวณโค้งสไปรัลแล้ว จับต้นชนปลายไม่ถูก เนื่องจากสูตรดูเหมือนเยอะทำให้เข้าใจไม่ทะลุปรุโปร่งสักที บทความนี้จะนำเสนอสูตร…
Update : โปรแกรม Surveyor Pocket Tools คำนวณความสูงจีออยด์ TGM2017
มาตามสัญญาที่ผมบอกว่าจะอัพเดท Surveyor Pocket Tools โปรแกรมช่างสำรวจฉบับกระเป๋า ให้สามารถใช้งานคำนวณความสูงจีออยด์ TGM2017 (Thailand Precise Geoid Model 2017) ดั้งเดิมสามารถคำนวณบนโมเดล EGM96 และ EGM2008 เพียงเท่านั้น เปลี่ยนวีธีการคำนวณโดยใช้ไลบรารี Proj4 ดั้งเดิมตอนคำนวณหาความสูงจีออยด์บน EGM96 และ EGM2008 ผมพัฒนาโค้ดโปรแกรมมาจากการดัดแปลงของโค้ดดั้งเดิมภาษาซีของผู้พัฒนาท่านอื่นมาเป็นภาษาไพทอน ขณะนี้ได้ยกเลิกโค้ดชุดนี้หันมาใช้ไลบรารี Proj4 คำนวณให้ทั้งหมดเพราะสะดวกมาก และไลบรารี Proj4 สามารถจัดการเมมโมรีได้ดีกว่าของผมมาก สังเกตก่อนหน้านี้ถ้าใครเข้าไปดูใน Task…
Update โปรแกรมคำนวณวงรอบ Traverse Pro รุ่น 2.73 (ฉลองครบรอบ 20 ปี)
ผมกลับมาอัพเดทโปรแกรมคำนวณวงรอบ Traverse Pro อีกครั้งหลังจากรุ่นล่าสุดคือรุ่น 2.63 ที่ทิ้งไว้หลายปี ก็ถือโอกาสมาปรับปรุงเพื่อฉลองครบรอบวันเกิดโปรแกรมนี้ 20 ปี ซึ่งเริ่มพัฒนาเมื่อปี 1999 ด้วย Delphi ในขณะนั้น ก่อนที่จะย้ายมาพัฒนาด้วย free pascal + Lazarus ในภายหลัง ถ้านับอายุของโปรแกรมแล้วเป็นหนุ่มเต็มตัว แต่ผมผู้พัฒนาโปรแกรมเองสังขารเริ่มจะโรยรา 🙂 ก็ว่ากันไปครับ โลกนี้ไม่มีอะไรจีรังยังยืน รุ่นก่อนๆจะเห็นว่าเมื่อคำนวณวงรอบแล้ว โปรแกรมจะแสดงผลเป็นรูปตาราง ให้สามารถตรวจสอบผลลัพธ์ได้ก่อน จากนั้นจะทำการพิมพ์รายการคำนวณโดยตรงจากโปรแกรม หรือที่สะดวกที่สุดคือส่งข้อมูลยิงเข้าโปรแกรม Microsoft Excel…
ติดปีกเครื่องคิดเลขเทพ Casio fx 9860G II SD ด้วยโปรแกรมภาษาซีบน AddIn ตอนที่ 7 โปรแกรมคำนวณโค้งราบ (Horizontal Curve)
โปรแกรมคำนวณโค้งราบ HCurve สำหรับเครื่องคิดเลข Casio fx-9860 G ช่วงนี้อยู่ในชุดซีรี่ย์โปรแกรมเครื่องคิดเลข Casio fx-9860G ที่ใช้ไลบรารี MyLib ต่อไปขอนำเสนอโปรแกรมคำนวณโค้งราบ (Simple Horizontal Curve) ตัวโปรแกรมพัฒนาด้วยภาษาซี ใช้เป็นโปรแกรม AddIn ดังรูปด้านล่าง องค์ประกอบของโค้งราบ (Elements of Horizontal Curve) คำนิยาม (Abbrivations) R – Radius คือรัศมีของโค้งราบ รัศมีจะตั้งฉากกับเส้นสัมผัสวงกลมเสมอ PC…
ติดปีกเครื่องคิดเลขเทพ Casio fx 9860G II SD ด้วยโปรแกรมภาษาซีบน AddIn ตอนที่ 3 โปรแกรมคำนวณหาระยะทางจากค่าพิกัดภูมิศาสตร์ (Geodetic Dist Calc)
มาถึงตอนที่ 3 ขอนำเสนอโปรแกรมคำนวณหาระยะทางที่สั้นที่สุดบนทรงรีด้วยสูตรการคำนวณของ Vincenty และระยะทางที่สั้นที่สุดบนทรงกลมด้วยสูตรของ Haversine โดยที่กำหนดค่าพิกัดภูมิศาสตร์ (แลตติจูด/ลองจิจูด) มาให้ 2 จุด Geodesic Distance ระยะทางที่สั้นที่สุดบนทรงรี (Ellipsoid) จะเรียกว่า Geodesic distance ผมใช้ไลบรารี GeographicLib ที่พัฒนาโดย Charles F. F. Karney ไลบรารีตัวนี้ใช้ c standard library เฉพาะ math อย่างเดียว ดังนั้นมั่นใจได้เลยว่าสามารถเอามาคอมไพล์บนเครื่องคิดเลข Casio…
ติดปีกเครื่องคิดเลขเทพ Casio fx 9860G II SD ด้วยโปรแกรมภาษาซีบน AddIn ตอนที่ 2 โปรแกรมคำนวณค่าพิกัดจุดศูนย์กลางวงกลม (Circle Center Calc)
จุดศูนย์กลางวงกลมนั้นสำคัญไฉน ในงานสำรวจสำหรับการก่อสร้างเช่นเข็มเจาะ ในขั้นตอนแรกช่างสำรวจจะวางตำแหน่งจุดศูนย์กลางของเสาเข็ม จากนั้นจะวัด offset อย่างน้อยสามด้านตั้งฉากแล้วตอกเหล็กเช่นเหล็กข้ออ้อยลงไปเป็นหมาย ขั้นตอนต่อไปจะปักปลอกเหล็ก (Casing) ในชั้นดินอ่อนเพื่อกันดินทลายตัวลง ในขั้นตอนนี้ช่วงการปักปลอกเหล็กจะมีการวัดระยะจากหมายที่ offset ไว้เพื่อให้ปลอกเหล็กอยู่ในตำแหน่งทั้งทางราบและทางดิ่ง เมื่อปลอกเหล็กลงไปสุดแล้ว เพื่อความมั่นใจว่าได้ตำแหน่งที่ถูกต้องแล้ว จะสำรวจเพื่อเก็บค่าพิกัดคือจุดศูนย์กลางของปลอกเหล็ก แต่คำถามคือจะวัดค่าพิกัดจุดศูนย์กลางของปลอกเหล็กวงกลมได้อย่างไร ในทางปฏิบัติบางครั้งจะใช้ตะแกรงเหล็กปิดปากปลอกเหล็ก แล้วช่างสำรวจจะใช้ตลับเมตรวัดระยะครึ่งหนึ่งของเส้นผ่าศูนย์กลางสองด้านตั้งฉากกันแล้วทำเครื่องหมายไว้บนกระดานไม้ จากนั้นจึงจะวัดค่าพิกัดโดยการตั้งเป้าปริซึม ถ้าใช้มินิปริซึม ตั้งต่ำจะให้ค่าที่ถูกต้องดียิ่งขึ้น แต่ปัญหาคือตอนใช้ตลับเมตรวัดกึ่งกลาง (เส้นที่ผ่านจุดศูนย์กลางคือเส้นที่ยาวที่สุด) เพื่อหาตำแหน่งศูนย์กลางนั้นใช้เวลาพอสมควรและมี error จากการคาดคะเน วิธีต่อไปที่จะนำเสนอเพื่อทำให้การวัดค่าพิกัดทำได้เร็วขึ้น จะใช้สูตรทางคณิตศาสตร์มาช่วย โดยการวัดค่าพิกัดสามจุดโดยแบ่งให้ระยะห่างแต่ละจุดเท่าๆกัน จากนั้นช่างสำรวจจะใช้เครื่องคิดเลข คำนวณหาค่าพิกัดจุดศูนย์กลาง วิธีการนี้จะใช้เวลารวดเร็วกว่าวิธีแรกพอสมควร…
Geoid Height Pro v1.05 สำหรับ Mac OS X
Geoid Height Pro v1.05 รุ่นสำหรับแมคโอเอส คล้อยหลังที่ปล่อยรุ่นสำหรับวินโดส์ไปแล้ว ผมมานั่งคอมไพล์โปรแกรมสำหรับ Mac ซึ่งก็แก้ไขโค๊ดไปบ้าง แต่ไม่ได้หนักหนาอะไร ทำ installer ด้วย dmgCreator ฟรี ข้อเสียในรุ่นแมคเทียบกับวินโดส์ก็คือ ขนาดเมื่อบีบอัดแล้วยังปาไปถึง 218 MB ส่วนรุ่นวินโดส์ประมาณ 95 MB เอง ดาวน์โหลดและติดตั้ง ดาวน์โหลดโปรแกรมได้ที่ GeoidHeightV105.dmg แล้วดับเบิ้ลคลิกแมคจะทำการเมาท์อิมเมจมาให้จากนั้นลาก icon โปรแกรมเข้าโฟลเดอร์ Applications เป็นอันเสร็จ โปรแกรมไม่มีเรียกใช้เฟรมเวิร์ค (Framework)…
แนะนำโปรแกรมคำนวณความสูงจีออยด์ (Geoid Height Pro) บน EGM96 และ EGM2008 (แจกให้ใช้ฟรี)
เปลี่ยนชื่อโปรแกรม สำหรับโปรแกรม Geoid Height Pro ชื่อเดิมคือ Geoid Height Calculator เนื่องจากชื่อเดิมไปพ้องกับโปรแกรมทางฝั่งอเมริกา เกรงจะมีปัญหาด้านลิขสิทธิ์ ก็ขอเปลี่ยนชื่อตามนี้ครับ ทำไมต้องคำนวณความสูงจีออยด์ เป็นที่ทราบกันว่าความสูงเมื่อวัดด้วย GPS จะเป็นความสูงที่อยู่บนทรงรีของ WGS84 เรียกว่า Ellipsoidal Height แต่ในชีวิตจริงของคนเราความสูงที่เราต้องการคือความสูงที่เทียบกับระดับน้ำทะเลปานกลาง (Mean Sea Level) โดยเฉลี่ยแล้วพื้นผิวจีออยด์จะทับกันสนิทได้กับระดับน้ำทะเลปานกลาง ดังนั้นถ้าทราบความสูงจีออยด์ในตำแหน่งนั้น เราก็สามารถคำนวณหาความสูงจาก GPS เทียบกับระดับน้ำทะเลปานกลางได้ และความสูงเมื่อเทียบกับระดับน้ำทะเลปานกลาง เรียกอีกอย่างได้ว่า Orthometric…
เทคนิคการใช้โปรแกรมแปลงค่าพิกัด GeoCalc
ใน Blog ของ WordPress ที่ผมเขียนอยู่หา Theme ที่ถูกใจยาก ไม่ใช่เรื่องความสวยงามแต่เป็นขนาดของคอลัมภ์ ส่วนใหญ่จะแคบมากพอวางรูปแล้วจะต้องย่อมากๆ และอีกเรื่องคือวาง source code แล้วจะโดนปัดบรรทัดลงทำให้ดู code ยาก งง ตอนนี้ก็เปลี่ยนไปเปลี่ยนมายังไม่ถูกใจสักที ผมเห็นคน search เข้ามาใน blog มากเรื่องการแปลงพิกัด บางคนมีแต่พิกัดยูทีเอ็ม ต้องการค่าพิกัดเป็น Lat/Long เพื่อไปจุดลง Google Earth แต่ไม่รู้จะใช้โปรแกรมอะไร คือโปรแกรมในอินเทอร์เน็ตมันมากเกินจนสับสน ไม่รู้จะเลือกอะไร สำหรับผมแล้ว…