แม้การแปลงระบบพิกัดไฟล์ใน GIS จะเป็นเรื่องง่าย แต่สำหรับในฝั่งแคด เช่น Autocad, GStar, BricsCad หรือ ZWCad ดูจะไม่ง่ายนัก ส่วนของ Civil 3D ที่ผู้ใช้สามารถกำหนดระบบพิกัดมาตั้งแต่แรก ก็สามารถแปลงได้ง่ายกว่า การแปลงระบบพิกัดมีความจำเป็นในบางสถานการณ์ ขอยกตัวอย่างจากประสบการณ์ของผมในงานก่อสร้างทางทะเล บริเวณชายฝั่งทะเลที่ระยอง มีแบบ Drawing ของงานวางแนวท่อแก๊สที่กำหนดระบบพิกัดเป็น Indian 1975 จากงานก่อสร้างสามสิบกว่าปีที่แล้ว
ในงานก่อสร้างท่าเรือที่ปัจจุบันใช้ UTM zone 47N / WGS84 ที่ต้องข้ามท่อแก๊สที่ฝังไว้ใต้ดิน จะต้องมีการแปลงพิกัดเข้าหากันเพื่อตรวจสอบกันก่อน ก่อนที่จะมีการตรวจสอบในขั้นต่อไปเช่นสำรวจชั้นดินใต้ทะเลด้วย Sub-Bottom Profiler เพื่อหาตำแหน่งที่แม่นยำ เมื่อได้ตำแหน่งที่แม่นยำแล้ว ขึ้นต่อไปคือนำแนวท่อที่ได้จากการสำรวจหาชั้นดินมาทำการเปิดหน้าดินด้วยการใช้ Air Lift ดูดและยกเอามวลดินออก เมื่อเปิดหน้าดินจนกระทั่งพบท่อแก๊สแล้ว ก็จะสำรวจตำแหน่งด้วยอุปกรณ์ RTK จากนั้นจะกลบกลับด้วยทรายและในงานก่อสร้างท่าเรือก็จะกำหนดให้บริเวณนี้เป็นบริเวณอันตรายที่การก่อสร้างจะต้องทำด้วยความระมัดระวัง
ระบบพิกัดฉากแบบแอลดีพี (Thailand – LDP; TH-LDP)
ในปัจจุบันที่มีการผลักดันระบบพิกัดแบบ LDP เพื่อนำมาใช้งานแทนระบบพิกัดยูทีเอ็ม เช่น งานก่อสร้างระบบสาธารณูปโภคต่างๆ เพื่อหลีกเลี่ยงปัญหาความคลาดเคลื่อนจากสเกลแฟคเตอร์ เป้าหมายคือระยะทางบนแผนที่ที่ใช้สำรวจและออกแบบ กับระยะทางจริงที่วัดด้วยเทปเหล็ก จะต้องใกล้เคียงกัน เป้าหมายของ LDP คือ 1 กม. ระยะทางบนแผนที่ต้องต่างจากระยะทางจริง 1 กิโลเมตร ไม่เกิน 20 มิลลิเมตร (100 เมตร คลาดเคลื่อนได้ 2 มิลลิเมตร)
ระบบพิกัดแบบ LDP นั้นกรมทางหลวงและการไฟฟ้าฝ่ายผลิตในส่วนของสายส่งได้เริ่มนำมาใช้และนำร่องไปก่อนแล้ว คาดว่าในอนาคตจะมีการใช้กันมากขึ้นในส่วนราชการและเอกชน และที่สำคัญมากๆที่นำมาใช้ก่อนใครคือโครงการก่อสร้างรถไฟความเร็วสูงไทย-จีน ตามที่ผมได้เขียนในบล็อกไปหลายตอน
ในงานสาธารณูปโภคที่ยาวๆเช่นถนนหรือรถไฟ จำเป็นต้องมีแบบ drawing ที่เป็นแม่บทมาคุมเรื่อง alignment, ROW ไปตลอดเส้นทาง และจะมีแบบก่อสร้างเป็นโซนๆ ในเคสนี้การแปลงแบบ drawing ก็เป็นสิ่งที่หลีกเลี่ยงไม่ได้เช่นกัน
ระบบพิกัดฉากแบบแอลดีพี (Low Distortion Projection: LDP) ในพื้นที่ประเทศไทย ใช้ตัวย่อ TH-LDP ยังมีการผลักดันกันต่อด้วยการยกร่างมาตรฐาน และถ้าไม่มีอุปสรรคอะไร มาตรฐาน TH-LDP อาจจะได้ใช้ในเร็วๆนี้ จุดประสงค์ของมาตรฐานนี้มีดังต่อไปนี้
- เพื่อกำหนดมาตรฐานการฉายแผนที่เพื่อสร้างความสะดวกถูกต้อง และ ลดความคลาดเคลื่อนเชิงตำแหน่ง ระยะทาง และพื้นที่ ที่เกิดจากความแตกต่างระหว่างระยะทางบนพื้นดินจริง (Ground Distance) และระยะทางบนระนาบแผนที่ (Grid Distance) ในงานวิศวกรรมที่ต้องการความละเอียดถูกต้องสูง
- เพื่อลดความซับซ้อนและลดโอกาสเกิดความผิดพลาดในการปฏิบัติงานอันเนื่องมาจากการคำนวนใช้ค่าสเกลแฟกเตอร์ (Scale Factor) รายกรณีของงานออกแบบ การบริหารงานก่อสร้าง ตลอดจนการผลิตชิ้นงานก่อสร้าง ต่างๆ
โปรแกรมแปลงไฟล์แคดข้ามระบบพิกัด (Drawing Transformer)
ผมได้พัฒนาโปรแกรมแปลงไฟล์แคดข้ามระบบพิกัด ตอนแรกแค่รูปแบบไฟล์ DXF ตอนหลังมาคิดว่าน่าจะต้อง DWG เพื่อไม่ต้องให้ผู้ใช้ยุ่งยากต้องแปลง จาก DWG <==> DXF เอง เมื่อวางแผนอย่างนี้ก็ไปสะดุดที่การอ่านไฟล์แคดรูปแบบ DWG ที่มีความซับซ้อนมากได้ เราไม่สามารถเขียนโปรแกรมเพื่อการนี้ได้ จำเป็นต้องหาตัวช่วย

OpenDWG / ODA กับรูปแบบไฟล์ DWG ของ Autodesk
- OpenDWG / ODA (Open Design Alliance) สมาคมซอฟต์แวร์อุตสาหกรรม (Industrial Software Consortium) ที่ก่อตั้งขึ้นในปี ค.ศ. 1998 ได้ทำ Reverse Engineer รูปแบบไฟล์ DWG และพัฒนาไลบรารีแบบ Open Source ที่เรียกว่า Teigha / ODA Platform ซึ่งสามารถอ่านและเขียนไฟล์ DWG ได้ ไลบรารีนี้เป็นแกนหลักที่อยู่เบื้องหลังเครื่องมือต่าง ๆ เช่น ODA File Converter (ฟรี), nanoCAD, BricsCAD, LibreCAD (บางส่วน) และอีกหลายโปรแกรม คุณภาพการทำงานอยู่ในระดับดีมาก แต่ไม่ได้เหมือนกับการ Implement ของ Autodesk เอง 100% — อาจมีความแตกต่างในกรณีพิเศษ (Edge Cases) กับ DWG เวอร์ชันใหม่ ๆ, Proxy Entities หรือ Complex Objects
- Autodesk ได้เผยแพร่ DWG TrueView (โปรแกรมดูไฟล์ฟรี) และ RealDWG SDK (ต้องซื้อ License) แต่ไม่เคยเปิดเผย Specification ของรูปแบบ DWG อย่างเต็มรูปแบบ
ในอดีต Autodesk เคยฟ้องร้อง Open Design Alliance เกี่ยวกับรูปแบบไฟล์นี้ หลายครั้งหลายครา แต่พล็อทเรื่องมาหักมุมตอนที่ Autodesk เข้ามาร่วมเป็นสมาชิก ODA ในปี 2025 ไม่นานนี้เอง การฟ้องร้องเลยยุติไป เหตุผลที่เข้าร่วมคือแรงผลักดันหลักมาจากกลุ่มผู้ใช้ Revit ในอุตสาหกรรม AEC ที่เรียกร้องให้มีการทำงานร่วมกัน (Interoperability) ที่ดีขึ้นสำหรับ BIM
ตัวช่วยที่ว่านี้ผมต้องสมัครเป็นสมาชิกเพื่อจะใช้ SDK แต่เนื่องจากค่าสมาชิกต่อปีมหาโหด แบบขนห่านร่วงทั้งตัว ผมเลยต้องไปหาตัวช่วยอื่น
ทูลส์แปลงรูปแบบไฟล์แคด (DWG – DXF)
ผมลองหาตัวเลือกหลายๆทาง สุดท้ายก็มาจบที่ทูลส์ของ ODA อยู่ดี เป็นทูลส์สำหรับแปลงพิกัดไฟล์แคด ODA DWG-DXF Converter ผู้ใช้สามารถใช้ได้ฟรี สามารถดาวน์โหลดนำไปติดตั้งได้ ถ้าจะต้องแปลงไฟล์ข้ามระบบพิกัดจากรูปแบบ DWG ไปยัง DWG จะต้องใช้โปรแกรมนี้มาช่วยทางอ้อม ผมไม่สามารถนำมารวมกับโปรแกรมผมได้ เพราะจะผิดกฎหมายและเงื่อนไขการใช้งาน สรุปง่ายๆก็คือผู้ใช้ดาวน์โหลดโปรแกรมนี้มาติดตั้ง ตรวจสอบว่าติดตั้งที่ไหน แล้วก็ไม่ต้องทำอะไรต่อ โปรแกรมของผมจะเรียกใช้อีกที

การพัฒนาโปรแกรมแปลงไฟล์แคดข้ามระบบพิกัด (Drawing Transformer)
ในยุคนี้พลังของเอไอล้นเหลือ ผมใช้เอไอ Anthropic Claude มาช่วยในการพัฒนาโปรแกรมนี้ สมัยนี้เราไม่ต้องเก่งเขียนโปรแกรมก็สามารถพัฒนาโปรแกรมได้ เปลี่ยนสถานะจากโปรแกรมเมอร์มาเป็นผู้กำกับแทน แต่ก็ต้องเข้าใจว่าเรากำลังทำอะไร มีความเข้าใจดีขนาดไหน บางทีเอไอก็ทำอะไรมาที่ไม่ตรงกับที่เราต้องการก็มี เราต้องคอยตรวจสอบและควบคุมให้ดี อย่างการแปลงระบบพิกัดเนื่องจากผมมีประสบการณ์พัฒนา Surveyor Pocket Tools มาอย่างยาวนาน ผมเลยเข้าใจขั้นตอนและการใช้ไลบรารีต่างๆที่จะมาช่วย เป็นอย่างดี
รากฐานของการแปลงไฟล์แคดข้ามระบบพิกัด โดยเนื้อแท้เราต้องเข้าไปดูในไฟล์ DXF (ผมเข้าไปในไฟล์ DWG ไม่ได้เพราะไม่มี SDK) ทำการอ่านไฟล์มาทั้งกระบิ ตรวจสอบว่ามีพิกัด X,Y ตรงไหนบ้างแล้วทำการแปลงระบบพิกัดตรงนั้น ในช่วงพัฒนานั้นผมสังเกตว่ามีข้อปลีกย่อยมากมายในการแปลงพิกัดซึ่งเอไอทำได้ดี ตัวอย่างเช่นพวกแสดงขนาดเช่น DimLine, DimAlign ที่ขนาดเปลี่ยนแล้วแต่ตัวหนังสือไม่แก้ตาม หรือต้องตามไปแก้ใน Viewport สำหรับ layout ต่างๆ โดยรวมการแปลงระบบพิกัด ต้องออกแรงมากพอสมควร ถ้าถามผมตรงๆว่า ถ้าไม่มีเอไอทำได้ไหม ผมตอบแบบไม่ชัดถ้อยชัดคำว่าทำได้ แต่ต้องใช้เวลามากและโปรแกรมที่ออกมานั้นอาจจะไม่ดีพอ ซึ่งในชีวิตจริงผมก็เลี่ยงไม่พัฒนาโปรแกรมพวกนี้ที่คิดว่าทำได้ แต่ใช้เวลามากเกินไป
โปรแกรมใช้ภาษาไพทอน ขึ้นกราฟฟิคในส่วนติดต่อกับผู้ใช้ด้วย Pyside6 ตามที่ผมถนัด และไลบรารีเปลี่ยนระบบพิกัดใช้ PROJ ผ่าน pyproj อีกที ส่วนไฟล์ dxf อ่านและเขียนด้วยไลบรารีของไพทอนคือ ezdxf ซึ่งผู้พัฒนาได้พัฒนามาต่อเนื่องทำให้รองรับ dxf รุ่นใหม่ๆได้เป็นอย่างดี
ทำไฟล์ติดตั้ง (Installer) ด้วย Inno Setup สมัยก่อนนั่งเขียนสคริปต์ใน Inno Setup สมัยนี้ไม่ต้องแค่บอกเอไอ เขาจัดการให้หมด ตอนนี้ทำให้ตั้งแต่ต้นน้ำถึงปลายน้ำ
ดาวน์โหลดและติดตั้ง
ตอนนี้โปรแกรมสมบูรณ์แล้วในระดับที่สามารถนำไปใช้งานได้ สามารถไปดาวน์โหลดและติดตั้งได้ตามลิ๊งค์นี้ และอย่าลืมติดตั้ง ODA DWG-DXF Converter คู่กันด้วยครับ
เลือกระบบพิกัดต้นทาง (Source CRS)
เมื่อเปิดโปรแกรมมาแล้ว จะเป็นโปรแกรมขนาดเล็ก ไม่มีอะไรซับซ้อน สมมติว่าผมมีไฟล์ DWG ที่อยู่ในระบบพิกัด WGS84 / UTM zone 47N ต้องการแปลงเป็นระบบพิกัด Indian 1975 / UTM zone 47N ด้านซ้ายผมเลือกระบบพิกัดต้นทางได้ดังนี้
เลือก “Projected CRS” แล้วคลิกที่สามจุด “…” จะมีไดอะล็อกออกมาให้เลือกระบบพิกัด ซึ่งผมทำเผื่อประเทศอื่นไว้เยอะ เวลาจะหาต้องพิมพ์เอา เช่นเรารู้ว่า WGS84 / UTM zone 47N นั้นมีเลข ESPG เท่ากับ 32647 ก็พิมพ์เอา ซึ่งจะเป็นการฟิลเตอร์เลือกมา เมื่อตัวเลือกแคบมาและมองเห็นสามารถคลิกเลือกได้

เลือกระบบพิกัดปลายทาง (Target CRS)
เช่นเดียวกับระบบพิกัดต้นทาง ตรงฟิลเตอร์ผมพิมพ์ “rtsd” ก็จะเห็นระบบพิกัด Indian 1975 (RTSD) / UTM zone 47N ที่ใข้พารามิเตอร์แปลงจากรมแผนที่ทหาร (Royal Thai Survey Department)

ในเคสผมต้องการแปลงไฟล์แคดจาก WGS84 / UTM zone 47N ไปยังระบบพิกัดฉากของจังหวัดชลบุรี (TH.CB) ผมเลือกดังนี้ ตอนพิมพ์ พิมแค์คำว่า “cho” ระบบพิกัดฉากของจังหวัดชลบุรีก็ขึ้นมาให้คลิกเลือก

การตั้งค่า (Settings)
เมื่อติดตั้งแล้ว คลิกที่ไอคอนรูปเฟือง จะเข้ามาใน settings ถ้ายังไม่ได้ติดตั้ง ODA DWG-DXF Converter จะเห็นโปรแกรมฟ้องดังนี้ พร้อมกับมีลิ๊งค์ให้ไปดาวน์โหลด

ถ้าผู้ใช้ติดตั้งโปรแกรมแล้วติดตั้ง ODA DWG-DXF Converter แบบใช้ค่าปริยายคือคลิก next จนจบ โปรแกรมจะถูกติดตั้งและโปรแกรม Drawing Transformer จะหาเจอดังนี้ หรือเพื่อความมั่นใจถ้าติดตั้งแล้วก็คลิกที่ “Browse” ไปยังโฟลเดอร์ที่ติดตั้ง
ส่วน Datum grids ที่ผมวงสีเหลืองไว้ ก็ให้หมายเหตุว่าในประเทศไทยไม่ได้ใช้ ผมออกแบบไว้สำหรับประเทศบางประเทศที่กำหนด datum grid ไว้เพื่อใช้ช่วยในการแปลงพิกัดให้มีความละเอียดยิ่งๆขึ้นไป

แปลงค่าพิกัดข้ามระบบ
ผมลองแปลงค่าพิกัดของไฟล์แคดจาก WGS84 / UTM zone 47N ไปเป็นระบบพิกัดฉากแบบแอลดีพี TH.RY ของจังหวัดระยอง ได้อย่างไม่มีปัญหา แต่การแปลงพิกัดไฟล์นี้ไม่รวมถึงการเขียน Text ที่ไส้ในเป็นแสดงค่า Northing/Easting โปรแกรมจะไม่เข้าไปแก้ไขให้

อย่างไฟล์ที่ผมแปลงนี้เนื่องจากสำรวจและออกแบบในระบบพิกัด WGS84 / UTM zone 47N ตัวอย่างเขียน dimension ไว้ 3500 มม. เมื่อโปรแกรมตรวจพบจะแก้ไขค่านี้กลายเป็น 3499 มม. ในกรณีนี้ถ้าเราใช้แบบไฟล์แคดด้วยระบบแอลดีพี ไปตรวจรับงานอาจจะมีปัญหาเพราะสัญญางานอาจจะมองว่าสิ่งก่อสร้างนั้นได้ความยาวไม่ครบจำนวน


ดังนั้นการจะใช้ค่าพิกัดฉากแอลดีพีให้ได้ประโยชน์จริงๆ ก็ต้องสำรวจและออกแบบกันที่แผนที่บน TH-LDP และก่อสร้างบนระบบ TH-LDP นี้ เมื่อจำเป็นต้องแปลงไปเป็น Indian 1975 / UTM zone 47N ก็สามารถทำได้เพื่อตรวจสอบขอบเขตของงานเช่น right of way (ROW) เป็นต้น ตัวอย่างที่เห็นได้ชัดคืองานรถไฟความเร็วสูงไทย-จีน จะออกแบบ Alignment รวมไว้ใน WGS84 / UTM ส่วนในแบบก่อสร้างจะถูกลงไว้ที่ระบบพิกัดแอลดีพี่ที่เรียกว่า TM
ผมหวังว่าโปรแกรมแปลงไฟล์แคดข้ามระบบพิกัดคงจะมีประโยชน์ และยังจะช่วยสนับสนุนระบบพิกัดฉากแอลดีพีสำหรับประเทศไทยเรา โปรดติดตามบทความตอนต่อไปครับ