Tag: GSF

ติดปีกเครื่องคิดเลขเทพ Casio fx 9860G II SD ด้วยโปรแกรมภาษาซีบน AddIn ตอนที่ 8 โปรแกรมคำนวณสเกลแฟคเตอร์ (Scale Factor)

ติดปีกเครื่องคิดเลขเทพ Casio fx 9860G II SD ด้วยโปรแกรมภาษาซีบน AddIn ตอนที่ 8 โปรแกรมคำนวณสเกลแฟคเตอร์ (Scale Factor)

โปรแกรมคำนวณสเกลแฟคเตอร์ (Scale Factor) สำหรับเครื่องคิดเลข Casio fx-9860 G

ช่วงนี้อยู่ในชุดซีรี่ย์โปรแกรมเครื่องคิดเลข Casio fx-9860G  ต่อไปขอนำเสนอโปรแกรมคำนวณสเกลแฟคเตอร์ (Scale Factor) ตัวโปรแกรมพัฒนาด้วยภาษาซี  ใช้เป็นโปรแกรม AddIn ดังรูปด้านล่าง

ปัญหาการคำนวณสเกลแฟคเตอร์

สเกลแฟคเตอร์ในที่นี้ผมจะขอหมายถึง Elevation Scale Factor (ESF), Grid Scale Factor (GSF) ตลอดจน Combined Scale Factor (CSF) สามารถอ่านได้จาก blog ก่อนหน้านี้ของผมได้ที่ใช้โปรแกรม Surveyor Pocket Tools มาช่วยคำนวณ ผู้อ่านอาจจะเคยสังเกตว่าจะไม่เคยเห็นโปรแกรมคำนวณสเกลแฟคเตอร์ในเครื่องคิดเลขเท่าใดนัก ในกรณีนี้คือพวกเราใช้ค่าระดับที่อิงระดับน้ำทะเลปานกลาง (แทนด้วยสัญลักษณ์ตัว “H“) กันเป็นหลัก น้ำทะเลปานกลางนี้สามารถใช้พื้นผิวจีออยด์ (Geoid) แทนได้ แต่การคำนวณหา Elevation Scale Factor เราจะต้องทราบค่าระดับที่อ้างอิงกับ Ellipsoid (แทนด้วยสัญลักษณ์ตัว “h“) ไม่ใช่เทียบกับระดับน้ำทะเลปานกลาง ความต่างระหว่างพื้นผิวจีออยด์และพื้นผิวทรงรี เราเรียกว่า Geoid Separation (แทนด้วยสัญลักษณ์ตัว “N“) ความสัมพันธ์ระหว่างสามสิ่งนี้คือ h = H + N

การหา Geoid Separation (N) จะต้องใช้ Earth Gravity Model ซึ่งก่อนหน้านี้ใช้ EGM96 ปัจจุบันใช้ EGM2008 ที่มีความละเอียดถูกต้องมากกว่า ซึ่งโมเดลต่างๆเหล่านี้จะเป็นไฟล์ที่มีขนาดค่อนข้างใหญ่จนใหญ่มาก ทำให้ไม่สามารถนำมาใช้กับเครื่องคิดเลขในระดับนี้ได้ และถ้าเขียนโปรแกรมด้วย Casio Basic ก็คงหมดสิทธิ์ครับเพราะไม่มีคำสั่งในการอ่านเขียนไฟล์

ปัญหาและทางออก

ผมพยายามใช้โค้ดภาษาซีในการอ่านไฟล์โมเดล EGM96  ด้วย egm96-f477.c โปรแกรมสามารถคอมไพล์และบิวท์ผ่าน แต่ตอนประมวลผลอ่านไฟล์ เนื่องจากต้องใช้เมโมรีเครื่องคิดเลขมาอ่านไฟล์เข้าไปเก็บในหน่วยความจำพบว่า เมโมรีไม่พอ พยายาม optimize ด้วยตัวเองหลายๆทางแต่ไม่สำเร็จ จนมาพบโดยบังเอิญในเว็ปไซต์ ตามลิ๊งค์นี้ จุดประสงค์ทางผู้พัฒนาไลบรานี้เพื่อเขียนแอพลงบนโทรศัพท์มือถือแอนดรอยด์ วิธีการคือเขาได้ Normalize ค่า geoid separation จาก EGM2008 ขนาดเต็มลงมาเหลือขนาดแถวคอลัมน์ 181 x 91 ความถูกต้องจะถูกลดทอนลง ผมสนใจเลยเอามาคอมไพล์บน Casio SDK พบว่าทำงานได้ ใช้เมโมรีเครื่องคิดเลขที่มีอยู่เพียงพอ แต่ก็จวนเจียนจะใช้หมดเหมือนกัน เอาละความคิดที่เคยจะเขียนโปรแกรมคำนวณสเกลแฟคเตอร์บเครื่องคิดเลขก็มาเป็นจริง อาจจะได้ค่าสเกลแฟคเตอร์ที่ไม่ละเอียดเท่าคำนวณจากคอมพิวเตอร์แต่ในระดับทศนิยมหกตำแหน่ง ถือว่าได้ครับ

เครดิตผู้พัฒนาไลบรารี Geoid

ต้องขอบคุณผู้พัฒนาคือ Stefan Röttger (stefan@stereofx.org) มา ณ ที่นี้ ติดตามผลงานได้ที่เว็บไซต์ http://www.open-terrain.org/index.php ไลบรานี้ใช้สัญญาอนุญาตแบบ New BSD License

เตือนสติเรื่องสเกลแฟคเตอร์

ผมชอบวาทะของอ.ดีบุญ เมธากุลชาติ ก็ขออนุญาตเอาจากสไลด์มาแสดง ณ ที่นี้ด้วย อ.ดีบุญเรียก Grid Scale Factor ว่าตัวประกอบมาตราส่วน ส่วน Elevation Scale Factor เรียกว่าตัวประกอบความสูง ได้ใจความครบถ้วนดีครับ และก็เตือนสติคนใช้แผนที่ดังนี้

Grid Scale Factor เมื่อคูณกับ Elevation Scale Factor จะได้ Combined Scale Factor ตัวประกอบตัวนี้คือตัวสำคัญที่จะนำไปคูนกับระยะทางที่วัดบนพื้นผิวโลกเพื่อทอนลงมาบนระนาบราบของแผนที่ (Grid Distance)

ใช้ไลบรารีแปลงพิกัด MGRS

เนื่องจากโปรแกรมนี้ต้องแปลงค่าพิกัดจากระบบพิกัดฉาก  UTM  บนดาตั้ม WGS84 ไปยังค่าพิกัดภูมิศาสตร์ เพื่อส่งไปให้ฟังก์ชั่นคำนวณหาค่าสเกลแฟคเตอร์ที่ต้องการทราบค่าละติจูด ดังนั้นผมใช้ไลบรารี mrgs พัฒนาโดย Howard Butler ไลบรานี้ใช้สัญญาอนุญาตแบบ MIT License

สิ่งที่โปรแกรมต้องการ

โปรแกรมสามารถคำนวณได้ 2 แบบคือแบบ Point Scale Factor คือแบบจุดเดี่ยวๆ สามารถคำนวณมาใช้แทนพื้นที่เล็กๆประมาณ 1 กม. x 1 กม. ได้ดี และรูปแบบที่ 2 คือ Line Scale Factor ใช้สำหรับพื้นที่ที่ใหญ่ขึ้นมา ใช้ค่าพิกัด 2 จุดหัวและท้าย โปรแกรมจะต้องการทราบค่าดังนี้

  1. เลือกโซนของยูทีเอ็ม (UTM  Zone) ตั้งแต่โซน 1 ถึง 60 และเลือกซีกโลก (Hemisphere)  เลือกได้สองอย่างคือเหนือหรือใต้เส้นศูนย์สูตร
  2. ค่าพิกัดและค่าระดับของจุดที่ต้องการทราบค่าสเกลแฟคเตอร์ ต้องการค่าพิกัดเหนือใต้ในระบบยูทีเอ็มและค่าระดับที่อ้างอิงเหนือระดับน้ำทะเลปานกลาง (Orthometric Height above Meas sea level)

ในการคำนวณตัวประกอบความสูง (Elevation Scale Factor) โปรแกรมจะนำค่าความสูงเหนือระดับน้ำทะเลปานกลางมาคำนวณเป็นค่าระดับความสูงเทียบกับระดับทรงรี (Ellipsoid Height) ที่เราไม่สามารถนำค่าระดับความสูงเหนือระดับน้ำทะเลปานกลางมาใช้คำนวณเพราะว่า ตัวอย่างเข่นในประเทศไทย ค่าระดับน้ำทะเลปานกลางจะอยู่ใต้ทรงรีประมาณ 6-42 เมตร ถ้านำไปคำนวณจะได้ค่าตัวประกอบความสูงที่ไม่ถูกต้อง

ดาวน์โหลดโปรแกรม

ไปที่หน้าดาวน์โหลด Download มองหาโปรแกรมสำหรับเครื่องคิดเลข Casio fx-9860 G II SD ดาวน์โหลดไฟล์โปรแกรมชื่อ SFACTOR.G1A ติดตั้งลงเครื่องคิดเลข

เริ่มต้นใช้งาน

เมื่อเมนูหลัก (Main Menu) เมื่อเลื่อนลูกศรมาที่ไอคอนโปรแกรมกดคีย์ “EXE” จะเข้ามาในโปรแกรมดังรูปด้านล่าง จะเห็นเมนูด้านล่างเรียงรายกันไป ได้แก่

Sett- Setting (ตั้งค่าโซนยูทีเอ็มและเลือกซีกโลก)

PSF – Point Scale Factor ( คำนวณหาค่าสเกลแฟคเตอร์ของจุดเดี่ยว

LSF – Line Scale Factor (คำนวณหาค่าสเกลแฟคเตอร์เฉลี่ยจากจุดสองจุด)

Info – Information (แสดงไลบรารีที่ผมใช้งานอยู่ ให้เครดิตแก่พัฒนา)

Exit – Exit Program (ออกจากโปรแกรม)

ตั้งค่ายูทีเอ็ม (UTM Settings)

ทีเมนูหลักกดคีย์ F1 – Sett จะเห็นหน้าตาจอภาพเครื่องคิดเลขดังนี้

เนื่องจากโปรแกรมบนเครื่องคิดเลขมีข้อจำกัดมากๆ ผมไม่สามารถใส่ระบบพิกัดได้มากเหมือน Surveyor Pocket Tools จึงจำกัดแค่ datum “WGS84” เท่านั้น สำหรับประเทศไทยก็เลือกโซนได้สองโซนคือ 47 และ 48 ตัวอย่างที่จะแสดงต่อไปเลือกเป็นโซน 47 ส่วนซีกโลก (Hemisphere) เลือกเป็น “North” กดคีย์ F6 – OK

 

คำนวณ Point Scale Factor

ตัวอย่างที่คำนวณต่อไปจะยกมาจากตัวอย่างที่แสดงในบล็อกของ Surveyor Pocket Tools เพื่อเปรียบ

เทียบผลลัพธ์กันได้ กลับมาที่เมนูหลักกดคีย์ F1-Sett ป้อนค่าพิกัด N=1499662.173, E=683068.285, H=0.791 

เสร็จแล้วกดคีย์ F1 – Calc เพื่อคำนวณสเกลแฟคเตอร์ของจุดนี้

ผลลัพธ์จะแสดงออกมาดังรูปด้านล่าง โปรแกรมจะแสดงค่าพิกัดและค่าระดับมาให้ จากนั้นแสดงค่าละติจูดและลองจิจูด แสดงความสูงเทียบกับทรงรี = -29.598 m กดคีย์ F2-PgDn เพื่อเลื่อนไปดูหน้าต่อไป

จะเห็นค่า Geoid Separation หรือ Geoid Height = -30.389 m และได้ค่า Elevation Scale Factor = 1.00000465, Grid Scale Factor = 1.00001458 สุดท้ายค่า Combine Scale Factor = 1.00001924 ลองเทียบกับค่าที่คำนวณด้วย Surveyor Pocket Tools ดังนี้

ค่า Combined Scale Factor  = 1.0000192644 ต่างกันที่ทศนิยมแปด ผมถือว่าใช้ได้เพราะเราใช้แค่ทศนิยมที่หกก็เพียงพอแล้ว ความต่างที่แตกต่างจากที่ผมเคยบอกไปแล้วคือมาจากค่า Ellipsoid height ที่คำนวณจากโปรแกรมเครื่องคิดเลขได้ -29.598 เมตร ส่วนค่าความสูงทรงรีที่ได้จาก Surveyor Pocket Tools ได้ค่า -29.776 เมตร ต่างกันประมาณ 20 ซม.

คำนวณหาค่า Line Scale Factor

จะแสดงไดอะแกรมของการคำนวณค่าสเกลแฟคเตอร์เฉลี่ยดังรูปด้านล่าง

ที่โปรแกรมเครื่องคิดเลขกลับมาที่เมนูหลัก

กดคีย์ F3-LSF จะเห็นหน้าตาโปรแกรมดังรูปด้านล่าง ป้อนค่าพิกัดจุดที่ 1 และกดคีย์ F2-Next เพื่อไปป้อนจุดที่ 2

พร้อมแล้วกดคีย์ F1-Calc ต่อไปจะได้ผลลัพธ์ดังนี้ เลื่อนลงไปดูหน้าต่อไปก็กดคีย์ F2-PgDn

สรุปแล้วจะได้ค่าเฉลี่ย Combined Scale Factor = 1.00082320

เปรียบเทียบกับค่าที่ได้จาก Surveyor Pocket Tools เท่ากับ 1.0008232302 เช่นเคยค่าต่างกันที่ทศนิยมแปด สามารถนำไปใช้งานได้

เครดิตไลบรารี

ที่เมนูหลักกดคีย์ F5-Info จะเห็นเครดิตดังรูปด้านล่าง

โปรแกรมนี้มีขนาดใหญ่กว่าโปรแกรมอื่นๆก่อนเกือบสองเท่าเพราะว่าใช้ไลบรารีอื่นๆสามไลบรารีด้วยกัน ก็ติดตามชุดโปรแกรมเครื่องคิดเลข Casio fx-9860 G กันต่อไปครับ

Surveyor Pocket Tools – Update เพิ่มโปรแกรมคำนวณสเกลแฟคเตอร์ (Line Scale Factor)

Surveyor Pocket Tools – Update เพิ่มโปรแกรมคำนวณสเกลแฟคเตอร์ (Line Scale Factor)

Today, GPS has thrust surveyors into the thick of geodesy, which is no longer the exclusive realm of distant experts. Thankfully, in the age of the microcomputer, the computational drudgery can be handled with software packages. Nevertheless, it is unwise to venture into GPS believing that knowledge of the basics of geodesy is, therefore, unnecessary. It is true that GPS would be impossible without computers, but blind reliance on the data they generate eventually leads to disaster.” วาทะของ  Jan Van Sickle (หนังสือ “GPS and GNSS for Geospatial Professionals, ปี 2001, หน้า 126) ผมถอดความคร่าวๆได้ว่า “ปัจจุบัน GPS ได้ผลักดันให้ช่างสำรวจเข้าไปอยู่ในความหนาแน่นของเรื่องจีโอเดซี ซึ่งไม่ใช่่เรื่องสำหรับผู้เชี่ยวชาญแต่เพียงผู้เดียวอีกต่อไป ต้องขอบคุณสำหรับยุคคอมพิวเตอร์ขนาดเล็ก งานคำนวณหนักสามารถจัดการได้ด้วยโปรแกรมประยุกต์ แต่อย่างไรก็ตาม เป็นการไม่ฉลาดที่จะคิดว่าการศึกษาพื้นฐานด้าน GPS จะไม่จำเป็น และก็เป็นจริงที่ว่าการคำนวณของอุปกรณ์ GPS เป็นไปไม่ได้เลยที่จะไม่ใช้คอมพิวเตอร์ แต่ความเชื่อมั่นอย่างมืดบอดในข้อมูลที่ (GPS) สร้างขึ้นมาจะนำไปสู่ความหายนะได้

โปรแกรม Line Scale Factor

  • เราทราบกันมาดีว่าแผนที่ในระบบพิกัดฉากเราไม่สามารถจะหลีกเลี่ยงความเพื้ยน (distortion) ไปได้ เนื่องจากที่เราพยายามแสดงลักษณะทางกายภาพของสิ่งของที่อยู่บนผิวโค้งบนทรงรีไปยังแผ่นระนาบแบบกระดาษ จำต้องใช้สเกลแฟคเตอร์ที่ไม่คงที่และแปรผันเป็นระบบมาช่วยในการแปลงเหล่านี้ ดังนั้นเราต้องมีวิธีการจัดการและใช้งานที่เหมาะสม โดยที่ไม่ทำให้ค่า error เกินกว่าที่จะยอมรับได้
  • Line Scale Factor คือโปรแกรมที่คำนวณค่าสเกลแฟคเตอร์เฉลี่ยโดยใช้ค่าระดับและค่าพิกัดของจุดเริ่มต้นและจุดปลาย กระบวนการคำนวณจะประกอบไปด้วยสองขั้นตอน
    1. ค่าเฉลี่ยของ Elevation scale factor (ESF) – จะคำนวณ ESF  ที่จุดเริ่มต้นและจุดปลาย รวมถึงคำนวณ ESF ที่จุดกึ่งกลางเส้นด้วย โดยใช้ค่าระดับเฉลี่ย การคำนวณหาค่าเฉลี่ยของ ESF จะเป็นการคำนวณในลักษณะเชิงเส้น (linear)
    2. ค่าเฉลี่ยของ Grid scale factor (GSF) – หลักการพิจารณาว่าจะใช้ค่าเฉลี่ยแบบใดให้ถือหลักการดังนี้
      • ถ้าเส้นยาวน้อยกว่า 1 กม. ใช้ Point scale factor ได้เลย (ใช้โปรแกรม “Point Scale Factor” ของผมที่ลงบทความมาก่อนหน้านั้นนี้ อ่านได้ที่ ลิ๊งค์ นี้)
      • ถ้าเส้นยาวมากกว่า 1 กม. แต่น้อยกว่า 4 กม. แนะนำให้หาค่าเฉลี่ย(หารสอง)จาก Point scale factor ที่จุดต้นทางและปลายทาง
      • ถ้าเส้นยาวมากกว่าหรือเท่ากับ 4 กม. แนะนำให้ใช้สูตรของ Simpson 1/6 มาช่วยหาค่าเฉลี่ย เพราะว่าไม่เป็นเชิงเส้น คือเส้นตรงระหว่างจุดสองจุดบนระนาบพิกัดฉาก เมื่อย้อนเอาไปเขียนลงบนทรงรีจะเป็นเส้นโค้งจีโอเดสิค (geodesic) ดังนั้นการคำนวณค่าเฉลี่ยจะให้น้ำหนักตรงกลางเส้นมากที่สุด (เพราะโค้งมากที่สุด) ลองดูสูตรด้านล่างจะเห็นว่าจุดต้นและจุดปลายให้น้ำหนักแค่หนึ่งส่วนในหกส่วน ส่วนตรงกลางให้ถึงสี่ส่วนในหกส่วน

average_scale_factor.png

ดาวน์โหลดและติดตั้ง

  • จะทำการดาวน์โหลดให้มองที่ด้านขวาดูตรงส่วน “ดาวน์โหลด (Download)” มองหา “Surveyor Pocket Tools” แนะนำให้ดาวน์โหลด build 480 ขึ้นไปเนื่องจากมีการแก้ไขบั๊กไปหลายจุด เมื่อดาวน์โหลดมาแล้วจะได้ไฟล์ zip แล้ว unzip ออกมาจะได้ไฟล์ setup นำไปติดตั้งได้ง่ายๆไม่กี่คลิก
  • หลังจากติดตั้งแล้วก็ให้เปิดโปรแกรม “Surveyor Pocket Tools” มองหาไอคอน “Line Scale Factor” แล้วดับเบิ้ลคลิกเพื่อเรียกโปรแกรมมารัน

python_2017-02-25_10-01-27

Surveyor Pocket Tools_2017-02-25_15-26-52.png

  • จุดมุ่งหมายของโปรแกรมนี้ เพื่อให้หาสเกลแฟคเตอร์ของเส้นตรงทำได้ง่าย แค่ป้อนค่าพิกัดและค่าระดับของจุดที่ 1 และจุดที่ 2 โปรแกรมจะคำนวณมาให้ทันที การประยุกต์ใช้สามารถนำตัวเลขนี้ไปใช้ในงานสนามได้ในกรณีที่งานอยู่บนระบบพิกัดฉาก UTM
  • หน้าตาของโปรแกรมถอดแบบมาจาก “Point Scale Factor” แต่ในที่นี้มีสองจุดคือจุดต้นทางและจุดปลายทาง ให้ป้อนค่าพิกัดและค่าความสูงของจุด ความสูงเลือกได้ว่าเทียบกับจีออยด์ (รทก.) หรือความสูงเมื่อเทียบกับทรงรี

โครงสร้างและส่วนประกอบ

  • ถ้ามองเผินๆเหมือนรกหูรกตา แต่จริงๆแล้วก็ไม่มีอะไร เริ่มจากตั้งระบบพิกัดให้ตรงก่อน แล้วกรอกข้อมูลจุดที่ 1 เข้าไปและตามด้วยจุดที่ 2 จากนั้นทำการคำนวณ อาจจะปักหมุดดูที่ google maps หรือไม่ก็ที่ google earth หรือถ้าต้องการเก็บค่าพิกัดก็คลิกได้ที่ไอคอนรูปหมุดเครื่องหมายบวกสีแดง

introduction_lsf.png

วิธีการใช้งาน

  • จุดพิกัดที่ยกมาเป็นตัวอย่างถือว่าเป็นกรณีศึกษา พื้นที่เป็นงานก่อสร้างมอเตอร์เวย์ช่วงใกล้ถนนบายพาสของนครราชสีมา เนื่องจากสเกลแฟคเตอร์มีค่าสูงมาก (มากขนาดกล้อง Total Station ยี่ห้อหนึ่งที่อั้นตัวเลข scale factor ไว้ที่ช่วง 0.9996 – 1.000400  คือไม่ยอมให้ป้อนเกินค่านี้ ก็ไม่ทราบว่าเหตุผลว่าทำไมต้องจำกัดตัวเลขไว้แค่นี้ )
  • จุดที่ 1 ชื่อ “MTW-01” N=1657451.026, E = 808709.698, Elevation = 222.461 m. (รทก.) จุดที่ 2 ชื่อ “MTW-02” N=1658811.819, E=828396.322, Elevation=247.844 m. (รทก.) ป้อนเข้าโปรแกรมดังรูปด้านล่าง เนื่องจาก Vertical Reference เป็นความสูง Orthometric height จึงไม่จำเป็นต้องเปลี่ยน

Surveyor Pocket Tools_2017-02-25_16-03-14.png

  • คลิกคำนวณที่ไอคอนรูปลูกศรชี้ลง ได้ผลลัพธ์ดังนี้

  • ตัวเลขสามชุดที่เขียนวงด้วยสี่เหลี่ยมด้านล่างๆคือ
    • ค่าสเกลแฟคเตอร์ที่จุดที่ 1 ESF = 0.9999695936, GSF = 1.0007788866
    • จุดกึ่งกลาง ESF = 0.9999675791, GSF = 1.0008552790 จุดกึ่งกลางนี้ ESF ใช้ค่าระดับเฉลี่ยของจุด 1 และจุดที่ 2 มคำนวณ ส่วนค่า GSF ได้จากพิกัดกึ่งกลาง N = (1657451.026 + 1658811.819) / 2 = 1658131.423, E = (808709.698 + 828396.322) / 2 = 818553.010
    • และจุดที่ 2 ESF = 0.9999655645, GSF = 1.0009340710

  • ค่าเฉลี่ย ESF หาได้ง่ายๆเพราะมัน linear จับบวกกันแล้วหารด้วยสาม = (0.9999695936 + 0.9999675791 +0.9999655645) / 3 = 0.9999675791
  • ค่าเฉลี่ย GSF ต้องใช้สูตร Simpsons มาช่วยหาค่าเฉลี่ย = (1.0007788866 + 4*1.0008552790 + 1.0009340710) / 6 = 1.0008556789
  • ค่าเฉลี่ย Combined Scale Factor (CSF) = 0.9999675791 *  1.0008556789 = 1.0008232302 เราต้องการนั่นเอง สังเกตว่าค่าสูงมากๆ 1 กม. ระยะทางบนแผนที่จะเพื้ยนจากระยะทางราบบนพื้นโลก 0.823 เมตรหรือ 82.3 ซม.

 

ปักหมุดลงบน Google Earth

  • ลองปักหมุดดูกัน

 

  • เรื่องสเกลแฟคเตอร์ในงานสำรวจขนาดใหญ่ ที่แบบ drawing ออกแบบบนระบบพิกัดฉาก UTM เป็นเรื่องที่หลีกเลี่ยงไม่ใช่ไม่ได้ เพราะจะทำให้ตำแหน่งสิ่งปลูกสร้างผิดเพี้ยนไปจากแบบ drawing การใช้สเกลแฟคเตอร์ถึงจะยุ่งยากไปบ้าง แต่ถ้าเข้าใจก็สามารถประยุกต์ใช้ได้อย่างเหมาะสมกับครื่องมือสมัยใหม่เช่น GPS และเครื่องมือรุ่นเดิมๆเช่นกล้อง Total station

Low Distortion Projection

  • ถ้าไม่ใช่สเกลแฟคเตอร์ละ มีทางออกไหม มีครับ ซึ่งวิธีการจะเรียกว่า Low Distortion Projection (LDP) คือสร้างระบบพิกัดฉากขึ้นมาเฉพาะสำหรับพื้นที่ แล้วพยายามคุมให้ความเพี้ยนไม่เกินค่าที่กำหนด เช่น ±20 ppm  แต่ถ้าพื้นที่โครงการไม่ใหญ่มากเช่น 56 กม. x 56 กม. พอจะคุมให้ไม่ให้ความเพี้ยนเกิน ±5 ppm คือระยะทาง 1000 ม. ความเพี้ยนของระยะทางไม่ให้เกิน 5 mm ถ้าระยะทาง 100 เมตร ก็เพื้ยนได้ 0.5 มม. ซึ่งถ้าตั้งกล้อง total station สำหรับให้ตำแหน่งเสาเข็ม ในระยะทางไม่เกิน 100 เมตร สามารถให้ได้เลยเพราะความเพี้ยนครึ่งมิลมิเมตร ถือว่าน้อยมาก จนไม่ต้องนำมาคิด (บางครั้งตอนตั้งเป้าให้ตำแหน่งเสาเข็ม เป้าปริซึมยังโยกไปไม่ตั้งฉาก ยังมากกว่านี้) ทำให้หน้างานสนาม ทำงานได้สะดวก ไม่ต้องตั้งสเกลแฟคเตอร์ให้กล้อง สามารถวางผังได้เลย สำรวจเก็บรายละเอียดก็ทำได้ทันที
  • เรื่องนี้ไม่ใช่เรื่องใหม่ เป็นเรื่องเก่านานพอสมควร ในอเมริกาเองก็นำมาใช้กันนานแล้ว ลองค้นหาในเน็ตด้วยคึย์เวิร์ดคำว่า “low distortion projection ldp” จะเห็นผลลัพธ์เกี่ยวกับเรื่องนี้ออกมากมายครับ ตอนหน้าผมจะนำเสนอการใช้วิธีนี้กันดูและผมพยายาม implement ด้วยการเขียนโปรแกรมมาช่วย แต่พบว่ามันมีอะไรที่มากกว่าที่คิด ติดตามกันต่อไปครับ
Surveyor Pocket Tools – Update เพิ่มโปรแกรมคำนวณสเกลแฟคเตอร์ (Point Scale Factor) – ตอนที่ 1

Surveyor Pocket Tools – Update เพิ่มโปรแกรมคำนวณสเกลแฟคเตอร์ (Point Scale Factor) – ตอนที่ 1

  •  โปรแกรมนี้มาตามสัญญาที่ผมเคยว่าไว้ จากบทความที่ผมเคยเขียนเรื่องการคำนวณหาพื้นที่บนระบบพิกัดกริด (grid based area)  แล้วแปลงพื้นที่บนระบบกริดขึ้นมาบนทรงรี (Ellipsoidal area) แล้วจากพื้นที่บนทรงรีทอนขึ้นไปบนผิวโลก (Surfaced area) ถึงจะได้พื้นที่จริงๆ อ่านได้ตามลิ๊งค์นี้ เนื่องจากสูตรที่คำนวณเกี่ยวพันกับวิชา geodesy อยู่ทำให้การคำนวณซับซ้อนขึ้นมาพอประมาณ ผมเลยจัดทำโปรแกรมคำนวณหาสเกลแฟคเตอร์ให้ใช้งานได้สะดวก

ทบทวนเรื่อง Scale Factor

  • รายละเอียดอ่านได้ตามลิ๊งค์ที่ผมเกริ่นไว้ข้างต้น ตอนนี้จะขอรวบรัด เพื่อดูวิธีการใช้งานโปรแกรม
Scale factor
  • เป็นที่ทราบกันดีว่าแผนที่บนระบบพิกัดฉากนั้นจะมีค่า scale factor แต่ละที่ไม่เท่ากัน ค่าเปลี่ยนแปลงแปรผันเป็นระบบ การวัดระยะทางบนแผนที่เมื่อนำไปวางผังบนพื้นที่จริง (setting out) จะต้องมีการหารด้วยสเกลแฟคเตอร์ ในทางกลับกันเมื่อวัดระยะจริงๆบนพื้นโลกจะต้องนำมาคูนกับค่าสเกลแฟคเตอร์เพื่อให้ทอนระยะลงบนระบบพิกัดฉากได้ถูกต้อง ซึ่งสเกลแฟคเตอร์ (scale factor) จะมีอยู่สองอย่างคือ
    1. Elevation Scale Factor (ESF) คือสเกลแฟคเตอร์ที่ใช้ทอนระยะราบบนผิวโลกลงมาเป็นระยะทางบนทรงรี
    2. Grid Scale Factor (GSF) คือสเกลแฟคเตอร์ที่ใช้ทอนระยะทางบนทรงรีลงมาบนระนาบระบบพิกัดฉาก
  • แต่เมื่อนำค่าสเกลแฟคเตอร์  ESF คูนกับ GSF ผลที่ได้เรียกว่า Combined Scale Factor (CSF) ค่านี้เอาไว้ทอนระยะทางรวดเดียวจากระยะราบบนพื้นโลกลงมาเป็นระยะราบบนระบบพิกัดฉาก

ดาวน์โหลดและติดตั้ง

  • ดาวน์โหลดได้จากลิ๊งค์ด้านขวามือ มองหา Surveyor Pocket Tools มีให้เลือก 32 บิตและ 64 บิต และต้อง build 475 ขึ้นไป ขนาดประมาณเกือบ 120 MB ที่ใหญ่เพราะมีไฟล์ข้อมูลสำหรับงานคำนวณความสูงจีออยด์ (Geoid height) ของ EGM2008 ส่วนตัวโปรแกรมและไลบรารีจริงๆแล้วขนาดนิดเดียว สำหรับ 120 MB ไม่ถือว่าใหญ่เนื่องจากความเร็วอินเทอร์เน็ตเกินพอในปัจจุบัน
  • เมื่อได้ไฟล์ zip ก็ unzip แล้วทำการติดตั้งได้แค่ไม่กี่คลิก

วิธีการใช้โปรแกรม

  • เปิดโปรแกรมมาจะเห็น Surveyor Pocket Tools ดังนี้

  • ถ้าผู้อ่านใช้โปรแกรมรุ่นก่อนๆจะเห็นว่าในรุ่นนี้มีโปรแกรมเพิ่มมาสองโปรแกรมคือ Point Scale Factor และ Line Scale Factor ในตอนนี้เราจะว่ากล่าวเฉพาะ Point Scale Factor ก่อน ส่วน Line Scale Factor ยกยอดไปตอนหน้า
  • ทำการรันโปรแกรมด้วยการดับเบิ้ลคลิกที่ไอคอนโปรแกรม จะเห็นโปรแกรม Point Scale Factor ขึ้นมาดังรูปด้านล่าง จะมี 3 ส่วน ส่วนแรกด้านบนเป็นการเลือกระบบพิกัด (Coordinate Reference System) ส่วนตรงกลางเป็นการป้อนค่าพิกัดและค่าระดับของจุดที่ต้องการคำนวณ และส่วนที่สามอยู่ด้านล่างคือผลลัพธ์การคำนวณ

python_2017-02-20_19-01-41

  • มีเครื่องมือเล็กๆเสริมคือเก็บค่าพิกัดเข้าเก็บในฐานข้อมูลโปรแกรมพร้อมเครื่องมือปักหมุดลงบน Google Maps และบน  Google Earth

โครงสร้างและส่วนประกอบ

introducttion_pointscalefactor

สูตรคำนวณ Elevation Scale Factor (ESF)

  • ถ้าเคยใช้โปรแกรมในชุดนี้มาก่อน ผู้อ่านน่าจะคุ้นกับกับเลือกระบบพิกัด ผมไม่ขออธิบายในนี้ ข้ามมาที่การเลือกระบบความสูงอ้างอิง (Vertical Reference) จะมีให้เลือก 2 อย่างคือ
    1. Orthometic Height(H) คือความสูงอ้างอิงกับระดับน้ำทะเล หรือลึกกว่านั้นคืออ้างอิงกับพื้นผิว Geoid นั่นเอง ถ้าผู้ใช้เลือกแบบนี้ โปรแกรมจะแปลงค่าระดับไปยังค่าระดับที่เทียบกับทรงรีคือ Ellipsoidal Height (h) ด้วยการคำนวณหาความสูงจีออยด์ (N – Geoid Height หรือ  Geoid Separation) สูตรก็ง่ายๆคือ h = H + N
    2. Ellipsoidal Height (h) คือความสูงอ้างอิงกับทรงรี แบบนี้ไม่ต้องคำนวณหาอะไรต่อ
  • สูตรการหา Elevation Scale Factor คือ ESF = R / (R+h) R-เป็นรัศมีทรงรีในตำแหน่งที่ต้องการหาสเกลแฟคเตอร์ ส่วน h คือความสูงเทียบกับทรงรี ค่า R นี้โปรแกรมคำนวณหาให้จากค่าพิกัดที่ผู้ใช้ป้อนเข้ามา

soffice.bin_2017-02-21_11-45-39

  • แต่มีประเด็นถ้าต้องการหา ESF บนพื้นหลักฐาน (datum) อื่นที่ไม่ใช่ WGS84 จะทำได้อย่างไร เพราะว่า EGM2008 ค่าพิกัดผูกอยู่กับพื้นหลักฐาน “WGS84” พูดให้ใกล้ก็คือผูกอยู่กับทรงรี “WGS84”  ส่วนพื้นหลักฐาน อื่นเช่น Indian 1975  ที่ใช้ทรงรี “Everest 1830” จะคำนวณหาความสูงบนทรงรีเหล่านี้ได้อย่างไร
  • การคำนวณนี้ไม่มีปัญหาเพราะว่าไลบรารี Proj4 ผ่่านทาง pyproj ที่ผมใช้สนับสนุนการคำนวณการแปลงพิกัด (3D-Transformation) อยู่แล้วจึงสามารถหาความสูงต่างบนทรงรีระหว่างพื้นหลักฐานได้

สูตรคำนวณ Grid Scale Factor (GSF)

  • สำหรับสูตรการหา GSF  จะซับซ้อนขึ้นมานิดหนึ่ง ในสูตรที่โปรแกรมผมใช้คำนวณจะรองรับทุกทรงรี ที่แต่ละระบบพิกัดนั้นๆใช้ แต่ในรุ่นนี้ขอจำกัดแค่เส้นโครงแผนที่ Transverse Mercator (TM) ก่อน สำหรับเส้นโครงแผนที่แต่ละอันก็จะมีสูตรคำนวณแตกต่างกันไป ผมกำลัง implement เส้นโครงแผนที่ Lambert Conical Conformal สักพักใหญ่ๆน่าจะเสร็จ แต่ในทวีปเอเชียเรามีประเทศไหนใช้เส้นโครงแผนที่แบบกรวยบ้าง
  • สำหรับสูตรการหาสเกลแฟคเตอร์จากเส้นโครงแผนที่ TM มีดังนี้

soffice-bin_2016-12-24_09-21-50

soffice-bin_2016-12-26_07-52-18
soffice-bin_2016-12-24_11-09-00

ทดสอบตัวอย่างที่ 1

  • หมุดชื่อ “A102707” อยู่บนพื้นหลักฐาน “WGS84” เส้นโครงแผนที่ UTM โซน 47N มีค่าพิกัด N = 1499662.173, E=683068.285, ค่าระดับ = 0.791 m จากระดับน้ำทะเลปานกลาง (Orthometric Height) ป้อนข้อมูลไปดังรูป เสร็จแล้วคลิกที่ปุ่มลูกศรชี้ลงล่าง เพื่อทำการคำนวณpsf_input1
  • ได้ผลลัพธ์ดังรูปด้านล่าง

Surveyor Pocket Tools_2017-02-22_12-54-24

  • จากผลลัพธ์ได้ค่าความสูงจีออยด์ (Geoid height) = -30.567 m ได้ค่าเป็นลบแสดงว่าพื้นผิวจีออยด์อยู่ใต้พื้นผิวทรงรี คำนวณหาความสูงบนทรงรีจากสูตร h = H + N = 0.791 – 30.567 = -29.776 m ค่าเป็นลบแสดงว่าจุดตรงนั้นอยู่ใต้พื้นผิวทรงรี

เบื้องหลังการคำนวณ

  • ก่อนจะไปต่อ ลองมาดูเบื้องหลังการคำนวณ ย้อนรอยดูกัน อันดับแรกโปรแกรมจะทำการแปลงค่าพิกัดจากระบบพิกัดฉากไปยังระบบพิกัดภูมิศาสตร์ เพื่อคำนวณค่าพิกัด แลตติจูด/ลองจิจูด เรียกโปรแกรม “UTM-Geographic Converter” ป้อนค่าพิกัด Northin/Easting เข้าไปจะได้ค่า latitude = 13.5596652278, longitude = 100.6918290694

Surveyor Pocket Tools_2017-02-22_13-29-43.png

  • เมื่อได้ค่าพิกัดในรูปแบบแลตติจูดและลองจิจูดแล้ว ทำการคำนวณหาค่าความสูงจีออยด์ด้วย “EGM

Surveyor Pocket Tools_2017-02-22_13-09-34

  • ได้ค่า N = -30.567 m มา คำนวณหา h ได้ h = 0.791 – 30.567 = -29.776 m
  • หารัศมีทรงรี (R) ณ ตำแหน่งค่าพิกัดนี้ (ย้อนไปดูสูตรที่เตรียมไว้ให้ดูตอนต้นๆบนทความ) เตรียมค่า latitude(θ) = 13.5596652278 และค่าพารามิเตอร์ทรงรี a=6378137, f = 1/298.257223563, e² = 2f -f² = 0.00669437999, e’²=e²/(1-e²) = 0.00673949674
  • R = 6378137 x √(1 – 0.00669437999) / (1 – 0.00669437999 x sin² (13.5596652278) = 6359092.417 m
  • ESF = R / (R + h) = 6359092.417 / (6359092.417 – 29.776) = 1.000004682 ตรงกับโปรแกรมที่เราคำนวณมาก่อนหน้านี้ ผมใช้เครื่องคิดเลข FX 5800P ตรวจสอบ ซึ่งเครื่องคิดเลขคำนวณความละเอียดได้แค่ระดับ float ไม่ถึง double แต่แค่นี้เพียงพอไปทำมาหากินได้
  • ส่วนการคำนวณ grid scale factor จะลองคำนวณดูตามสูตรด้านบน เตรียมค่า latitude(θ) = 13.5596652278, longitude(ƛ) = 100.6918290694, ƛ0 = 99

T = tan²(13.5596652278) = 0.05816796436
C = 0.00673949674 x cos²(13.5596652278) = 0.0063690236
A = (100.6918290694 – 99) x 3.141592654/180 x cos(13.5596652278) = -0.02870493355
แทนค่า T,C,A,e’² ในสูตร จะได้ค่า k =  = 1.000014582

คำนวณค่า Combined Scale Factor (CSF)

  • Combined Scale Factor = ESF x GSF =  1.000004682 x  1.0000145818 = 1.0000192644
  • ลองมาแปลงเป็น ppm (part per million) เพื่อดูว่าระยะทางหนึ่งกม.จะเพี้ยน (distortion) เท่าไหร่ นำตัวเลขมาลบด้วย 1 จะได้  1.0000192644 – 1 = 0.0000192644 ทำให้เป็นตัวเลขหารด้วยหนึ่งล้าน(คือสิบยกกำลังหก) = 19.2644 / 10 = 19.2644 ppm
  • แสดงว่าระยะทาง 1 กม. ระยะบนพิกัดฉากจะต่างกับระยะทางจริงๆบนพื้นโลก แค่ 19.3 mm. ถึอว่าน้อยมาก ถ้าวัดบนพื้นโลกได้ 1000 m จะวัดระยะทางบนระบบพิกัดฉากได้ 1000.0193 m

soffice.bin_2017-02-23_14-46-45

 

  • พบกันตอนที่ 2 ซึ่งจะลองทดสอบคำนวณดูบนพื้นหลักฐานอื่น ติดตามกันต่อไปครับ

Surveyor Pocket Tools – เปิดตัวโปรแกรมแปลงไฟล์พิกัดข้ามพื้นหลักฐาน File Transform Coordinates

File Transform Coordinates

  • โปรแกรมแปลงพิกัดข้ามพื้นหลักฐาน Transform Coordinates ที่ผมนำเสนอมาก่อนนั้น แปลงพิกัดได้ทีละจุด อาจจะไม่สะดวกถ้าผู้อ่านมีจุดตั้งแต่ 5-10 จุดขึ้นไป ทางออกผมเลยเขียนโปรแกรมเพิ่มอีกตัวเข้ามา โดยอ่านไฟล์พิกัดที่ต้องการแปลง โดยที่ไฟล์นั้นจะเก็บไว้ในรูปแบบ CSV ที่มีตัวคั่นเป็นเครื่องหมายคอมม่า
  • ขอตั้งชื่อโปรแกรมเป็น File Transform Coordinates โดยใส่คำว่า File นำหน้าชื่อโปรแกรมตัวเดิม เพื่อให้สื่อความหมาย ว่าแปลงพิกัดจากไฟล์

ดาวน์โหลดและติดตั้ง Surveyor Pocket Tools

  • ตอนนี้รุ่นโปรแกรม Surveyor Pocket Tools ที่มีโปรแกรมย่อย File Transform Coordinates มาด้วยนั้น ต้อง build 447 ขึ้นไป ให้ดูด้านขวาที่ช่องดาวน์โหลด (Download) คลิกและก็ดาวน์โหลดมา unzip และทำการติดตั้งได้ง่ายๆ ไม่กี่คลิก
  • เมื่อติดตั้งแล้วจะได้ไอคอน Surveyor Pocket Tools ออกมา เรียกใช้งานก็ดับเบิ้ลคลิกมาได้จะได้ดังรูปด้านล่าง จะสังเกตว่าโปรแกรมในรุ่นนี้มีโปรแกรมย่อยคือ “File Transform Coordinates

โฟลเดอร์ข้อมูลตัวอย่างทดสอบ

  • ก่อนจะไปต่อผมขอเกริ่นถึงโฟลเดอร์สำหรับข้อมูลตัวอย่างที่จะนำมาทดสอบในโปรแกรม ผมทำไอคอน “Example folder” ไว้ดังรูป

  • เมื่อดับเบิ้ลคลิกเข้าไป ข้อมูลนี้เมื่อโปรแกรมถูกติดตั้งแล้วจะไปอยู่โฟลเดอร์ที่ซ่อนของวินโดส์ “C:\Users\ชื่อผู้ใช้\Appdata\Roaming\Surveyor Pocket Tools” และจะเห็นโฟลเดอร์ “example folder” ให้ดับเบิ้ลคลิกเข้าไปจะได้ดังรูปด้านล่าง

วิธีการใช้งานโปรแกรม File Transfer Coordinates ในเบื้องต้น

  • เปิดโปรแกรม  File Transfer Coordinates แล้วจะเห็นหน้าตาโปรแกรมดังรูปด้านล่าง

  • หน้าต่างไดอะล็อกจะประกอบไปด้วยพาเนลด้านซ้ายและพาเนลด้านขวา ด้านซ้ายสำหรับนำไฟล์ข้อมูลเข้า (input) และด้านขวาสำหรับแสดงผลลัพธ์ (output) ที่ได้จากการแปลงพิกัด ผมทำตารางข้อมูลสไตล์ลายม้าลายให้ดูสวยงามและอ่านง่าย ด้านซ้ายจัดเป็นสี navy blue  ด้านขวาสีโทนเขียวๆ
  • แต่ละด้านจะประกอบไปด้วย ช่องเลือกระบบพิกัดเลือกกรุ๊ป (Group) ก่อนว่าเป็นพิกัดบนเส้นโครงแผนที่หรือพิกัดภูมิศาสตร์บนทรงรี จากนั้นจะเลือกพื้นหลักฐาน (Datum) ตามมา และสุดท้ายจะระบบพิกัด (System)
  • ส่วนการอ่านไฟล์ข้อมูลค่าพิกัดที่ต้องการแปลงจากไฟล์ CSV จะอ่านมาก่อน แล้วค่อยมากำหนดว่าคอลัมน์ไหนเป็นค่า Northing/Latitude หรือว่า Easting/Longitude ทีหลัง
  • และรูปแบบของมุม ว่าเป็นดีกรี (Degree) หรือ รูปมุมแยกมีทศนิยมที่ฟิลิปดา (DD MM SS.SSSS) หรือมุมแยกแบบทศนิยมที่ลิปดา (DD MM.MMMM)
  • ล่างสุดเป็นตารางสำหรับแสดงไฟล์นำเข้า CSV

  • ส่วน button มีปุ่มไอคอนเปิดไฟล์ข้อมูล ด้านบนขวามือ มีปุ่มสำหรับคำนวณรูปลูกศรชี้ไปทางขวา และปุ่มไอคอนรูปโลโก้ excel สำหรับ export จัดเก็บผลลัพธ์ออกเป็นไฟล์ในรูปแบบ Microsoft Excel

เปิดไฟล์ข้อมูลตัวอย่างเพื่อทดสอบ

  • สถานที่ของโฟลเดอร์ที่เด็บข้อมูลตามที่ผมเกริ่นไปตอนต้นบทความ ที่โปรแกรม File Transform Coordinates คลิกทีไอคอนรูปโฟลเดอร์ด้านบนขวา จะเห็นไดอะล็อกเลือกไฟล์ ให้เลือกปลายทางมาที่โฟลเดอร์ดังกล่าว

  • เลือกไฟล์ “boundary2-utm47n-indian1975.csv” เมื่อเปิดแล้วจะเห็นไออะล็อก แสดงว่าในไฟล์มีอะไรอยู่บ้างดังรูปด้านล่าง จะเห็น header “Name,Northing,Easting” ซึ่งผมในฐานะคนเขียนโปรแกรม แนะนำว่าการมี Header นั้นมาจะใช้งานโปรแกรมได้สะดวกที่สุด แต่การไม่ใส่ก็ไม่ได้ผิดอะไรครับ แต่ต้องคลิกมากกว่าเดิมเมื่อเปิดไฟล์มาแล้ว

แปลงค่าพิกัดจากพื้นหลักฐาน Indian 1975 ไปยังพื้นหลักฐาน WGS84

  • ค่าพิกัดในไฟล์ชุดนี้เป็นค่าพิกัดฉากในระบบ “UTM Zone 47N” อยู่บนพื้นหลักฐาน “Indian 1975”  ต้องการแปลงไประบบพิกัดฉาก “UTM Zone 47N” ของพื้นหลักฐาน “WGS84

  • ขั้นตอนต่อไปก็มาดูข้อมูลเมื่อเขียนลงตารางม้าลายแล้วจะเป็นอย่างไร ด้านซ้ายจะเขียนลงตารางให้ทั้งหมด ถ้ามี header โปรแกรมจะจัดคอลัมน์ให้ แต่ใน Header อย่างเช่นค่าพิกัด “Y” ต้องมีข้อความแบบนี้ “Northing/North/Latitude” ส่วนตารางด้านขวาจะลอกตารางด้านซ้ายมาทั้งหมด แต่มีคอลัมน์ว่าง ที่จะรอการแปลงพิกัดมาใส่ ดูรูปด้านล่าง

ปรับระบบพิกัดต้นทางและปลายทาง

  • จะเห็นว่าตอนนี้ไฟล์ข้อมูลเป็นค่าพิกัดฉาก UTM ตามที่ผมกล่าวไปแล้ว แต่ในโปรแกรมยังเป็น “Geographic Coordinate System” แบบค่าพิกัดเป็น “Latitude/Longitude” อยู่ ดังนั้นเราจะมาเปลี่ยนระบบพิกัดเป็น
    • Group “Projected Coordinate System
    • System “UTM Zone 47N
    • Datum “Indian 1975

พิมพ์ค้นหาระบบพิกัดสะดวกรวดเร็ว

  • ก่อนหน้านี้เวลาค้นหาพื้นหลักฐาน Datum หรือว่า Projection เช่นพื้นหลักฐาน WGS84 ค่อนข้างจะใช้เวลาเพราะมีตัวย่อยๆเยอะมาก ต้องใช้เมาส์สกรอลล์ สลับกับการใช้คีย์บอร์ดกดตัวหน้าช่วย ตอนนี้ผมปรับปรุงเพิ่มตัวช่วย ขอแค่รู้คำก็ให้พิมพ์ลงไป ที่ด้านล่างตรง Datum ผมพิมพ์คำว่า Indian จะมีพื้นหลักฐานที่เกี่ยวข้องกันมาโผล่สามอย่างคือ “Indian 1960” , “Indian 1954”, “Indian 1975” ให้คลิกเลือกที่ “Indian 1975

  • เลือก Group ซึ่งจะมีแค่สองอย่าง ไม่ต้องพิมพ์ใช้เมาส์คลิกไปที่ “Projected Coordinate System” จากนั้นมาดูที่ System ซึ่ง Indian 1975 จะมี UTM แค่สองโซนคือ 47N กับ 48N ดังนั้นใช้เมาส์คลิกเลือก “Indian 1975 / UTM zone 47N

  • มาดูปลายทางด้นขวาบ้าง จะเปลี่ยนระบบพิกัดเช่นเดียวกัน ดังนี้
    • Group “Projected Coordinate System
    • System “UTM Zone 47N
    • Datum “WGS84
  • ที่ชอง Datum ผมพิมพ์ world จะเห็นมีสามรายการที่เกี่ยวข้องขึ้นมาดังรูป เราเลือก “World Geodetic System 1984

  • จะได้ผลลัพธ์ดังนี้

  • ต่อไปจะเลือกเส้นโครงแผนที่ ที่ช่อง System ผมพิมพ์ 47N จะเห็นมีรายการที่เกี่ยวข้องขึ้นมาสองรายการ รายการแรกที่เราต้องการคือ “WGS84 / UTM zone 47N” ส่วนรายการที่สองเป็นระบบพิกัดของเมียนมา ที่ใช้กับงานขุดเจาะแก๊สในอ่าวเมาะตะมะ ชื่อเต็มๆคือ “Moattama 92 / UTM zone 47N”

  • ต่อไปเลือกคอลัมน์ที่จะให้ผลลัพธ์ไปออกที่ตาราง จะเห็นคอลัมน์ว่างๆมารออยู่ 4 คอลัมน์ ส่วนชื่อเรียกเป็นหมายเลขคือ Col4, Col5, Col6 และ Col7 เรียงกันไป ตัวนี้โปรแกรมเลือกมาให้เป็นค่าปริยายครับ
  • ความหมายคือต้องการให้ค่า Northing ไปเขียนที่  คอลัมน์ที่ 4 (Col4) ต้องการให้ค่า Easting ไปเขียนที่ คอลัมน์ 5 (Col5) เป็นต้น แต่ถ้าผู้ใช้จะสลับก็ได้นะครับ

  • การตั้งรูปแบบมุมไม่มีครับ เพราะต้องการแปลงค่าพิกัดแค่ระบบพิกัดฉากเท่านั้น

คำนวณ Grid Scale Factor & Convergence

  • ผมได้เพิ่มรายการคำนวณ Grid Scale Factor (GSF) & Convergence สูตรคำนวณสองอย่างนี้ไม่มีไลบรารีตัวไหนทำให้ ต้องมาเขียนเอง เปรียบเทียบค่า Grid Scale Factor แล้วกับโปรแกรม Blue marble “Geographic Calculator” และ Trimble “Coordinates Calculator” ค่าใกล้เคียงกันมาก แตกต่างกันที่ทศนิยมที่ 9 
  • แต่กับ Convergence ทำให้ผมแปลกใจเนื่องจาก สองโปรแกรม Geographic Calculator & Coordinates Calculator และที่ผมคำนวณมา  ให้ค่าที่ต่างกันที่ทศยิมที่ 4 ทำไมเป็นอย่างนั้น ทำให้ผมไม่มั่นใจ ทั้งๆที่สูตรมีแค่บรรทัดเดียวเท่านั้น
  • เพิ่มเติมอีกนิดว่า Convergence เป็นมุมต่างระหว่างทิศเหนือจริงกับทิศเหนือในระบบพิกัดฉาก สมัยเมื่อ 20 กว่าปีที่แล้ว ที่ยังไม่มี GPS/GNSS ผมเคยไปรังวัดอะซิมัทภาคทิศจากดาวและดวงอาทิตย์ จำได้ว่าใช้มุม convergence ที่คำนวณด้วยมือสมัยนั้น แล้วเอาค่าอะซิมัทที่รังวัดมาได้มาลบออกด้วยมุม convergence จะได้อะซิมัทบนระบบพิกัดฉาก แล้วสมัยนี้เอาไปใช้อะไรกันบ้าง นึกไม่ออกครับ

คำนวณและแสดงผล

  • ตอนนี้ตั้งค่าทุกอย่างพร้อมแล้วจะทำการคำนวณ ก็คลิกที่ไอคอนรูปลูกศร คำนวณแปลงพิกัดจากซ้ายไปขวา ได้ผลลัพธ์ดังรูปด้านล่าง จะได้ค่าพิกัดฉาก UTM บน WGS84 พร้อมคำนวณ Grid Scale Factor และ Convergence

จัดเก็บไฟล์ผลลัพธ์ในรูปแบบ Excel

  • เมื่อคำนวณแล้ว สิ่งที่ต้องการก็คือไฟล์ที่เก็บข้อมูลค่าพิกัดที่ได้จากการแปลงพิกัดในรูปแบบ Excel ซึ่งเป็นโปรแกรมสามัญประจำเครืองคอม คลิกที่ไอคอนรูป Excel + ลูกศรสีเหลือง โปรแกรมจะแสดงไดอะล็อก เพื่อถามที่จัดเก็บไฟล์ ป้อนชื่อไฟล์
  • มาเปิดดูไฟล์ผลลัพธ์กัน ผมใช้ LibreOffice Calc เพื่อเปิดไฟล์ผลลัพธ์ดังกล่าว  (LibreOffice โปรแกรมเปิดซอร์สเดี๋ยวนี้เก่งกว่าแต่ก่อนมาก)

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

ตัวอย่างที่ 2

  • จะแปลงพิกัดจากระบบพิกัดฉาก UTM zone 48N ของ Lao National Datum 1997 ไปยังค่าพิกัดภูมิศาสตร์ บน WGS84
  • เปิดไฟล์ข้อมูลอีกครั้งที่โฟลเดอร์ไฟล์ตัวอย่างข้อมูล “example folder” เลือกไฟล์ “coordinates-lao 1997-utm 48n.csv

  • ในไฟล์นี้ผมใส่  header ไว้ด้วย

  • เลือกระบบพิกัดผมพิมพ์คำว่า lao โปรแกรมจะเลือกที่เกี่ยวข้องมาให้ดังรูป จะเห็นมีไอเท็ม “Lao 1993” และ “Lao National Datum 1997” เลือกอย่างหลังครับ

  • เลือกระบบพิกัดให้ได้ตามรูปด้านล่าง และรูปแบบของมุมเลือก DD MM SS.SSSS

  • คลิกที่ไอคอนรูปลูกศรเพื่อทำการคำนวณ จะได้ค่าพิกัดภูมิศาสตร์ บน WGS84

  • จัดเก็บเข้าไฟล์ excel แล้วเปิดดูที่ไฟล์ จะเห็นที่คอลัมน์ “Latitude”, “Longitude” ที่โปรแกรมคำนวณมาให้

  • ฟีเจอร์คำนวณ Scale Factor และ Convergence ได้เพิ่มไปในโปรแกรม Transform Coordinates ที่คำนวณจุดต่อจุด และการพิมพ์เพื่อเลือกระบบพิกัดก็ทำได้เช่นเดียวกัน

  • โปรแกรมในชุดแปลงพิกัดยังมีฟีเจอร์ที่จะปรับปรุงเพิ่มเติมในอนาคตพอสมควร จะเพิ่มเติมพื้นหลักฐานและครอบคลุมเส้นโครงแผนที่ให้มากกว่านี้
  • พบกันตอนต่อไปครับ

Surveyor Pocket Tools – คำนวณพื้นที่ เรื่องธรรมดาที่ไม่ธรรมดา (ตอนที่ 1)

  • Surveyor Pocket Tools เป็นโปรแกรมที่รวบรวมเครื่องมือเล็กเครื่องมือน้อยสำหรับช่างสำรวจ ตอนนี้เพิ่มการคำนวณหาพื้นที่ หลากหลายประเด็นที่จะมาคุยกันว่ามันควรจะง่ายธรรมดาแต่มันไม่ธรรมดาอย่างไร
โปรแกรมคำนวณพื้นที่
โปรแกรมคำนวณพื้นที่

ย้อนรอยสูตรคำนวณหาพื้นที่

  • Surveyor Pocket Tools รุ่นก่อนหน้านี้ส่วนใหญ่จะเป็นงานคำนวณในงานเซอร์เวย์เรื่อง Advance เช่นงานคำนวณหาระยะทางบน Ellipsoid งานคำนวณหาความสูงของจีออยด์ การแปลงพิกัด ตอนนี้จะกลับมาเรื่องพื้นฐานคือการคำนวณหาพื้นที่
  • การคำนวณหาพื้นที่ ปกติที่เราคุ้นหูคุ้นตาคือ การเอาค่าพิกัด X,Y ในระบบพิกัดฉากมาวางเรียงกันในแนวนอนหรือแนวตั้งแล้วจัดการเอาค่า X คูนค่า Y สลับแบบผูกเชือกรองเท้า คูนขึ้นเป็นบวก คูนลงเป็นลบ เรียกสูตรนี้ว่า  สูตรเชือกผูกรองเท้า (Shoelace’s formula) แต่เนื่องจากช่างสำรวจคงใช้สูตรนี้กันมากกว่าเพื่อนเลยเรียกอีกชื่อหนึ่งว่า Surveyor’s formula
soffice-bin_2016-12-22_11-12-12
Shoelace Formula (รูปดัดแปลงจากรูปต้นฉบับ wikipedia.org)
  • โดยที่ข้อแม้สูตรนี้คือจุดจะต้องเรียงกันไปไม่มีการไขว้กันเด็ดขาดแบบรูปด้านล่างsoffice-bin_2016-12-22_11-34-25
  • งานสำรวจแบบโลกเก่าคือออกพิกัดลอยของใครของมัน ใช้กล้อง Total station หรือโบราณกว่านั้นดึงเทปวัดมุม เก็บมุมพื้นที่ของแปลงแล้วนำค่าพิกัดรูปปิดมาคำนวณ ข้อดีคือได้พื้นที่จริงๆมาใช้งาน แต่ข้อเสียคือแผนที่ต่างคนต่างออกจากศูนย์พิกัดต่างกัน ถ้าแปลงติดๆกันไม่สามารถเอามาต่อกันได้ เอาไปเขียนลง google earth ก็ไม่ได้ ไม่รู้ว่ามันอยู่ตรงไหนของโลกนี้

ปัญหาการคำนวณพื้นที่กับค่า Scale factor

  • ในการทำแผนที่พื้นที่ใหญ่ๆ เนื่องพื้นผิวโลกมีความโค้ง ดังนั้นการทำแผนที่บนผิวโลกแล้วนำมาเขียนลงบนระบบแบนราบแบบกระดาษ จะเกิดความเพี้ยน (distortion) ยิ่งไกลมากยิ่งเพี้ยนมาก นักคณิตศาสตร์รุ่นเก่าจึงแก้ปัญหานี้โดยการคิดค้นประดิษฐ์เส้นโครงแผนที่ (Map projection) ที่เป็นระนาบราบ (ระบบพิกัดฉาก) โดยมีการฉาย (project) จุดจากบนผิวโลกลงมาจุดบนระนาบ
  • มีได้ย่อมมีเสีย ข้อดีคือแผนที่ต่างคนต่างทำ แต่อยู่บนระบบพิกัดฉากเดียวกัน ศูนย์กำเนิดเดียวกันสามารถนำมาต่อกันได้เพราะอยู่ในระบบเดียวกัน ข้อเสียคือแต่ละจุดบนเส้นโครงแผนทีจะมี Scale factor ที่แตกต่างกันไปไม่เท่ากัน การทำแผนที่บนเส้นพิกัดฉาก ในทางปฏิบัติจะต้องมีการทอนระยะทางที่วัดได้บนพื้นโลกด้วยการคูนเข้าค่าคูนมาตราส่วน (scale factor) จึงจะได้ระยะทางบนระบบพิกัดฉาก ปัญหาที่ scale factor แต่ละที่ไม่เท่ากันจึงเป็นปัญหาคลาสสิคที่สร้างความเวียนหัวให้กับคนทำแผนที่พอสมควร
  • ดังนั้นการทำแผนที่บนระบบพิกัดฉากเช่น UTM ทุกสิ่งทุกอย่างที่วัดบนพื้นโลกจะถูกทอนลงมาบนระบบพิกัดฉากด้วยค่า scale factor ปัญหาก็คือ ถ้านำค่าพิกัดของรูปปิด (polygon) ระบบพิกัดฉากมาคำนวณจะได้พื้นที่เรียกว่า Grid-based area จะไม่ตรงกับพื้นที่จริงๆ (Surface area) พื้นที่จริงๆนี่แหละครับที่เราต้องการ ที่จะนำไปใช้ในการซื้อขายที่ดิน หรือนำมาบริหารจัดการเกี่ยวกับที่ดินเช่นด้านการเกษตร เช่นการเตรียมปุ๋ยให้สอดคล้องกับพื้นที่จริงๆในกรณีมีที่ดินมากๆ

ทำความเข้าใจเรื่อง Scale Factor

  • ก่อนจะไปต่อเรื่องคำนวณพื้นที่จะมาทำความเข้าใจเรื่อง Scale factor บนแผนที่ระบบพิกัดฉาก Scale factor จะมีผลต่อความยาว ระยะทาง ทำให้มีผลต่อการคำนวณพื้นที่โดยปริยาย
Scale factor
Scale factor
  • จากรูปโมเดลด้านบน จะมีพื้นผิวสี่อย่างคือ
    • พื้นผิวภูมิประเทศบนโลก ช่างสำรวจทำการรังวัดบนนี้ครับ
    • พื้นผิวจีออยด์ (Geoid) คือพื้นผิวที่แทนระดับน้ำทะเลปานกลาง เราวัดความสูงสิ่งต่างๆบนโลกอ้างอิงค่าระดับจากพื้นผิวนี้
    • พื้นผิวทรงรีอาจจะเป็น WGS84 (ช่างรังวัดกรมที่ดินใช้ทรงรี Everest 1830) ค่าพิกัดภูมิศาสตร์ที่ได้จากเครื่อง GPS อ้างอิงที่พื้นผิว WGS84 นี้
    • พื้นระนาบราบ(ระบบพิกัดฉาก) บ้านเราใช้ UTM แผนที่ที่เราใช้กันส่วนใหญ่อยู่บนระบบนี้
  • การคำนวณหาค่าคูนมาตราส่วน (Scale factor) จะมีสองอย่างประกอบกัน โดยที่คำนวนสองขั้นตอน
    • Elevation Scale Factor (ESF) เป็นค่าคูนมาตราส่วนที่คูนกับระยะราบที่รังวัดได้บนพื้นผิวภูมิประเทศของโลกจะได้ระยะราบบนทรงรี หรือ ระยะราบบนทรงรี = ESF x ระยะราบบนพื้นโลก
    • Grid Scale Factor (GSF)  เป็นค่าคูนมาตราส่วนที่คูนกับระยะราบบนทรงรีจะได้ระยะราบบนระบบพิกัดฉาก หรือ ระยะราบบนระบบพิกัดฉาก = GSF x ระยะราบบนทรงรี
  • ดังนั้นถ้ารวบรัดสองขั้นตอนในขั้นเดียวจะได้ ระยะราบบนระบบพิกัดฉาก = ESF x GSF x ระยะราบบนพื้นโลก ค่า ESF x GSF นิยมเรียกว่า Combined Scale Factor (CSF)

ขั้นตอนที่ 1 คำนวณ Elevation Scale Factor (ESF)

  • ชื่อก็บอกมาแล้วว่าเกี่ยวข้องกับค่าระดับ ค่าระดับที่ใช้เป็นความสูงเหนือทรงรี นะครับไม่ใช่ระดับน้ำทะเลปานกลางเหนือจีออยด์ ถ้ากำหนดค่าระดับจากน้ำทะเลปานกลาง (MSL) ก็ใช้โปรแกรม EGM ของผมแปลงลงมาได้จากสูตร h = H + N (ความสูงจากระดับน้ำทะเลปานกลาง + ความสูงจีออยด์)
  • มาดูสูตรกันก่อน R คือรัศมีทรงรี ถ้าใช้ WGS84 ใช้ค่าหยาบประมาณ 6,372,000 เมตร

esf

  • สมมติจุดที่ต้องการหา ESF อยู่แลตติจูด = 12.9725° ลองจิจูด = 99.8329° ค่าระดับ =63.9 เมตร(เหนือระดับน้ำทะเลปานกลาง) คำนวณหา N ได้ด้วยโปรแกรม EGM (อยู่ในชุด Surveyor Pocket Tools อยู่แล้ว) ได้ความสูงเหนือจีออยด์ (N) = -31.6638 เมตร

surveyor-pocket-tools_2016-12-23_11-19-39

  • ความสูงเหนือทรงรี (h) = H + N = 63.9 – 31.6638 = 32.236 เมตร
  • ค่า ESF แบบหยาบๆ ใช้ค่า R โดยประมาณ ESF = 6372000/(6372000+32.236) = 0.999994941
  • ถ้าต้องการค่า ESF ทีละเอียดระดับทศนิยมตัวที่ 8-9 จะต้องคำนวณหาค่า R ละเอียดจากค่าแลตติจูดของบริเวณนั้นก่อน

soffice-bin_2016-12-24_09-21-50

soffice.bin_2017-02-21_11-45-39

 

  • ถ้าทรงรี WGS84 a = 6378137, b = 6356752.314, f=1/298.2572236, e² = 0.00669437998 แลตติจูด (Ɵ) = 12.9725° แทนที่ลงไปสูตร
  • R = 6378137 x √(1-0.00669437998 ) / (1-0.00669437998 x (sin(12.9725))² = 6358897.478
  • ESF = 6358897.478 / (6358897.478 + 32.236) = 0.999994931 (ค่าคำนวณแบบหยาบ 0.999994941)
  • สรุปได้ค่า ESF = 0.999994931 (ชีวิตยุ่งยากไปไหม โอกาสหน้าผมจะทำทูลส์เล็กๆ ไว้คำนวณหา ESF)

ขั้นตอนที่ 2 คำนวณหา Grid Scale Factor (GSF)

  • ต่อไปจะคำนวณหา GSF ค่านี้จะไม่ขึ้นกับค่าระดับ แต่จะขึ้นกับค่าลองจิจูด เช่นเดียวกันจะมีสูตรคำนวณค่าโดยประมาณและค่าละเอียด สูตรค่าละเอียดค่อนข้างจะยาวหน่อย ด้านล่างเป็นสูตรหาค่าโดยประมาณ

soffice-bin_2016-12-24_09-07-23

  • เช่นถ้าจุดมีค่าพิกัด N = 1,434242.632 E = 590,334.084. UTM Zone 47N WGS84 หา GSF โดยประมาณได้โดยการนำตัวเลขไปแทนที่สูตรด้านบน ใช้ค่ารัศมีโลก 6372000 เมตร จะได้ GSF = 0.9996(1 + (590334.084 – 500000)²/(2 * 6372000)) = 0.9997004496
  • ต่อไปมาดูค่าคูนมาตราส่วน Grid Scale Factor แบบละเอียด ก่อนจะไปต่อ ต้องรู้พารามิเตอร์ทรงรีที่ใช้ รู้ค่าพิกัดภูมิศาสตร์ในตำแหน่งที่ต้องการหา

soffice-bin_2016-12-24_09-21-50

  • ค่าที่ต้องเตรียมก่อนจะคำนวณหา Grid Scale Factor (GSF)

soffice-bin_2016-12-26_07-52-18

 

  • สูตร Grid Scale Factor สำหรับเส้นโครงแผนที่ UTM
soffice-bin_2016-12-24_11-09-00
Grid Scale Factor for UTM
  • มาลองคำนวณ กำหนดจุดมีค่าพิกัดดังนี้ N = 1,434242.632 E = 590,334.084 อยูบน UTM Zone 47N WGS84 เราต้องการหา latitude/longitude เปิดโปรแกรม “UTM -Geo converter” แล้วป้อนค่าพิกัด คำนวณดังรูป ได้ค่า latitude(Φ) = 12.9725056694 longitude(λ) = 99.8329042500 central meridian สำหรับโซน 47 คือ λ0=99  สำหรับนำไปคำนวณต่อ

surveyor-pocket-tools_2016-12-24_09-36-29

  • แทนที่สูตรหาค่า T = (tan(12.9725056694))² = 0.053067021
  • แทนที่สูตรหาพารามิเตอร์ของทรงรี WGS84 a = 6378137 f = 1/298.2572236 หาค่า e = √(2f – f²) = 0.08181919084 และค่า e’ = √(e²/(1-e²)) = 0.08209443794
  • หาค่า C = 0.08209443794² x (cos(12.9725056694))² = 0.00639987446
  • หาค่า A = (99.8329042500  – 99) x 3.141592654/180 * (cos (12.9725056694))² = 0.01416590874 (note : แปลงเป็น ดีกรี เป็น radian คูน ¶/180.0 เข้าไป)
  • หาค่า GSF (k) = 0.9996 x 1.000100987 = 0.9997009464 (ค่าโดยประมาณ 0.999704496)
  • สรุปค่า  GSF = 0.9997009464 

คำนวณ Combined Scale Factor (CSF)

  • ตัวอย่างข้างต้นที่ผมคำนวณหาค่า ESF กับ GSF เป็นจุดเดียวกัน ดังนั้น CSF = ESF x GSF
  • CSF = 0.999994931 x 0.9997009464 = 0.9996958785
  • ผมมีหมุด GPS อีกตัวหนึ่ง ค่าพิกัด  N = 1434091.770 E=590362.138   ค่าระดับ(รทก.) =  60.513 m.
  • คำนวณระยะราบได้ 153.448 เมตร ลองทอนระยะราบบนกริดกลับไปบนพื้นภูมิประเทศบนโลก = 153.448 / 0.9996958785 = 153.495 เมตร ถ้าเอากล้อง Total station ลองวัดระยะราบดูควรจะต่างจากนี้ไม่มาก ที่จริง combined scale factor จะต้องหาอีกจุดด้วยก่อนนำมาเฉลี่ยกัน แต่คงต่างกันไม่มากนัก ผมแค่อยากจะบอกว่า ระยะราบของหมุด  GPS สองตัว ที่เป็นระยะราบบนพิกัดฉาก UTM ทำไมเวลาช่างสำรวจไปตั้งกล้อง Total station แล้ววัดระยะราบแล้วทำไมไม่เท่ากัน ไม่เท่ากันเพราะอะไร แล้วจะคำนวณทอนระยะทางไปหากันได้อย่างไร

การประยุกต์ใช้ Combined Scale Factor

  • หลายๆท่านที่เป็นวิศวกรสำรวจ ช่างสำรวจ อาจจะผ่านงานโครงการใหญ่ๆ ยาวๆ เช่นงานถนน งานรถไฟ อาจจะมีโอกาสได้ใช้ CSF ปัจจุบันกล้อง total station ทันสมัย เราสามารถป้อนเอาค่า CSF พวกนี้เข้าไปในกล้องได้ กล้องเกือบๆทุกยี่ห้อจะเรียกตัวนี้ว่า “scale factor” ทำให้ลดความยุ่งยากกว่าสมัยแต่ก่อนที่ดึงเทปวัดระยะ ที่ต้องมาทอนระยะสดๆ เวลาไป setting out ก็อัพโหลดค่าพิกัดก่อน ในสนามก็สามารถ layout out ได้ถูกต้องไม่ต้องกังวลเพราะเรื่องที่เหลือกล้องจัดการให้
  • โครงการยาวๆแบบนี้ จึงต้องมาแบ่งตัดพื้นที่ออกเป็น block แต่ละ block คำนวณหาค่าเฉลี่ย CSF ที่แทนแต่ละพื้นที่ เวลาก่อสร้างช่วงรอยต่ออาจจะมีปัญหาเล็กน้อยที่โครงสร้างอาจจะไม่ต่อกันเป๊ะทีเดียว
  • ข้อควรจำ งานก่อสร้างประเภทนี้ จะออกแบบไว้บนระบบพิกัดฉาก UTM ดังนั้นคนออกแบบควรจะระลึกไว้ตลอดว่ากำลังออกแบบบนกริด ดังนั้นของที่วัดได้บนแบบ 500 เมตร ไม่ใช่ไปวัดในสนามได้ 500 เมตร (ยังมีคนที่เข้าใจแบบนี้อยู่ไม่น้อย) ผมเคยอ่านเจอบางกรณีที่ต่างประเทศ ถ้าบริเวณนั้น  CSF = 0.9995 คนออกแบบจะลง dimension ไว้ 499.75 เมตร ในแบบ เพื่อให้ที่เวลาก่อสร้างจริงจะวัดได้พอดี 500 เมตร
  • มีเอกสารที่เกี่ยวข้องกับการประยุกต์ใช้ Scale factor มากมายบนอินเทอร์เน็ตให้อ่านศึกษา ผมจะลงไว้ท้าย blog
  • เพราะระยะทางมันมี scale factor ที่เปลี่ยนผันไปตามพื้นที่และเป็นระบบ ดังนั้นเรื่องการคำนวณหาพื้นที่จึงต้องคำนึงถึงเรื่องนี้

การใช้งานโปรแกรมคำนวณพื้นที่ (Area) ในชุดโปรแกรม Surveyor Pocket Tools

  • เอาละร่ายเรื่อง scale factor กันมายาวเหยียด สำหรับท่านที่ดาวน์โหลดโปรแกรมรุ่นเก่าไปจะไม่มีโมดูลคำนวณพื้นที่ ต้องมาดาวน์โหลดโปรแกรมกันใหม่ ดูรุ่นและ build ก็พอจะทราบว่าอันไหนเก่าอันไหนใหม่

ดาวน์โหลดและติดตั้ง

  • ดูด้านขวามือดูตรง “ดาวน์โหลด (Download” มองหา “Surveyor Pocket Tools Vxxx build xxxx” คลิกเพื่อดาวน์โหลด สำหรับวินโดส์ 32 บิต ผมยังทำไฟล์ setup ให้อยู่ เมื่อโหลดมาแล้วก็ unzip แล้วก็ทำการติดตั้งได้ง่ายๆ
  • เมื่อติดตั้งแล้วคลิกที่โปรแกรม Surveyor Pocket Tools จะเห็นหน้าต่าง คลิกที่ไอคอนรูปโพลีกอน “Area” จะเห็นโปรแกรมคำนวณหาพื้นที่ขึ้นมาดังนี้
"Compute Area" on Surveyor Pocket Tools
“Compute Area” on Surveyor Pocket Tools

ส่วนประกอบของโปรแกรม

ส่วนประกอบของโปรแกรม
ส่วนประกอบของโปรแกรม

ขั้นตอนใช้งานพอสังเขป

  • การใช้งาน ผมจะกล่าวย่อๆเป็น work flow ดังนี้
    • เริ่มต้นจากเตรียมไฟล์ CSV ที่เก็บค่าพิกัดของรูปปิดที่จะหาพื้นที่ ค่าพิกัดอาจจะเป็นค่าพิกัดระบบพิกัดฉากบน UTM (อาจจะบน WGS84 หรือ Indian 1975) หรือว่าค่าพิกัดภูมิศาสตร์บน WGS84 ก็ได้
    • นำเข้าด้วยการ import โปรแกรมจะอ่านไฟล์แล้วทำการประมวลผลว่ามีตัวคั่นที่เหมือนกันทั้งไฟล์ไหม หรือว่ามีบรรทัดที่ไม่เหมือนบรรทัดอื่น ถ้าอ่านไม่ได้จะแจ้งให้ผู้ใช้ทราบ เมื่ออ่านเข้ามาแล้วจะแสดงผลที่ตารางข้อมูล
    • ทำการกำหนด header หรือหัวคอลัมน์ว่าช่องไหนเป็น Easting/Northing หรือ Latitude/Longitue หรือกำหนดชื่อจุดด้วยถ้ามี แต่ถ้าโปรแกรมมีหัว (header) โปรแกรมพยายามจัดให้อัตโนมัติ
    • ตั้งรูปแบบมุม ถ้าค่าพิกัดทีอ่านมาเป็นค่าพิกัดภูมิศาสตร์
    • คำนวณพื้นที่
    • ปักหมุดบน Google Maps หรือว่า Google Earth
    • ดูผลการคำนวณพื้นที่แบ่งเป็นพื้นที่บนทรงรี และพื้นที่บนระบบพิกัดฉาก
    • แปลงหน่วยพื้นที่เช่นจากตร.ม. เป็นไม่
    • Export ข้อมูลผลลัพธ์ เป็นไฟล์ CSV, Excel หรือ Shape file เพื่อนำไปใช้ในโปรแกรมด้าน GIS

โฟลเดอร์และไฟล์ทดสอบโปรแกรม

  • ผมมีไฟล์ตัวอย่างให้ทดสอบ แต่ไฟล์ตัวอย่างจะอยู่ที่โฟลเดอร์ที่ซ่อนของวินโดส์ จากหน้าโปรแกรมหลัก ดูที่ไอคอนล่างสุด จะเห็น “Example folder” ลองดับเบิ้ลคลิกเข้าไป จะเห็นโฟลเดอร์ย่อย “example data” ดับเบิ้ลคลิกเข้าไปจะเห็นไฟล์ดังรูป ตอนแนะนำการใช้โปรแกรมผมจะใช้ไฟล์ในโฟลเดอร์นี่เป็นหลัก
explorer_2016-12-24_13-41-57
Example folder
  • เพื่อให้ดูง่ายๆว่าในไฟล์ใช้ระบบพิกัดเป็นอะไร ชื่อไฟล์จะใส่ระบบพิกัดไปในชื่อไฟล์ด้วย และมีไฟล์ที่ขึ้นต้นด้วย “error….” เป็นตัวอย่างไฟล์ถ้าโปรแกรมเจอไฟล์แบบนี้แล้วจะอ่านไม่ได้ หรืออ่านได้แต่ไม่ประมวลผลเช่น ไฟล์มีค่าพิกัดแค่สองจุด กลายเป็นเส้นตรงไม่สามารถคำนวณหาพท.ได้

เริ่มต้นใช้งาน

  • ลอง import ไฟล์แรก “boundary1-geo-wgs84.csv” ค่าพิกัดเป็นค่าพิกัดภูมิศาสตร์ ตอน browse เลือกไฟล์เสร็จจะเห็น preview สำหรับไฟล์นี้จะมีชื่อคอลัมน์ “No,Name,Latitude,Longitude”
Import CSV file
Import CSV file
  • ลองเปิดไฟล์นี้มา โปรแกรมจะแสดงข้อมูลที่อ่านมาลงในตารางดังรูปด้านล่าง โปรแกรมจะจัดคอลัมน์ให้ ถ้าไม่ตรงผู้ใช้ต้องมาจัดเอง หลักๆของการออกแบบคือไม่ว่าไฟล์ CSV ผู้ใช้จะเรียงแบบไหนก็ตามเช่น P,N,E หรือ P,E,N หรือ N,E,P ก็ตามโปรแกรมจะอ่านมาก่อน แล้วผู้ใช้ค่อยมากำหนดตามหลัง เพื่อให้ยืดหยุนและสะดวกต่อการใช้งาน

compute_area_header

  • ตอนนี้ยังไม่ได้กำหนดระบบพิกัด แต่ถ้าเผลอไปคลิกไอคอนรูปเครื่องคิดเลขเพื่อคำนวณโปรแกรมก็คำนวณให้ โดยที่นึกว่าค่าแลตติจูดและลองจิจูดเป็นค่าพิกัดฉาก x,y แต่พื้นที่ก็น้อยจนไม่เห็น ต่อไปจะปรับระบบพิกัด (Coordinate Reference System)
  • ตั้งระบบพิกัดเป็น Geographic โดยคลิกเลือกเป็น “WGS84 / Geographic” แล้วคลิกที่ไอคอนเครื่องคิดเลข จะเห็นผลลัพธ์สองอย่าง คือพื้นที่บนทรงรีคำนวณได้ 85129.837 ตร.ม. ส่วนพื้นที่บนระบบพิกัดฉากได้ 85061.858 ตร.ม. ต่างกัน 67.979 ตร.ม.
Area Computation
Area Computation

ปักหมุดรูปแปลงบน Google Maps

  • ตอนนี้เราทราบแล้วว่าทำไมพื้นที่ถึงไม่เท่ากันเพราะ scale factor นั่นเอง ต่อไปจะลองมาปักหมุดบน google maps ที่ไอคอนด้านขวามือคลิกไปที่ไอคอนของ google maps โปรแกรมจะ plot รูปปิดให้พร้อม ปักหมุดรอบรูปแปลง ตรงกลางจะมีหมุดสีแดง แสดงจุดศูนย์ centroid ของพื้นที่

nvidia-share_2016-12-24_15-49-01

ปักหมุดรูปแปลงบน Google Earth

  • คลิกที่ไอคอน google earth โปรแกรมจะถามฃื่อไฟล์ KML ที่จะจัดเก็บ จากนั้นก็พาบินเข้าพื้นที่ จะเห็นแปลงที่ดินดังรูป จะเห็น label แสดงพื้นที่บนทรงรี (Ellipsoidal Area) ที่จริงตอนผมเปิดเรื่องมาเป็นพื้นที่จริงบนผิวโลก ดังนั้นจะมีกระบวนการแปลงพื้นที่จากผิวทรงรีขึ้นไปบนพื้นผิวภูมิประเทศอีกที เอาไว้ในตอนหน้าครับ

explorer_2016-12-24_15-55-16

  • ในตอนหน้ามาดูการใช้งานโปรแกรม ถ้ากำหนดให้รูปแปลงที่ดินเป็นค่าพิกัดฉากในระบบ UTM บน Indian 1975 หรือ WGS84 จะตั้งค่ายังไง และมาดูเบื้องหลังการคำนวณว่าจากค่าพิกัดภูมิศาสตร์จะคำนวณเนื้อที่ได้อย่างไร

เอกสารอ้างอิง