หน้าแรก > GIS, GPS, Surveying, Windows > เทคนิคการใช้โปรแกรมแปลงค่าพิกัด GeoCalc

เทคนิคการใช้โปรแกรมแปลงค่าพิกัด GeoCalc

  • ใน Blog ของ WordPress ที่ผมเขียนอยู่หา Theme ที่ถูกใจยาก ไม่ใช่เรื่องความสวยงามแต่เป็นขนาดของคอลัมภ์ ส่วนใหญ่จะแคบมากพอวางรูปแล้วจะต้องย่อมากๆ และอีกเรื่องคือวาง source code แล้วจะโดนปัดบรรทัดลงทำให้ดู code ยาก งง ตอนนี้ก็เปลี่ยนไปเปลี่ยนมายังไม่ถูกใจสักที
  • ผมเห็นคน search เข้ามาใน blog มากเรื่องการแปลงพิกัด บางคนมีแต่พิกัดยูทีเอ็ม ต้องการค่าพิกัดเป็น Lat/Long เพื่อไปจุดลง Google Earth แต่ไม่รู้จะใช้โปรแกรมอะไร คือโปรแกรมในอินเทอร์เน็ตมันมากเกินจนสับสน ไม่รู้จะเลือกอะไร สำหรับผมแล้ว Coordinate Calculator ของ Trimble คือสุดยอดของโปรแกรมแปลงค่าพิกัดพวกนี้ รองลงมาก็ได้แก่ GeoCalc ของ GeoComp ซึ่งเป็นของฟรี ส่วน Coordinate Calculator ของ Trimble จะมาพร้อมกับ Terramodel (ที่ทีมงานผมใช้แทน Autodesk Land Desktop มานานแล้ว) หรือ HydroPro Navigation (ทีมงานผมใช้อยู่แต่ค่อนข้างหน่อมแน้มเมื่อเทียบกับคู่แข่งคือ HyPack) โปรแกรมสำหรับงาน Hydrographic Survey หรือ Trimble Geomatic Office สำหรับงาน GPS ขั้นสูง
  • GeoCalc ผมเคยแนะนำโปรแกรมนี้ไปก่อนหน้านี้ เป็นของฟรี ดาวน์โหลดได้ที่ http://www.geocomp.com.au/geocalc/gcalc420.exe ถึงจะเป็นโปรแกรมเก่าไปหน่อยแต่ก็ใช้ดี โปรแกรมมีขนาดเล้ก เรียบง่าย แต่ก่อนจะใช้งานต้องปรับจูนกันนิดหน่อย ให้เหมาะกับ Datum และทรงรีที่เราใช้งานกันอยู่ เมื่อดาวน์โหลดมาก็ทำการติดตั้งให้เป็นที่เรียบร้อย

แก้ค่าสัณฐานทรงรี Everest 1830 (Indian 1975 datum) ให้ถูกต้อง

  • ประเทศไทยก่อนหน้านี้ใช้ Indian 1975 เป็น Datum มีทรงรีเรียกว่า Everest 1830 มีค่า semi-major axis (a) =  6,377,276.345 m. ค่า flattening (1/ f) = 300.8017 หลังๆมาเราหันมาใช้ทรงรี WGS84 กันมากขึ้น ดังนั้นระหว่างระบบพิกัดเดิม (Indian 1975) กับระบบพิกัดใหม่ (WGS84) ก็อาจจะต้องมีโปรแกรมที่ทำหน้าที่คำนวณแปลงพิกัดระหว่าง datum
  • โปรแกรม GeoCalc มี mistake อยู่เล็กน้อยคือค่าพารามิเตอร์ของทรงรี Everest ไม่ถูกต้อง เมื่อติดตั้งเรียบร้อยลองรันโปรแกรมดู เราจะทำการแก้ไขค่าพารามิเตอร์ของทรงรี Everest  1830 ให้ถูกต้องเสียก่อน
เมนูแก้ไขค่าพารามิเตอร์ทรงรี

เมนูแก้ไขค่าพารามิเตอร์ทรงรี

  • จากรูปด้านบนคลิกเมนู Edit > Spherod Definitions จะเห็นไดอะล็อก ขึ้นมาจะทำการแก้ไขค่าพารามิเตอร์ของทรงรี Everest 1830
ตั้งค่าพารามิเตอร์ Everest 1830 ให้ถูกต้อง

ตั้งค่าพารามิเตอร์ Everest 1830 ให้ถูกต้อง

  • จากรูปด้านบนที่ combo box “Edit/Select Spheroid” คลิกไปหา “Thailand/Vietnam (Indian Everest)” ที่นี้ถ้าติดตั้งโปรแกรมครั้งแรกจะเห็นค่า Semi-Major Axis = 6,377,267.345 ซึ่งผิด ดังนั้นจุดที่ 1 แก้ไขค่าเป็น 6,377,276.345 (เลข 7 กับเลข 6 สลับตำแหน่งกัน) จุดที่ 2 ตั้งค่า Translation X, Y และ Z เป็น 206, 837 และ 295 ตามลำดับ
  • ต่อไปจะเพิ่ม Datum ที่ประเทศไทยใช้งานอยู่ เหมือนเดิมที่เมนู Edit > Map System Definitions
เมนูแก้ไข Coordinate Systemsเมนูแก้ไข Coordinate Systems
  • โปรแกรม Geocalc เรียกว่า Map System ท่านผู้อ่านอาจจะพบคำว่า Coordinate Systems มากกว่า มีความหมายคือระบบพิกัดนั่นเอง

เพิ่มระบบพิกัด Thailand UTM 47N Indian 1975

เพิ่ม Coordinate Systems ให้กับประเทศไทย

เพิ่ม Coordinate Systems ให้กับประเทศไทย

  • โปรแกรมนี้มีทรงรี Everest 1830 อยู่แต่ระบบพิกัดของประเทศไทยไม่ได้เตรียมไว้ แต่ข้อเสียของโปรแกรมคือไม่สามารถเพิ่ม (Add) เข้าไปได้ เราจะใช้วิธีหักเอาด้วยกำลัง คือเขียนทับ Coordinate Systems ของประเทศอื่นๆ ที่ผู้ใช้ไม่คิดว่าจะได้ใช้ระบบพิกัดของเขา ตอนนี้ผมเล็งที่ช่อง Selected Mapping System ดังรูปด้านบนผมเลือกเอาบรรทัดที่ห้า พิมพ์ THAILAND UTM47N INDIAN 1975 ทับของเดิมเข้าไป

เพิ่มระบบพิกัด Indian 1975 ให้กับประเทศไทย

เพิ่มระบบพิกัด Indian 1975 ให้กับประเทศไทย

  • จากรูปด้านบน จุดที่ 1 พิมพ์ THAILAND UTM47N INDIAN 1975 จุดที่ 2 เลือกทรงรีเป็น Thailand/Vietnam(Indian Everest) จุดที่ 3 เลือก Projection Type เป็น Transverse Mercator จุดที่ 4 ตั้งค่า Origin Parameters ตามที่เห็น จุดที่ 5 ตั้ง Central Meridian เป็น Fixed และข้างล่างติดกันเลือก Zone 0 Longitude เท่ากับ 47 (ก็คือ UTM Zone 47)

เพิ่มระบบพิกัด Thailand UTM 47N WGS84

  • ตอนนี้เรามีระบบพิกัดของไทยที่ใช้ทรงรี Everest 1830 เป็นที่เรียบร้อยที่ผมให้ชื่อไว้ THAILAND UTM 47 N INDIAN 1975 ที่นี้เรามาสร้างระบบพิกัดของไทยที่ใช้ทรงรี WGS84 กันบ้างวิธีการก็เหมือนเดิมผมเลือกเอาบรรทัดที่หก ตรง ComboBox “Selected Mapping System” พิมพ์ THAILAND UTM 47N WGS84 ตั้งค่าต่างๆดังรูปด้านล่าง
เพิ่มระบบพิกัด UTM 47N บนทรงรี WGS84

เพิ่มระบบพิกัด UTM 47N บนทรงรี WGS84

คำนวณการแปลงพิกัดจาก Indian 1975 ไป WGS84

  • ที่เมนูหลักคลิก Process > Manual Input
เลือกเมนูคำนวณ

เลือกเมนูคำนวณ

  • โจทย์ของผมวันนี้คือเรามีค่าพิกัด UTM อยู่ในระบบ Indian 1975 มีค่า Easting(E) = 391024.838 ค่า Northing(N) = 1576384.958 ต้องการแปลงเป็นค่า Lat/Long ในระบบพิกัด WGS84 ดูรูปด้านล่าง
การคำนวณการแปลงค่าพิกัดจาก Indian 1975 ไปยัง WGS84

การคำนวณการแปลงค่าพิกัดจาก Indian 1975 ไปยัง WGS84

  • จากรูปด้านบน จุดที่ 1 ที่ช่อง From และ To ตั้งค่าดังรูป จะสอดคล้องกับ Group Box ด้านซ้ายจะเป็นช่องนำเข้าข้อมูล Point in From Map System ด้านขวามือจะมี Point in to Map System จุดที่ 2 ป้อนค่าพิกัดที่ตั้งโจทย์ไว้ จุดที่ 3 คือผลลัพธ์ค่าพิกัดในรูป Lat/Long ที่เราต้องการ โปรดสังเกตด้านล่างที่ขีดเส้นใต้เป็นฟอร์แมตของค่าพิกัด Lat/Long เป็น DDD.MMSSssss นอกจากนั้น Group Box ด้านซ้ายจะเห็นค่าพิกัด Lat/Long จะเป็นค่าพิกัดแลตติจูดและลองจิจูดบน Indian 1975 หรือจะเรียกว่าบนทรงรี Everest 1830 ก็ได้ และเช่นเดียวกัน Group Box ด้านขวาจะเห็น Easting และ Northing ที่ผมไม่ได้พูดถึงเป็นค่าพิกัด UTM บนทรงรี WGS84 คลิกที่ปุ่ม “Calculate” เราคำนวณครั้งเดียวจะได้ค่ามาหมดเลย ขี้นอยู่กับว่าต้องการค่าไหนไปใช้
  • จากรูปด้านบนเราได้ค่าพิกัด Lat = 14.15349881 Long = 97.59120712 ถ้าดูรูปฟอร์แมต DDD.MMSSssss กระจายค่า latitude 14.15349881 ได้ 14 องศา 15 ลิปดา 34.9881 ฟิลิปดา แต่ถ้าคิดเป็น degree (ฟอร์แมต DDD.dddddddd) จะได้ 14+15/60+34.9881/3600 = 14.25971891
  • ส่วนค่า longitude 97.59120712 เขียนกระจายได้ 97 องศา 59 ลิปดา 7.12 ฟิลิปดา เขียนเป็น degree ได้ = 97+59/60+7.12/3600 = 97.985311

ทดสอบการจุดค่าพิกัดบน Google Earth

  • ตอนนี้เรามีพิกัดอยู่สองแบบของฟอร์แม็ต แบบแรกคือ DDD.MMSSssss ดังที่โปรแกรม GeoCalc แสดงผลลัพธ์ให้เรา ส่วนอีกแบบคือเป็นค่า degree เรามาดูแบบแรกกัน Lat = 14.15349881 Long = 97.59120712 (ค่า Lat = 14 องศา 15 ลิปดา 34.9881 ฟิลิปดา ค่า Long = 97 องศา 59 ลิปดา 7.12 ฟิลิปดา) เขียนกระจายใหม่เพื่อนำไปใช้กับ Google Earth ได้ 14 15 349881N,97 59 07.12E ข้อสำคัญคือเราต้องเติมค่า N ถ้าอยู่ด้านเหนือของเส้นศูนย์สูตร และลองจิจูดใส่ค่า E ไปด้านท้ายค่าลองจิจูดให้เพราะเราอยู่ซีกโลกด้านตะวันออก และไม่ลืมที่จะคั่นแลตติจูดกับลองจิจูดด้วยเครื่องหมายคอมม่า (,)
  • ที่โปรแกรม Google Earth เปิดที่เมนูคลิก Tools > Options… ตั้งค่าตรงประเภทของมุมให้เป็น Degrees,Minutes,Seconds ตามรูปด้านล่าง
ตั้งค่าชนิดของมุมให้ Google Earth

ตั้งค่าชนิดของมุมให้ Google Earth

  • จากรูปด้านบนคลิก OK แล้ว Copy ค่า 14 15 34.9881N,97 59 7.12E ไปวางไว้ตรง Search (จุดที่ 1 ของรูป) ของ Google Earth กด Enter ดูผลลัพธ์รูปด้านล่างตรงจุดที่ 2

ผลลัพธ์ของการจุดค่าพิกัดบน Google Earth

ผลลัพธ์ของการจุดค่าพิกัดบน Google Earth

  • ถ้าจะป้อนค่า Lat/Long บน Google Earth เป็นค่า degree ต้องไปเปลี่ยน ที่เมนู Tools > Options… โดยคลิกรูปแบบมุม (Show Lat/Long) ที่ Decimal Degree แล้วค่าพิกัดให้เอาค่า degree ที่ผมกล่าวไว้ข้างต้นคือ 14.25971891N,97.985311E ไปวางที่ Search ของ Google Earth จะให้ผลเช่นเดียวกัน
  • เสริมอีกนิดหน่อยครับ ตรง Search ของ Google Earth ที่เราป้อนค่าที่ต้องการค้นหา นอกจากค่า Lat/Long แล้ว โปรแกรมจะเอาประโยคที่เราป้อนส่งไป process ถ้าเป็นที่อยู่ต่างประเทศเช่น อเมริกาหรือยุโรป เช่นถ้าเราป้อนที่อยู่จากบ้านเลขที่ ถนน เขต เมือง โปรแกรมจะทำการ GeoCode เพื่อคำนวณหา Lat/Long ให้ เพราะที่ๆอยู่ประเทศเหล่านี้เขาวางผังมาดี แต่บ้านเราทำไม่ได้ครับ ขนาดบุรุษไปรษณีย์ไปบ่อยยังหลงเลยครับ

ข้อดีและข้อจำกัดของ GeoCalc

  • ข้อจำกัดของโปรแกรมคือผู้อ่านจะเห็นว่ามุมทั้ง input และ output ป้อนได้ฟอร์แม็ตเดียวคือ DDD.MMSSssss น่าจะสนับสนุนแบบ degree ข้อจำกัดข้อที่สองคือไม่สนับสนุนการคำนวณ Geoid (ทอนความสูงจากบนทรงรีมาเป็น Orthometric Height หรือ MSL) ข้อดีคือฟรี และเล็กๆ ขนโปรแกรม (Copy โฟลเดอร์ของ Geocalc ก็พอ) ใส่ Thumb drive ก็คำนวณได้
About these ads
  1. 05/02/2014 ที่ 11:36

    กลับมาแอบอ่านครับพี่ อิอิ

  1. No trackbacks yet.

ใส่ความเห็น

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

ติดตาม

Get every new post delivered to your Inbox.

Join 49 other followers

%d bloggers like this: