พอมีเวลาเลยเอา Traverse Pro มาปัดฝุ่น แก้ไขตอนคำนวณข้อมูลแล้วการแสดงผลลงตารางช้ามากในรุ่น V2.73 มีผู้ใช้บ่นกันมามาก ผมนั่งดูโค้ดโปรแกรมแล้วเจอสาเหตุที่ช้า เลยทำการปรับปรุงโค้ดใหม่ ตอนนี้ผมปรับรุ่นโปรแกรมมาเป็น V2.75 ก็มาดูครับว่ามีรายการอะไรบ้าง ปรับปรุงตารางป้อนข้อมูล แยกสีสันในตารางป้อนข้อมูล ให้ดูง่ายว่าคอลัมน์ไหนเป็นมุม ระยะทาง ค่าพิกัด ย่อขยายคอลัมน์ ผมเอาโปรแกรมไปติดตั้งในวินโดส์ 7 ซึ่งผมคิดว่าอาจจะมีผู้ใช้บางท่านที่ยังใช้งานอยู่พบว่า ตรงหัวแถวไม่ขยายขนาดให้ ผมปรับปรุงให้สามารถลากเมาส์ขยายขนาดคอลัมน์ให้ได้ [Update] ในวินโดส์ 7 ปรับปรุงโค้ดให้ความสูงของหัวแถวเป็นปกติแล้วใน build 6289 ปรับปรุงการแสดงผลลัพธ์คำนวณ จากเดิมเมื่อคลิกไอคอนรูปเครื่องคิดเลขเพื่อทำการคำนวณ อาจจะต้องกันเป็น…
Category: Windows
ย้อนรอยวิธีสร้างไฟล์รูปแบบ PGM ของ TGM2017 สำหรับใช้ใน GeographicLib
ผมได้เขียนบล็อกเกี่ยวกับ TGM2017 (Thailand Geoid Model 2017) มาหลายตอนแล้ว ไม่นานมานี้ทางรุ่นพี่ที่เคารพอาจารย์ดร.ไพศาล สันติธรรมนนท์ ได้วานให้ตรวจสอบไฟล์ TGM2017-1.PGM ที่ทางอาจารย์ได้สร้างไว้ด้วยโค้ดไพทอนเพื่อนำมาใช้ในไลบรารี GeographicLib ผมทดสอบแล้วใช้งานได้ดี ในขณะเดียวกันผมเห็นว่าน่าสนใจเพราะสามารถเผยแพร่การใช้งาน TGM2017 ให้ใช้งานได้หลากหลายในวงกว้างยิ่งๆขึ้นไป ผมขอสรุปรูปแบบการใช้งานดังนี้ รูปแบบแอสกี้: TGM2017.ASC เป็นไฟล์รูปแบบ ASCII คำนวณโดย TGM2017.EXE ที่ทางผู้จัดทำแบบจำลอง TGM2017 ดร.พุทธิพลและทีมงาน ได้นำมาเผยแพร่ และผมขอขอบคุณทีมงานมา ณ ที่นี้ รูปแบบ…
OpenDroneMap – การคำนวณโดยการใช้จุดบังคับภาพถ่าย (Ground Control Point) ตอนที่ 2
ตอนที่ 1 ผมนำเสนอการปรุจุดเพื่อกำหนดจุดบังคับภาพถ่าย (Ground Control Point) แบบวิ่งควาย ที่อาศัยแรงกันเป็นหลัก ได้ไฟล์มาตั้งชื่อ “gcp_list_Computation_WGS84_UTM32N.txt” เอามาลงอีกครั้งด้านล่าง สร้างโปรเจคคำนวณ กลับมาที่ WebODM วิธีการใช้ติดตามตอนแรกได้ที่ ลิ๊งค์ นี้ คลิกที่ “+Add Project” ตั้งชื่อว่า “Quarry Example V2” เราจะใช้ชุดภาพตัวอย่างที่ดาวน์โหลดจาก pix4d.com ตัวอย่างนี้สามารถไปเผยแพร่ได้ แต่เจ้าของบอกให้ลงคำว่า …เอื้อเฟื้อโดย Pix4D… นำเข้าไฟล์รูปภาพและไฟล์จุดบังคับภาพถ่าย ตอนนี้โปรเจคมีเฉพาะโครงเปล่าๆ…
OpenDroneMap – การคำนวณโดยการใช้จุดบังคับภาพถ่าย (Ground Control Point) ตอนที่ 1
สำหรับงานสำรวจทำแผนที่ นับว่าการบินโดรนเพื่อมาทำแผนที่ให้ได้พิกัดโลกที่ละเอียดนำไปใช้งานได้นั้น วิธีการดั้งเดิมคือใช้จุดบังคับภาพถ่าย (Ground Control Point – GCP) สมัยใหม่อาจจะใช้ RTK/PPK ก็ให้ความสะดวกมากขึ้นและประหยัดค่าใช้จ่ายมากกว่า มาลองดูกันว่าการใช้จุดบังคับภาพถ่ายเพื่อนำมาใช้ในโปรแกรมฟรี OpenDroneMap จะเป็นยังไง ความยากความง่าย ความสะดวกจะขนาดไหน การกำหนดจุดบังคับภาพถ่ายโดยใช้ GCP ถ้าผู้อ่านรุ่นราวคราวเดียวกับผม เคยเรียนวิชา Photogrammetry ในยุคอดีต จะคุ้นกับการกำหนดจุดบังคับภาพถ่ายเรียกกันว่าการปรุจุด เมื่อหมายจุดบนรูปถ่ายทางอากาศที่ขยายมาและพิมพ์ขยายออกมาแล้ว อาจจะเป็นแยกคันนาตัดกัน ค่าพิกัดจะได้จากการเดินวงรอบเข้าไปเก็บ ส่วนค่าระดับจะได้จากการเดินระดับ จากนั้นจะตามด้วยการคำนวณ Aerial Triangulation ซึ่งอาศัย Least…
การเปลี่ยนแปลงครั้งใหญ่ของไลบรารี Proj.4
วันนี้มาพูดถึงไลบรารี Proj.4 แบบลึกๆกันหน่อย บทความตอนนี้จะเป็นเรื่องโปรแกรมมิ่งนะครับ ไลบรารีตัวนี้ผมใช้เป็นแกนหลักในโปรแกรมรวมเครื่องมือฉบับกระเป๋าสำหรับช่างสำรวจ (Surveyor Pocket Tools) เอามาแปลงพิกัดกับระบบพิกัดที่ใช้กันในโลกนี้ (อาจจะได้ไม่ทั้งหมด) และไม่นานนี้ผมได้นำมาคำนวณ Vertical Datum คือสามารถหาความสูงจีออยด์ได้ ในความเป็นจริงถ้ามี Vertical Grid Shift หลายๆอันสามารถแปลงค่าระดับข้ามไปมาได้แบบที่ใช้ในอเมริกา ก็ใช้มาหลายปีแล้ว ในตอนนี้ไลบรารีนี้ ตั้งแต่รุ่น 5.0.0 มาถึงรุ่นปัจจุบันรุ่น 6.0.0 ทางผู้พัฒนา Proj.4 ได้เริ่มวางรากฐานใหม่ ผมในฐานะคนนำมาใช้งานก็ติดตามลุ้นด้วยความระทึกละครับ เพราะถ้าแก้ใหม่แบบถอนรากถอนโคน ผมก็ต้องออกแรงมากหน่อยเพื่อมาปรับให้โปรแกรมสามารถใช้ไลบรารีรุ่นใหม่ได้เต็มประสิทธิภาพ กว่าสองทศวรรษของการพัฒนา…
Update : โปรแกรม Surveyor Pocket Tools คำนวณความสูงจีออยด์ จากไฟล์ค่าพิกัดภูมิศาสตร์
ในกรณีที่ต้องการค่าความสูงจีออยด์จากจุดที่มีจำนวนมากตัวอย่างเช่นเป็นสิบจุดขึ้นไป การมานั่งคำนวณทีละจุดคงไม่ใช่เรื่องที่สะดวกนัก ผมปรับปรุงโปรแกรมให้สามารถอ่านไฟล์ค่าพิกัดภูมิศาสตร์ (ละติจูดและลองจิจูด) ในรูปแบบ CSV ที่ใช้ตัวแบ่งด้วยเครื่องหมายคอมมา “,” ค่าพิกัดละติจูดและลองจิจูด ต้องเป็นรูปแบบทศนิยม (degree) เท่านั้น การจัดเรียงค่าพิกัดของให้ขึ้นต้นด้วยค่าลองจิจูดตามด้วยเครื่องหมายคอมม่าและค่าละติจูด ไฟล์ทดสอบ ไฟล์ที่จะมาทดสอบโปรแกรม ผมสร้างจากโค้ดภาษาไพทอน ให้สุ่มจำนวนจุดค่าพิกัดขึ้นมา 10000 จุด โดยให้ค่าพิกัดที่สุ่มอยู่ในกรอบสี่เหลี่ยมนี้คือ ละติจูด เริ่มที่ 3 องศา ไปสุดที่ 22.9833333333333 องศา ค่าลองจิจูดเริ่มที่ 95 องศา ไปสิ้นสุดที่ 107.9833333333…
โปรแกรมรวมเครื่องมือฉบับกระเป๋าสำหรับช่างสำรวจ Surveyor Pocket Tools : Update คำนวณพื้นที่และ Scale Factor ด้วย TGM2017
สำหรับการคำนวณ Scale Factor ไม่ว่าจะเป็นจุดเดี่ยว (Point scale factor) หรือแบบเส้นตรงเฉลี่ย (Line scale factor) หรือไม่ว่าจะคำนวณพื้นที่จริงที่ทอนจากพื้นที่ตามระบบพิกัดฉากกริด ก็ตามผมเปิดโอกาสให้ผู้ใช้สามารถเลือกใช้ TGM2017 (Precise Geoid Model of Thailand 2017) เพื่อให้ค่าออกมาเนียนๆมากกว่าเดิม ที่เดิมทีใช้เฉพาะ EGM2008 เท่านั้น การประยุกต์ใช้แบบจำลองความสูงจีออยด์ต่างๆ นอกจากใช้ในงานรังวัด GNSS ยังนำมาประยุกต์ใช้สำหรับคำนวณหาสเกลแฟคเตอร์ แบบ Elevation Scale Factor…
Update : โปรแกรม Surveyor Pocket Tools คำนวณความสูงจีออยด์ TGM2017
มาตามสัญญาที่ผมบอกว่าจะอัพเดท Surveyor Pocket Tools โปรแกรมช่างสำรวจฉบับกระเป๋า ให้สามารถใช้งานคำนวณความสูงจีออยด์ TGM2017 (Thailand Precise Geoid Model 2017) ดั้งเดิมสามารถคำนวณบนโมเดล EGM96 และ EGM2008 เพียงเท่านั้น เปลี่ยนวีธีการคำนวณโดยใช้ไลบรารี Proj4 ดั้งเดิมตอนคำนวณหาความสูงจีออยด์บน EGM96 และ EGM2008 ผมพัฒนาโค้ดโปรแกรมมาจากการดัดแปลงของโค้ดดั้งเดิมภาษาซีของผู้พัฒนาท่านอื่นมาเป็นภาษาไพทอน ขณะนี้ได้ยกเลิกโค้ดชุดนี้หันมาใช้ไลบรารี Proj4 คำนวณให้ทั้งหมดเพราะสะดวกมาก และไลบรารี Proj4 สามารถจัดการเมมโมรีได้ดีกว่าของผมมาก สังเกตก่อนหน้านี้ถ้าใครเข้าไปดูใน Task…
การเล็งสกัดย้อน (Resection) ด้วยการวัดมุมภายใน ระยะทางและและมุมแบริ่งด้วยวิธีการคำนวณแบบ Least Squares (ตอนที่ 2)
ตั้งสมการ Observation Equation ขอทบทวน ค่า aik, bik เรียกว่า direction coefficients และ cik, dik เรียกว่า distance coefficients ในกรณีวัดมุมเล็งสกัดย้อนจากสมการด้านบนและเอาแทนที่ในสมการด้านล่าง เขียนให้ดูง่ายดังนี้ zi คือค่าอะซิมัทเริ่มต้น เราจะมาคำนวณหาค่า aik, bik กันก่อน มาคำนวณที่จุด P ค่าพิกัด N = 193939.897 E = 110879.464…
การเล็งสกัดย้อน (Resection) ด้วยการวัดมุมภายใน ระยะทางและและมุมแบริ่งด้วยวิธีการคำนวณแบบ Least Squares (ตอนที่ 1)
จากที่เขียนโปรแกรมสำหรับเครื่องคิดเลขคำนวณเล็งสกัดย้อนสำหรับเครื่องคิดเลข Casio fx-9860G II SD ทำให้นึกถึงวิธีการคำนวณแบบ least squares ที่เป็นพื้นฐานเคยร่ำเรียนมา โดยเฉพาะการรังวัดในปัจจุบันที่การรังวัดระยะทางด้วยกล้องประมวลผลรวมทำได้ง่าย เมื่อรวมกับการรังวัดมุม จะทำให้มีค่าเกินหรือ redundant มาคำนวณในวิธีแบบ least square ได้ การรังวัดแบบเล็งสกัดย้อนบางตำราเรียกว่า free station การวัดเล็งสกัดย้อนในยุคแรกจะวัดมุมจากหมุดสถานีหลักฐานกันเป็นหลัก และหมุดสถานีหลักฐานต้องมีค่าพิกัดและมีจำนวนอย่างน้อยสามหมุด ดังนั้นการวัดมุมอย่างน้อยสองมุมจะเพียงพอต่อการมาคำนวณ ในบทความนี้ผมจะพาไปทัวร์การคำนวณวิธี least squares ด้วยการใช้การรังวัดผสมประกอบด้วยการวัดมุมภายใน วัดระยะทาง และการวัดมุมแบริ่งหรือการวัดภาคทิศ จากนั้นจะยกตัวอย่างพร้อมทั้งวิธีการคำนวณ ปิดท้ายทดสอบผลลัพธ์การคำนวณด้วยโปรแกรม Microsurvey…