ย้อนรอยเส้นโครงแผนที่ความเพี้ยนต่ำ โครงการรถไฟความเร็วสูงไทย-จีน

ผมได้เสนอบทความไปหลายตอนเรื่องเส้นโครงแผนที่ความเพี้ยนต่ำ ทั้งความเป็นมา ประโยชน์ ตลอดจนการคำนวณสร้างเส้นโครงแผนที่ มาดูตัวอย่างการใช้งานจริงๆในโครงการรถไฟความเร็วสูงไทย-จีน ว่าทางผู้ออกแบบได้มีการวางแผนสร้างเส้นโครงแผนที่นี้อย่างไร นำมาใช้อย่างไรบ้าง

ก็ขออนุญาตนำเอกสารบางส่วนในโครงการนี้มาเผยแพร่ ในส่วนที่เกี่ยวข้องกับระบบพิกัดเส้นโครงแผนที่เท่านั้น

แนวเส้นทางรถไฟความเร็วสุง กรุงเทพฯ – นครราชสีมา

โครงการรถไฟความเร็วสูงไทย-จีน (กรุงเทพฯ – นครราชสีมา)

ระบบพิกัดแผนที่ ทางผู้ออกแบบได้แบ่งเป็นสองระบบคือ

  1. WGS-UTM (Drawing) เป็นระบบพิกัดยูทีเอ็มใช้พื้นหลักฐาน WGS84 Zone 47N ตัวนี้เอาไว้คุมแนวเส้นทาง (Route Alignment) ในภาพรวมทั้งหมด จะไม่นำมาใช้ในงานก่อสร้าง มีหมายเหตุในเอกสารด้วยว่ามีความถูกต้องต่ำ ก็คงหมายถึงมี Combined Scale Factor (CSF) ที่ค่ามากอยู่ ทำให้ Ground distance กับ Grid Distance มีความต่างกันอยู่มากพอสมควร
  2. WGS-TM (Construction) เป็นเส้นโครงแผนที่ความเพี้ยนต่ำ (LDP) ใช้ Transverse Mercator เป็น projection มีการยก plane ขึ้นมาแตะค่าระดับที่กำหนดไว้ที่แตกต่างกันในแต่ละโครง ทำให้ค่า K0 แต่ละโครงแผนที่แตกต่างกันไป ทางผู้ออกแบบได้แบ่งเส้นโครงแผนที่ทั้งหมดตลอดเส้นทางกรุงเทพฯ – นครราชสีมา ไว้ 4 เส้นโครงแผนที่ ในงานก่อสร้างจะใช้ระบบพิกัดนี้เท่านั้น เนื่องจากเป็นเส้นโครงแผนที่ความเพี้ยนต่ำ ประโยชน์ที่ได้คือ Ground distance กับ Grid distance มีความใกล้เคียงกันมา
WGS-UTM (Drawing) & WGS-TM (Construction)
WGS-UTM (Drawing) & WGS-TM (Construction)

วิธีการออกแบบระบบพิกัดความเพี้ยนต่ำ

สำหรับการออกแบบระบบพิกัดความเพี้ยนต่ำ (Low-Distortion Projected Coordinates System ) แบ่งได้ 3 วิธี (รายละเอียดอ่านได้ตามลิ๊งค์นี้ เครดิต: Michael L. Dennis, PhD, PE, RLS)

  1. ขยายขนาดทรงรีอ้างอิงแบบอัตราส่วน (Scale the reference ellipsoid) วิธีนี้จะใช้การขยายขนาดแกนทั้งแกนเอกและแกนโทของทรงรี ไปเท่าๆกัน เพื่อให้ขนาดของทรงรีมาแตะพื้นผิวภูมิประเทศ ข้อเสียของวิธีการนี้คือถ้าต้องการแบ่งระบบพิกัดสำหรับพื้นที่มากกว่า 2 พื้นที่ที่มีความสูงแตกต่างกันเป็นต้นไป จะต้องกำหนดค่าแกนเอก (semi-major axis) และแกนโท (semi-minor axis) ของทรงรีแตกต่างกันไป ซึ่งจะเพิ่มความยุ่งยากในการกำหนดพารามิเตอร์และการคำนวณ ส่วนมากวิธีการนี้จะกำหนดค่า K0 เป็นค่าคงที่
  2. ขยายระบบพิกัดแผนที่ที่ใช้ในปัจจุบันแบบอัตราส่วน (Scale an existing published map projection) วิธีการนี้จะเป็นการยกระนาบของแผนที่จากเดิมมาแตะที่พื้นผิวภูมิประเทศ พูดง่ายๆคือการสเกลค่าพิกัด ระบบนี้มีข้อเสียและความยุ่งยากมากที่สุด เพราะค่าพิกัดจะใกล้เคียงกันสร้างความสับสนได้ รวมทั้งจะมีปัญหาความสับสนกับพารามิเตอร์การแปลงพิกัด และค่ามุมเยื้องกริด (convergence angle) จะไม่ลดลงมีค่าเท่าเดิม
  3. ออกแบบระบบแผนที่เส้นโครงความเพี้ยนต่ำ (Design a Low Distortion Projection) วิธีนี้เป็นวิธีที่ผมได้นำเสนอไปแล้วก่อนๆหน้านี้ คือการยกระนาบพิกัดฉากมาแตะที่พื้นผิวภูมิประเทศ โดยที่ขนาดของทรงรี (ellipsoid) ยังเท่าเดิม สิ่งที่ได้คือจะได้ค่า K0 แตกต่างกันไปตามพื้นที่ที่เราออกแบบระบบพิกัด

เส้นโครงแผนที่ความเพี้ยนต่ำสำหรับโครงการรถไฟความเร็วสูงไทย-จีน

ในช่วงเส้นทางกรุงเทพฯ ตั้งแต่บางซื่อจนถึงนครราชสีมา ทางผู้ออกแบบได้วางเส้นโครงแผนที่ไว้ทั้งหมด 4 เส้นโครง หรือ 4 โซน ใช้ Transverse Mercator (TM) เป็น projection แต่ละโซนมีความกว้าง 27-32 ลิปดา (ประมาณ 43-51 กม.) ทั้งหมด 4 โซน โดยการออกแบบใช้วิธีการขยายขนาดทรงรีแบบอัตราส่วน (Scale the reference ellipsoid) รวมทั้งหมดกว้าง 180 กม. ซึ่งคลุมพื้นที่ทั้งหมด (ในโซนแรกจากกรุงเทพถึงสระบุรี จะเป็นลักษณะเส้นทางที่ขึ้นไปทางทิศเหนือ จากสระบุรีเส้นทางถึงไปด้านตะวันออก) โดยมีรายละเอียดดังนี้

  1. The First Construction Coordinate System
    • ใช้เส้นโครงแผนที่ Transverse Mercator
    • พื้นหลักฐาน WGS84
    • กำหนด Central Meridian (CM) = 100º42′
    • Geodetic height of projection plane = 0m (Thai MSL system)
  2. The Second Construction Coordinate System (Thai MSL system)
    • ใช้เส้นโครงแผนที่ Transverse Mercatorพื้นหลักฐาน WGS84
    • กำหนด Central Meridian (CM) = ** ยังไม่มีข้อมูล **
    • Geodetic height of projection plane = ** ยังไม่มีข้อมูล **
  3. The Third Construction Coordinate System
    • ใช้เส้นโครงแผนที่ Transverse Mercatorพื้นหลักฐาน WGS84
    • กำหนด Central Meridian (CM) = 101º48′
    • Geodetic height of projection plane = 195m (Thai MSL system)
  4. The Fourth Construction Coordinate System
    • ใช้เส้นโครงแผนที่ Transverse Mercatorพื้นหลักฐาน WGS84
    • กำหนด Central Meridian (CM) = 102º15′
    • Geodetic height of projection plane = 160m (Thai MSL system)

เครดิต : ดร.ไพศาล สันติธรรมนนท์ ระบุว่าการออกแบบของโครงการนี้เป็นแบบขยายขนาดทรงรีแบบอัตราส่วน พร้อมตัวอย่างโค้ดไพทอนในการแปลงพิกัด สามารถดูและศึกษาได้ที่ท้ายบทความในส่วนของความเห็น (comment)

ไดอะแกรมเส้นโครงแผนที่ความเพี้ยนต่ำ

ผมขอนำไดอะแกรมที่ผมทำไว้มาให้ดูอีกที ค่าระดับของระนาบของพิกัดฉาก ก็คือความสูงเฉลี่ยของพื้นที่ (h0) ความกว้างโซนเท่ากับ 27 ลิปดาหรือประมาณ 42 กม. ความกว้างโซนจะไม่กว้างมากเท่ากับ UTM ซึ่งจะทำให้ค่าความเพี้ยนมีค่ามากเกินไป

ไดอะแกรมแสดงเส้นโครงแผนที่ความเพี้ยนต่ำที่ระนาบพิกัดฉากสัมผัสที่ความสูงเฉลี่ย h0

ย้อนรอย

ผมดูข้อกำหนดของเส้นโครงแผนที่แล้วยังขาด Latitude of origin มีแต่ Longitude of origin (CM) เมื่อดูค่าพิกัดหมุดจะเห็นค่า Northing (N) ทั้งสองระบบใกล้เคียงกัน ต่างที่ระดับหลักกิโลเมตรหรือพันเมตร ค่า Latitude of origin จึงควรจะเป็นที่เดียวกันคืออยู่ที่ 0 องศา (เส้นศูนย์สูตร) เอาละครับตอนนี้ผมจะของมุ่งย้อนรอยของระบบพิกัดที่ 1 (The First Construction Coordinate System) ตามข้อกำหนดด้านล่าง หมายเหตุว่าค่าระดับ h0 จะแตะที่ 0m จากระดับน้ำทะเลปานกลาง ทำให้ขนาดทรงรีประเมินว่ายังเท่าเดิม (ความต่างระหว่างพื้นผิวจีออยด์กับพื้นผิวทรงรีมีขนาดไม่ต่างกันมากนัก)

The First Construction Coordinate System

  • ใช้เส้นโครงแผนที่ Transverse Mercator (TM)
  • พื้นหลักฐาน WGS84
  • กำหนด Central Meridian (CM) 100º42′
  • Geodetic height of projection plane = 0m (Thai MSL system)

ย้อนรอยคำนวณหาค่า K0

ผมขอย้ำอีกทีว่า UTM ที่เราใช้กันอยู่ประจำนั้นใช้เส้นโครงแผนที่ TM และกำหนด K0 = 0.9996 เป็นมาตรฐาน แต่เส้นโครงแผนที่ความเพี้ยนต่ำจะไม่ใช้ค่า 0.9996 แต่จะเป็นค่าที่ได้จากการคำนวณที่ยก plane ระบบฉากมาแตะค่าระดับ h0 ที่ผมกล่าวไปแล้ว

เพื่อให้ง่ายผมก็ขอใช้ Surveyor Pocket Tools ที่ผมพัฒนาขึ้นมาแจกจ่ายให้ใช้กันฟรี ผมใช้รุ่นที่อยู่ในแมคโอเอส สำหรับวินโดส์ วิธีการใช้ก็เหมือนกัน

ทูลส์ Init Design LDP ใน Surveyor Pocket Tools

คลิกที่โปรแกรมย่อย Init Design LDP ป้อนข้อมูลดังรายละเอียดด้านล่าง รายละเอียดผมป้อน h0 = 0m ในช่อง (1) ป้อนแลตติจูดเริ่มต้น 0 องศา ป้อนลองจิจูดเริ่มต้น 100d42′ ที่ช่อง (2) แล้วคลิกคำนวณ (3)

Init Design LDP

ผมตั้งโมเดลเป็น EGM2008 ที่ Settings ผลการคำนวณจะได้ค่า K0 ดังรายการด้านล่าง

ผลลัพธ์ K0

ค่า K0 = 0.99999968511 ในที่นี้ค่าใกล้ 1.0 มาก ผมเลยปัดเป็น 1.0

สร้างเส้นโครงแผนที่ความเพี้ยนต่ำ

เมื่อได้ K0 แล้วสามารถนำไปคำนวณสร้างเส้นโครงแผนที่ความเพี้ยนต่ำได้ ย้อนไปที่ Surveyor Pocket Tools คลิกรันโปรแกรมย่อย Create LDP

ทูลส์ Create LDP ใน Surveyor Pocket Tools

ป้อนข้อมูล ตามลำดับ (1), (2) และ (3) สำหรับ False Northing (FN) และ False Easting (FE) ใช้เหมือน UTM เราจะทำการจัดเก็บระบบพิกัดเส้นโครงแผนที่ความเพี้ยนต่ำดังกล่าวนี้ไปในฐานข้อมูล LDP Database โดยการคลิก (4) โปรแกรมจะยืนยันว่าต้องการจัดเก็บก็คลิก “OK”

สร้างเส้นโครงแผนที่ความเพี้ยนต่ำ (Create LDP)

เปิดฐานข้อมูลเส้นโครงแผนที่ความเพี้ยนต่ำ (LDP Database)

เมื่อจัดเก็บเส้นโครงแผนที่ความเพี้ยนต่ำไปแล้ว ข้อมูลจะถูกจัดเก็บเข้าฐานข้อมูล กลับไปที่ Surveyor Pocket Tools เลือกทูลส์ LDP Database

ฐานข้อมูลเส้นโครงแผนที่ความเพี้ยนต่ำ (LDP Database) ใน Surveyor Pocket Tools

จะเห็นตารางข้อมูลเส้นโครงแผนที่ความเพี้ยนต่ำที่สร้างไว้ เลื่อนลงมาด้านล่างสุด จะเห็นเส้นโครงแผนที่ความเพี้ยนต่ำดังที่ผมไฮไลท์ไว้

เส้นโครงแผนที่ความเพี้ยนต่ำโครงการรถไฟความเร็วสูงไทย-จีนในฐานข้อมูล LDP Database

คำนวณแปลงพิกัดระหว่างค่าพิกัด UTM และเส้นโครงแผนที่ความเพี้ยนต่ำ

เมื่อจัดเก็บเข้าฐานข้อมูลก็สามารถใช้โปรแกรมหรือทูลส์ของ Surveyor Pocket Tools คำนวณแปลงค่าพิกัดข้ามไปหากันได้เป็นปกติ ขอยกค่าพิกัดหมุดคอนโทรลที่อยู่ในโซนระบบพิกัดชุดที่ 1 (The First Construction Coordinate System) จะลองแปลงพิกัดหมุด CPI30 จากระบบพิกัด WGS-UTM ไปยังเส้นโครงแผนที่ความเพี้ยนต่ำ WGS-TM (The First Construction Coordinate System)

เปิดทูลส์ Transform Coordinates จาก Surveyor Pocket Tools ตั้งระบบพิกัดต้นทาง (1) WGS-UTM (WGS-84 / UTM Zone 47N) แล้วตั้งระบบพิกัดปลายทางเป็น WGS-TM หรือเส้นโครงแผนที่ความเพี้ยนต่ำตาม (2) จากนั้นป้อนพิกัด UTM ชื่อหมุดคือ CPI30 N = 1613645.7570 E = 715988.6272

ทดสอบการแปลงพิกัดจากระบบพิกัด UTM มาเส้นโครงแผนที่ความเพี้ยนต่ำ

ผลการแปลงพิกัดในกรอบ (1) จะได้ค่าเท่ากับในตารางด้านบนเป๊ะ โดยที่ N = 1613361.0707 E = 532854.7471สามารถยืนยันว่าค่า K0 ที่ใช้ในโซนนี้จะต้องเท่ากับ 1.0 อย่างแน่นอน

ผลลัพธ์การแปลงพิกัด

ลองปักหมุดดู คลิกที่ไอคอนของ Google Earth

ตรวจสอบความเพี้ยน (Distortion)

ถือว่าเป็นสิ่งที่ขาดไม่ได้สำหรับค่าความเพี้ยน ถ้าเราสามารถออกแบบเส้นโครงแผนที่ความเพี้ยนต่ำให้ได้ค่าความเพี้ยนในพื้นที่โครงการได้ต่ำเท่าไหร่ ก็จะยิ่งเป็นประโยชน์มากเท่านั้น แต่ในทางปฏิบัติอาจจะทำไม่ได้ค่าที่ต่ำขนาดนั้น จึงมีตัวเลขกลมๆ คือถ้าได้ค่าความเพี้ยนไม่เกิน 20 ppm ก็ถือว่าเป็นค่าในฝัน

อธิบายอีกนิด 20 ppm (คือ 20 ส่วนในล้านส่วน) หมายถึงความเพี้ยน 20 มิลลิเมตรต่อระยะทางหนึ่งกิโลเมตรคือ 1000 เมตร ถ้าแปลงหน่วยเป็นมิลลิเมตรจะเท่ากับ 1000000 (หนึ่งล้าน) มิลลิเมตร ก็แสดงว่าระยะทางหนึ่งกม. (หรือหนึ่งล้านมม.) จะมีความเพี้ยนที่ระยะทาง Ground distance และ Grid distance ต่างกันไม่เกิน 20 มม. ซึ่งมันน้อยมาก ถ้าเทียบกับระยะทาง 100 เมตร ระยะทางจะเพี้ยนต่างกันแค่ 0.2 มม. (ประมาณปลายดินสอกดจุดลงไป) ซึ่งก็นั่นสามารถใช้ระยะทางสองแบบนี้ทดแทนกันได้ในงานก่อสร้าง

ผมใช้ทูลส์ Create LDP แต่ครั้งนี้จะไม่สร้างแต่จะใช้ทดสอบหาค่าความเพี้ยน ลอกค่า latitude และ longitude ของหมุด CPI30 จากทูลส์ Transform Coordinates มาใส่ในทูลส์ Create LDP ในข้อ (1) และป้อนค่าระดับ 22.3986 เมตร ลงไปด้วย คำนวณด้วย (3)

ใช้ค่าพิกัด CPI-30 และค่าระดับมาคำนวณหาค่าความเพี้ยน

ผลการคำนวณได้ค่าความเพี้ยน 14.64 ppm ซึ่งน้อยกว่า 20 ppm สามารถนำเส้นโครงแผนที่ความเพี้ยนต่ำนี้ได้อย่างมั่นใจและไม่มีปัญหา

คำนวณหาค่าความเพี้ยน

เมื่อย้อนรอยไปดูเส้นโครงแผนที่ความเพี้ยนต่ำของโครงการรถไฟฟ้าความเร็วสูง ไทย-จีน จากกรุงเทพ – นครราชสีมา ผมมีสองประเด็นที่ไม่ค่อยสบายใจนัก (แต่ผมก็เคารพความคิดคณะผู้ออกแบบที่ได้ออกแบบระบบพิกัดนี้มาใช้งานในโครงการนี้) ประเด็นมีดังนี้

  • คือวาง Latitude of origin ไว้ที่เส้นศูนย์สูตร ถึงแม้ในเอกสารไม่ระบุไว้แต่ก็น่าจะใช่ และอย่างที่สองคือวางค่า False Northing (FN) = 0 และวาง False Easting (FE) = 500000 ซึ่งทำให้ค่าพิกัด N มีค่าใกล้เคียง UTM ทำให้สับสนได้ง่ายกับค่าพิกัดในระบบพิกัด UTM
  • ถ้า Lattiude of origin สามารถขยับมาวางในพื้นที่โครงการ การกำหนดค่า FE = 200000 และค่า FN = 300000 จะทำให้ค่า N, E ที่ได้ต่างจากค่าพิกัด UTM ชัดเจน เห็นค่าพิกัดก็ทราบทันทีเลยว่ามันอยู่ในระบบไหน

แต่อย่างไรก็ตามผมถือว่าเป็นงานแรกที่ระบบพิกัดที่ใช้สำหรับงานก่อสร้างขนาดใหญ่และกินระยะทางที่ยาวมากที่ใช้ระบบพิกัดเส้นโครงแผนที่ความเพี้ยนต่ำของไทยเราแทนที่จะเป็นระบบ UTM ที่เราใช้กันมานาน บทความต่อไปผมจะปรับปรุงทูลส์ Surveyor Pocket Tools ให้สามารถคำนวณการแปลงพิกัดในระบบนี้ โปรดติดตามตอนต่อไปครับ

19 thoughts on “ย้อนรอยเส้นโครงแผนที่ความเพี้ยนต่ำ โครงการรถไฟความเร็วสูงไทย-จีน”

  1. แบบนี้ถ้าผมมีโครงการที่ระยะทางไม่เกิน 5 กม แต่อยากได้ค่าความเพี้ยนไม่เกิน 20ppm ผมก็สามารถสร้าง LDP ขึ้นใข้เองใช่ไหมครับ

    1. สร้างขึ้นมาใช้ได้เองครับ แต่ถ้าราชการสามารถสร้างขึ้นมาได้จะดีกว่า ประกาศใช้เป็นทางการ ให้เอกชนหรือประชาชนสามารถใช้ได้ด้วยจะดีกว่ามากๆ

  2. ขอบคุณมากครับสำหรับความรู้ใหม่ๆ เท่าที่เคยได้สัมผัส ผิวเผินกับ โครงการนี้ พบว่า การกำหนด LDP ขึ้นมาใช้ในโครงการนี้ เป็นอะไรที่ใหม่สำหรับ ช่างสำรวจและก่อสร้าง บ้านเรามาก จนบางครั้งได้สร้างปัญาหาในการทำงาน ระหว่างผู้ปฎิบัติ ไทย-จีน โดยเฉพาะอย่างยิ่ง ช่างชาวไทยที่ต้องปรับตัวเป็นอย่างมากกับระบบนี้ (ฟังแล้วน่าหนักใจแทนฝั่งจีน) ก็คงต้องปรับตัว และ กำหนดตัวบุคคลที่เกี่ยวข้องกับการดำเนินงานลักษณะนี้ให้เข้มงวดขึ้น และค่อยๆปรับรูปแบบการทำงานกันต่อไป บทความนี้ก็จะเป็นสิ่งที่จุดประกายแนวความคิด เกี่ยวกับงานสำรวจให้กับคนรุ่นหลังต่อไป สุดยอดมากครับ

    1. ขอบคุณครับที่มาทักทายกัน ผมก็หวังว่าเล็กๆบทความนี้จะเป็นจุดเริ่มต้นเล็กๆให้พี่น้องพวกเราชาวสำรวจได้้ก้าวเดินไปด้วยกันครับ

  3. มีวิธีแปลงค่าหลานค่าพร้อมกันไหมคะ

  4. อาจารย์ครับ ผมอยากทราบว่าจะสามารถเปลี่ยน WGS-UTM เป็น WGS-TM ที่ CML 101-48-00 Geodetic Height of Projection Plan 195 ตามรูปWGS-UTM (Drawing) & WGS-TM (Construction) ได้หรือไม่ครับ ,, พอดีผมทำตามที่อาจารย์สอนแต่ได้ค่าที่ต่างกันค่อนข้างเยอะเลยครับ

    1. มีปํญหาเหมือนกันตรง CM นี้ผมคำนวณค่า K0 ได้ 1.00003080162 (วาง Lat=0 Long=101-48 H0=195 h0=195.7983 ใช้ EGM2008) นำมาคำนวณใช้จุด CPI-41 ทดสอบโดยที่ค่าในระบบ WGS-UTM N=1622239.2090 E=751632.9102 Elev=376.2575 ได้ค่าในระบบพิกัด WGS-TM N=1621689.78252 E=450061.12931 ค่าในตารางจากเอกสาร N=1621689.7312 E=450061.1414 จะเห็นว่าค่า N ต่างกัน -0.051m ค่า E ต่าง +0.012m จะว่าทางผู้ออกแบบใช้ TM แบบ Gauss-Kruger (K0=1.000) ที่จีนนิยมใช้มาคำนวณก็ไม่ตรง ผมว่าต้องให้ผู้ออกแบบเปิดออกมาแล้วว่าใช้สูตรอะไรพร้อมตัวอย่างการคำนวณ ผมมีเกร็ดเล็กน้อยที่เจอที่รถไฟฟ้า MRT ที่บังคลาเทศ vertical curve ใช้ Circular แต่ปัญหาคือใช้สูตรแล้วคำนวณไม่ได้จะต่างกันประมาณ 1-2 ซม. ขอทางผู้ออกแบบเปิดสูตรออกมา เขาใช้การคำนวณด้วยสูตรใน excel แต่เป็นสูตรที่ interpolate แบบสมัยที่คำนวณด้วยมือสมัยแต่ก่อน

      แล้วถ้ามีหมุด GNSS ที่รังวัดใหม่ กรณีนี้จะคำนวณแปลงพิกัดอย่างไร ทางผู้ออกแบบมีคำแนะนำหรือโปรแกรมแปลงพิกัดให้ใช้ไหมครับ

      1. ขอบคุณมากๆเลยครับอาจารย์ ,,
        ทางผมเองก็หาวิธีการแปลงค่าให้ได้ใกล้เคียงจากทฤษฎีต่างๆที่มีการสันนิฐานกันอยู่เหมือนกันครับ แต่ก็ไม่มีวิธีใดที่ได้ตรงกันแบบ 100% จะมีผิดเพี้ยนกันไปบ้าง ,,
        ทางผมเลยได้ข้อคิดเลยครับว่าใน Survey Report ของโครงการแต่ละโครงการควรจะระบุถึงสูตรและวิธีการคำนวนเพื่อให้ได้มาซึ่งค่าที่สามารถนำไปใช้งานจริง เพราะหากมีการเปลี่ยนแปลงจะได้สามารถทำได้เลยไม่ต้องไปรบกวนผู้ออกแบบ และอีกอย่างที่สำคัญคือเป็นการแบ่งปันความรู้ให้คนผู้ที่สนใจด้วย แบบที่อาจารย์ทำอยู่นี่หละครับ ,,
        ผมขอสมัครเป็น FC ณ ครับ ,, ^___^ !!

        1. ไม่มีปัญหาครับ อ.ดร.ไพศาล สันติธรรมนนท์ มาชี้ทางสว่าง อ่านคอมเมนต์ถัดไปครับผม

  5. นายช่างประจวบครับ
    ผมใช้ proj4/pyproj นิยาม UTM TM
    #############################
    # proj4 definitions
    UTM_PROJ4 = “+proj=utm +zone=47, +north +a={} +b={} +datum=WGS84 +units=m +no_defs”
    TM_PROJ4 = “+proj=tmerc +lat_0=0.0 +lon_0={} +k_0=1.0000 +x_0=500000. +y_0=0 +a={} +b={} +units=m +no_defs”
    WGS84_a = 6378137.0 # m NGA,2014
    WGS84_b = 6356752.3142 # m NGA,2014
    #################################
    ทดลองแปลงกับเอกสารที่ จีน ให้มากับโครงการ
    พบว่า ค่าต่าง เนื่องจากการคำนวน ถือว่า เท่ากัน
    กับไลบรารี่ที่จีนให้มาคร้บ ต่างก้นเชิงเลขไม่เกิน3 มิลลิเมตร
    :::::: TM10042@000m NumPnts: 47 RMSE:0.0001 m. ::::::
    :::::: TM10148@195m NumPnts: 26 RMSE:0.0032 m. ::::::
    :::::: TM10215@160m NumPnts: 8 RMSE:0.0027 m. ::::::

    1. สวัสดีครับอ.ไพศาล ขอบคุณมากๆครับที่มาชี้ทางสว่าง เดี๋ยวขอไปตามสูตรในคอมเมนต์ถัดไปครับ ขอบคุณครับ

    2. ขอขอบคุณอาจารย์ไพศาล มากๆเลยครับ ,, พอเข้าใจหลักการแล้วครับ
      ผมจะนำหลักการและวิธีการของอาจารย์ทั้งสองท่านไปลองปรับใช้ในงานครับผม

  6. #
    # Example_UTM_TM.py :
    # Phisan.Chula@gmail.com
    #
    from pyproj import Proj, transform

    #####################################################################
    # proj4 definitions
    UTM_PROJ4 = “+proj=utm +zone=47, +north +a={} +b={} +datum=WGS84 +units=m +no_defs”
    TMC_PROJ4 = “+proj=tmerc +lat_0=0.0 +lon_0={} +k_0=1.0000 +x_0=500000. +y_0=0 +a={} +b={} +units=m +no_defs”
    WGS84_a = 6378137.0 # m NGA,2014
    WGS84_b = 6356752.3142 # m NGA,2014

    #####################################################################
    UTM = Proj( UTM_PROJ4.format( WGS84_a, WGS84_b ) )
    # Transverse Mercation Construction Coordinate System (TMC)
    TMC_CM = 101+48/60 # central meridian
    TMC_PP = 195. # geodetic height of project plane
    TMC = Proj( TMC_PROJ4.format( TMC_CM , WGS84_a+TMC_PP , WGS84_b+TMC_PP ) )

    #####################################################################
    pnt_utm = ( ‘CPI40’ , ( 1621267.7905, 747759.5894 ) , ‘TM10148’ )
    pnt_tm_rep = ( ‘CPI40’, ( 1620766.5882, 446177.2932 ) , ‘TM10148’ ) # HSR Report
    #####################################################################
    n_W84 , e_W84 = pnt_utm[1]
    n_TM_rep, e_TM_rep = pnt_tm_rep[1]

    e_TM_cal, n_TM_cal = transform( UTM, TMC , e_W84, n_W84 )
    de , dn = e_TM_cal-e_TM_rep , n_TM_cal-n_TM_rep
    print(‘Easting : {:10.4f} m Northing : {:.4f} m’.format( e_W84, n_W84 ) )
    print(‘Easting : {:10.4f} m Northing : {:.4f} m’.format( e_TM_rep, n_TM_rep ) )
    print(‘Easting : {:10.4f} m Northing : {:.4f} m’.format( e_TM_cal, n_TM_cal ) )
    print(‘Diff.E. : {:10.4f} m Diff.N. : {:.4f} m’.format( de, dn ) )

    ++++++++++++++++++++++++++++++++++++++++++++++++++++
    ++++++++++++++++++++++++++++++++++++++++++++++++++++
    Easting : 747759.5894 m Northing : 1621267.7905 m
    Easting : 446177.2932 m Northing : 1620766.5882 m
    Easting : 446177.2928 m Northing : 1620766.5913 m
    Diff.E. : -0.0004 m Diff.N. : 0.0031 m

    1. สวัสดีครับอ.ไพศาล
      ยอดเยี่ยมครับ ได้แต่ใช้คำว่าทึ่ง คีย์ของ solution น่าจะอยู่ที่โค้ด
      TMC_PP = 195. # geodetic height of project plane
      TMC = Proj( TMC_PROJ4.format( TMC_CM , WGS84_a+TMC_PP , WGS84_b+TMC_PP ) )

      คือการบวกความสูงตัวอย่างเช่น 195m เข้ากับ major axis a ของ ellipsoid WGS84 จะได้ a = 6378137.0+195 = 6378332m และก็บวกเข้ากับ minor axis b เช่นเดียวกัน b = 6356752.3142+195 = 6356947.3142m แล้วก็นำพารามิตเตอร์ตัวใหม่มาคำนวณ โดยที่ล็อค K0=1.0 คงที่ เพิ่งเคยเจอวิธีการแบบนี้ พี่หน่อยพอมีตัวอย่างอ้างอิงใช้งานที่อื่นไหมครับ จะลองมาเทียบเคียงกับ LDP ซึ่งถ้ามันไม่ใช่ LDP จะได้เปลี่ยนหัวเรื่อง 🙂 ขอบคุณครับ

  7. จริงๆ แนวคิดการหาการฉายแผนที่ชนิดความเพี้ยนต่ำสำหรับงานออกแบบและก่อสร้รางเป็น เทรนด์ ปัจจุบัน เลย ดังตัวอย่างชัดๆ จากงานออกแบบระบบรถไฟฟ้าความเร็วสูงของจีนที่ก้าวหน้าที่สุดในโลกและส่งขายออกทั่วโลก
    อีกตัวอย่างหนึ่งคืองานพัฒนาระบบแผนที่ SPCS-2022 ของ National Geodetic Survey (NGS) ของสหรัฐอเมริกา ดังปรากฏในเอกสาร NOAA Special Publication NOS NGS 13 The State Plane Coordinate System History, Policy, and Future Directions, Michael L. Dennis, March 6, 2018
    ไทยเราก็น่าจะศึกษาและพัฒนามาตรฐานนี้จะช่วยให้ วิศวกร ช่างสำรวจ งานก่อสร้างโครงสร้างพื้นฐาน งานรังวัดที่ดิน ทำงานได้สดวกสบายมากขึ้น ลดความซับซ้อนและผิดพลาดทั้งที่เป็นระบบและไม่เป็นระบบต่างๆ
    ผมมีโอกาสช่วงนี้จะลอง ยกร่างดู เสร็จแล้วจะขอพูดคุยให้ วิศวกรรมสถานแห่งประเทศไทย เป็นเจ้าภาพ เชิญพวกเรา หลายๆภาคส่วนไปนั่งคุยกัน Thai Transverse Mercator for Construction ( TTMC ) น่าจะดีใหมครับ

    1. ขอบคุณมากครับ สำหรับแนวทางที่อ.ไพศาลเสนอมาถ้าบรรลุวัตถุประสงค์จะเป็นประโยชน์นับเอนกอนันต์แก่วงการงานสำรวจบ้านเรา ผมเห็นด้วยครับ สนับสนุนอีกแรง

Leave a Reply

Your email address will not be published. Required fields are marked *