Surveyor Pocket Tools โปรแกรมรวมเครื่องมือฉบับกระเป๋าสำหรับช่างสำรวจ (แจกฟรี) – ตอนที่ 2

  • ตอนที่ 1 ผมได้แนะนำโปรแกรมย่อย UTM – Geo Converter สำหรับแปลงพิกัดบนพื้นหลักฐาน WGS84 มาถึงตอนนี้จะมาดูโปรแกรมแปลงพิกัดข้ามพื้นหลักฐาน (datum) กันว่าเป็นอย่างไร จากรูปด้านล่าง ดับเบิ้ลคลิกที่โปรแกรมที่สอง “Transform Coordinatesintro-surveyor-pokcet-tools
  •  เปิดโปรแกรมมาจะมีช่อง input/output ด้านซ้ายและด้านขวา ตรงกลางจะมีไอคอนลูกศรแสดงการแปลงพิกัดจากซ้ายไปขวาหรือจากขวามาซ้ายก็ได้

spt_utm2utm-01

โปรแกรม Transform Coordinates

  • สำหรับโปรแกรมผมตัวนี้ รุ่นแรกๆตั้งเป้าเอาแค่พอใช้งานได้ก่อน เนื่องจากมีเส้นโครงแผนที่ (Map Projection) หลายอย่างที่ไม่เคยได้ใช้มาก่อนเลย ทำให้ขาดความเข้าใจอย่างลึกซึ้งเช่นพวก Conic Projection หรือ Azimuthal Projection ที่สำคัญอีกอย่างคือไม่มีข้อมูลมาลองด้วยครับ
  • แต่ Library ที่ผมนำมาใช้คือ Proj.4 นั้นมีความสามารถพอที่จะคำนวณจากพื้นหลักฐานไหนก็ได้ด้วยเส้นโครงแผนที่ไหนก็ได้ในโลกนี้ ขอให้รู้หมายเลข EPSG ต้นทาง ปลายทางเท่านั้นพอ โจทย์ของการเขียนโปรแกรมคือจะจัดกลุ่มให้ใช้งานได้ง่ายๆอย่างไร และผู้ใช้ค้นหาพื้นหลักฐานและเส้นโครงแผนที่ให้เร็วๆได้อย่างไร

ระบบพิกัด (Coordinate System)

  • พื้นหลักฐาน (Datum) ถ้าจะนิยามกันจริงๆผมขออ้างอิงจาก Proj.4 ดังนี้ Datum = Coordinate Frame + Reference Ellipsoid
    • Coordinate Frame คือระบบพิกัดที่คำนวณมาจากการเลือกทรงรีอ้างอิงมาใช้ที่ให้ค่าความต่างความสูงระหว่างจีออยด์กับทรงรีที่น้อยที่สุด ในบริเวณนั้นๆfirefox_2016-11-03_19-34-20
    • ใช้เฉพาะพื้นที่ ดังนั้นพื้นหลักฐานแต่ละประเทศก็ใช้ต่างๆกันไป ทั่วทั้งโลกมีหลายร้อยพื้นหลักฐานครับ
  • ระบบพิกัดจะเป็นระบบที่ผูกพื้นหลักฐานเข้ากับเส้นโครงแผนที่ ตัวอย่างพื้นหลักฐาน Indian 1975 ที่เราใช้งานอยู่จะใช้ทรงรี Everest 1830 แต่เส้นโครงแผนที่จะใช้ UTM ซึ่งมีสองโซนคือ 47 และ 48 เท่านั้น

 

  •  มาดูระบบพิกัดว่าที่จะกำหนดในโปรแกรมมีอะไรบ้าง

transform_coor_01transform_coor_01

  • ช่อง Group จะเป็นกลุ่มของระบบพิกัด แบ่งเป็นสองประเภทคือ Geographic Coordinate System  ค่าพิกัดจะเป็น  แลตติจูด/ลองจิจูด เท่านั้น และต้องระวังนะครับ ค่า latitude/longitude จะไม่เท่ากันนะครับขึ้นอยู่ว่าใช้ทรงรีอันไหน
  • กลุ่มประเภทที่สองคือ Projected Coordinate System ได้แก่ค่าพิกัดที่อยู่บนฉายมาอยู่บนเส้นโครงแผนที่ (Map Projection) แล้ว ที่เราคุ้นเคยก็คือ UTM ที่ใช้เส้นโครงแผนที่แบบ Transverse Mercator ที่ใช้ทรงกระบอกวางในแนวนอนตัดกับทรงรีให้มีรอยตัด (Secant) 2 รอย  (ภาพจาก Map Projections) ส่วนอีกรูปล่างติดกันเป็น top view มองจากด้านบน ตรงรอยตัดนั้นเป็นที่ทราบดีว่า Scale = 1.0 ส่วน Central Meridian กำหนดให้ Scale = 0.9996  ตามมาตรฐานของ UTM

mappro-4-15bmappro-4-4-1b

ตัวอย่างการใช้งาน

  • อ่านแล้วมึนหัวไหมครับ ในฐานะผู้ใช้ธรรมดาก็ไม่ต้องกังวล (แต่ในฐานะคนทำแผนที่ควรที่จะต้องรู้) มาดูวิธีการใช้ โปรแกรมนี้เปิดมา Indian 1975 จะเป็นค่าปริยายอยู่ด้านขวามือ แต่ถ้าจะเลือกระบบพิกัดอันดับแรกให้ที่ “Group” ดูว่าเราต้องการใช้ค่าพิกัดภูมิศาสตร์ แล็ตติจูด/ลองจิจูดไหม หรือต้องการค่าพิกัดระบบกริด N,E เช่นถ้าต้องการระบบพิกัดกริดเลือกเป็น “Projected Coordinate System” ดูรูปด้านล่าง ลำดับจะไม่เรียง ต่อไปเลือกพื้นหลักฐานให้คลิกที่ “Datum” มันเยอะมากครับ ใช้วิธีกดอักษรตัวหน้าที่เป็นภาษาอังกฤษเช่น “I” เมื่อต้องการหา Indian 1975 แต่อาจจะต้องเคาะตัวหนังสือหลายๆครั้งเนื่องจากตัวหน้าซ้ำกันมาก (โปรแกรมรุ่นหน้าจะทำให้ค้นหาง่ายๆ)
  • เมื่อเลือกพื้นหลักฐานแล้วก็มาเลือก “System” ต่อ ความจริงมันคือเส้นโครงแผนที่ครับ ถ้าเป็น Indian 1975 ผมกำหนดให้มีสองโซนของ UTM คือ 47 และ 48

transform_coor_02

  • มาดูระบบพิกัดด้านซ้าย ผมเลือกตามรูปด้านล่าง ตอนนี้ต้องการแปลงค่าพิกัดระบบกริดจากพื้นหลักฐาน WGS84 ไปยัง Indian 1975 โดยเลือกโซน 47N ดังรูปด้านล่าง

 

surveyor-pocket-tools_2016-11-03_20-35-02

  • ผมจุดและมีค่าพิกัด ชื่อจุด “006 030” N= 1598253.177 E = 703564.224 ต้องการแปลงระบบพิกัดไปยังกริดยูทีเอ็มของ Indian 1975 ป้อนตัวเลขดังนี้ครับ เสร็จก็คลิกที่ไอคอนรูปลูกศรไปด้านขวา

transform_coor_03

  •  มาดูผลลัพธ์กัน โปรแกรมจะคำนวณค่าพิกัดกริดยูทีเอ็มและค่าพิกัดภูมิศาตร์ ของ Indian 1975 ให้และยังค่าแลตติจูด ลองจิจูดของพื้นหลักฐานต้นทางในที่นี้คือ  WGS84 ให้ด้วย ตอนนี้ Scale factor กับ convergence ยังไม่ได้ implement ไม่คำนวณให้ในรุ่นนี้

python_2017-01-13_06-22-33

 

  • ถ้ามีพิกัดกริดยูทีเอ็มของ Indian 1975 ก็สามารถเอามาป้อนด้านซ้ายแล้วคำนวณไปด้านขวาได้เช่นเดียวกัน

การป้อนรูปแบบของมุม

  • การป้อนมุมสำหรับโปรแกรมชุดนี้ ค่อนข้างต้องเป๊ะครับ ผมจะอธิบายให้พอเข้าใจ ถึงที่มาที่ไป ในทางโปรแกรมมิ่งผมใช้ที่เขาเรียกว่า Regular Express คอยสอดส่องว่าผู้ใช้กำลังป้อนอะไรเข้ามา ตรงไหนเป็นตัวเลข 0-9 ตัวไหนเป็นสัญลักษณ์เช่นองศา ° ลิปดา ‘ ฟิลิปดา ” หรือตรงไหนเป็นตัวอักษร d, N, S, E, W และต้องไม่มีช่องว่าง
  • รูปแบบ DD MM SS.SSSS เช่น 14°36’44.21988″N ต้องไม่มีช่องว่างและต้องป้อนสัญลักษณ์ให้ครบทั้งสาม แต่สัญลักษณ์องศาให้ใช้ตัว d แทนได้เช่น 14d36’44.21988″N 
  • โปรแกรมแก้ไขเรื่องป้อนมุม ดูที่  build 375 ขึ้นไป การป้อนมุมมีช่องว่างได้ครับ 14°36’44.21988″N สามารถป้อนแบบนี้ได้ 14d 36′ 44.21988″ N ถ้าป้อนไปแล้วผิดให้เอาเคอร์เซอร์มาไว้ที่ท้ายสุดแล้วกด backspace ไปเรื่อยๆ ดูโปรแกรมว่า build เท่าไหร่เปิดดูที่ About ครับ

surveyor-pocket-tools_2016-11-14_13-58-54

  • รูปแบบ DD MM.MMMM ไม่มีฟิลิปดาเพราะเศษฟิลิปดาถูกนำไปรวมเป็นทศนิยมของลิปดาแทน รูปแบบนี้นิยมสำหรับคนเดินเรือ เช่น  14°36.736998’N ต้องป้อนให้ครบทั้งสัญลักษณ์และตัวอักษร ตัวสัญลักษณ์องศาใช้ตัวอักษร d แทนได้ ป้อนแบบนี้ 14d36.736998’N
  • รูปแบบ Degree ง่ายที่สุดครับ แลตติจุดด้านเหนือป้อนธรรมดาไม่มีเครื่องหมายบวก แต่ด้านใต้ศูนย์สูตรต้องป้อนลบนำหน้าเช่น -17.877347

อนาคตของโปรแกรม

  • โปรแกรมย่อยตัวนี้ยังต้องทำอะไรอีกมาก ยังไม่ได้จัดการข้อผิดพลาด บางครั้งผู้ใช้ใส่อะไรไปที่โปรแกรมคาดไม่ถึง อาจจะแครชไปไม่ร่ำลา ก็ฝาก Surveyor Pocket Tools ไว้ใช้งานกันครับ ตอนหน้ามาว่ากันใหม่กับโปรแกรมคำนวณหาระยะทาง Geodesic Distance และ Great Circle Distance
  • พบกันตอนที่ 3 ครับ 🙂

Leave a Reply

Your email address will not be published.