Month: December 2016

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

ทดสอบข้อมูลค่าพิกัดรูปปิดบนพื้นหลักฐาน Indian 1975

  • ขอพูดเกี่ยวกับ work flow สักนิด เมื่ออ่านไฟล์รูปปิดจากไฟล์  CSV มาแล้ว โปรแกรมจะคำนวณหาจุด centroid หรือจุดศูนย์ถ่วงของพื้นที่ แล้วจะแปลงพิกัดเป็นค่าพิกัดในพื้นหลักฐาน WGS84 ทั้งค่าพิกัดของรูปปิดและจุดศูนย์ถ่วงด้วย จากนั้นโปรแกรมจะสร้างเส้นโครงแผนที่ Lambert Azimuthal Equal Area โดยการใช้จุดศูนย์ถ่วงเป็น latitude of origin, central meridian แล้วเรียกใช้ไลบรารี Proj4 เพื่อทำการแปลงพิกัดไปยังระบบพิกัดฉากของเส้นโครงแผนที่ LAEA สุดท้ายใช้สูตรผูกเชือกรองเท้า ทำการคำนวณหาพื้นที่ จะได้พื้นที่ออกมา แต่ยังเป็นพื้นที่บนทรงรีอยู่
  • ที่หน้าต่างโปรแกรมคลิก “Import” แล้ว browse… เพื่อนำไฟล์ CSV เข้า

compute_area_import2

  • จะใช้ข้อมูลที่ผมเตรียมไว้ให้ อยู่ในโฟลเดอร์ “C:\Users\ชื่อผู้ใช้\AppData\Roaming\Surveyor Pocket Tools\example data” เลือกไฟล์ “boundary2-utm47n-indian1975.csv

surveyor-pocket-tools_2016-12-26_17-06-30

  • เมื่อคลิก “ok” จะเห็น preview ไฟล์นี้ไม่มีชื่อหัวคอลัมน์ เราต้องไประบุทีหลัง

compute_area_import3_noheaders

  • เมื่ออ่านไฟล์เข้าตารางข้อมูล จะเห็นตรงกรอบสีแดงด้านบนเป็น “Col1” ทั้งหมด

compute_area_noheaders

  • ตั้งหัวข้อคอลัมน์ให้ตรงกับ ชื่อจุด Northing Easting

compute_area_set_headers

  • ต่อไปก็ตั้งระบบพิกัดเป็น “Indian 1975 / UTM Zone 47N”

compute_area_set_crs

  • คลิกคำนวณที่ไอคอนเครื่องคิดเลข โปรแกรมจะคำนวณหาพื้นที่ให้ มาลองปักหมุดดูกันครับ บน google maps คลิดที่ทูลส์บาร์ด้านขวา

nvidia-share_2016-12-26_20-27-43

  • ปักหมุดที่ google earth

2016-12-26_20-30-02

การส่งออกไฟล์เป็น Shape file

  • ใครที่ไม่ได้ใช้งานจำพวก GIS ก็ข้ามหัวข้อนี้ไปนะครับ อย่างที่ผมบอกไว้ว่าเส้นโครงแผนที่ Lambert Azimuthal Equal Area รักษาพื้นที่แต่ไม่รักษารูปร่าง แต่ข้อดีคือการจุด origin ไปแปะอยู่ที่จุดศูนย์ถ่วง ทำให้รูปร่างไม่น่าจะเพี้ยนมากนัก ต่อไปคลิกที่ “Export…”

compute_area_export_to_shape_file

  • จะเห็นไดอะล๊อก เลือกปลายทางไฟล์ที่จะเก็บ เลือกรูปแบบเป็น “ESRI Shape file

surveyor-pocket-tools_2016-12-26_21-23-27

  • ผมตั้งชื่อว่า “Boundary2” โปรแกรมจะสร้างไฟล์ให้ มีทั้งหมด 4 ไฟล์คือ  Boundary2.dbf, Boundary2.shx, Boundary.shp และ Boundary.prj ผมจะลองเปิด QGIS แล้วเปิดไฟล์ชุดนี้เข้าไป ที่ QGIS ที่เมนู “Project => New” เพื่อสร้าง project ใหม่ จากนั้นคลิกที่เมนู “Project => Project Proterites” เลือกหน้า CRS (Coordinate Reference System) ตั้งค่าตามรูปด้านล่าง คือเราจะให้ QGIS แปลงพิกัดเป็น WGS84 ในขณะนำเข้า

qgis-bin_2016-12-27_05-36-35

  • แต่หลายครั้งผมพบว่า QGIS รู้สึกจะเอ๋อๆ ไม่ยอมแปลงพิกัดแบบทันทีทันใดตอนนำเข้า จากนั้นเลือกเมนู “Layer => Add Layer => Add Vector Layer…” เลือกไฟล์ชือ “Boundary2.shp”
  • เข้ามาแล้ว ผมตรวจดู QGIS แปลงพิกัดให้เรียบร้อย ไปที่เมนู Setting => Custom CRS… จะเห็นร่องรอยระบบพิกัดที่นำไฟล์เข้าไป QGIS

qgis_user_defined_crs

  • ข้อควรจำ ระบบพิกัดของเส้นโครงแผนที่ LAEA  ที่ผมทำขึ้นมาช่วยหาพื้นที่ ตัวนี้ควรใช้ชั่วคราวเท่านั้นนะครับ เพราะไม่ได้เป็นมาตรฐาน ถ้านำเข้าโปรแกรมด้าน GIS ควรรีบแปลงระบบพิกัดไปหาตัวมาตรฐานอื่นทันที
  • แต่ถ้าผู้อ่านต้องการส่งออกไฟล์ Shape file บนระบบค่าพิกัดเป็น UTM แต่จำกัดเฉพาะบน WGS84 เพราะว่า Indian 1975 ที่อยู่ตามโปรแกรม GIS ทั้งหลายค่าพารามิเตอร์ Transformation ไม่ตรงกับประเทศไทย ที่เราใช้กัน ค่าที่เราใช้กันคือ dx = 204.5, dy = 837.9, dz = 294.8 ตามกรมแผนที่ทหารปี 2551 ดังนั้นถ้ามีการแปลงพิกัดบนโปรแกรมเหล่านี้ไปหาระบบพิกัดอื่นจะไม่ถูกต้อง เว้นเสียแต่ว่าเราสามารถกำหนดตัวแปรพารามิเตอร์เองได้
  • ที่โปรแกรมคลิก “Export…” ด้านขวา เลือกโฟลเดอร์ปลายทางแล้วป้อนขื่อไฟล์ แล้วลองเปิดบนโปรแกรมด้าน GIS ดู

compute_area_export_shapefile_utm

การเปลี่ยนหน่วยพื้นที่

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

compute_area_changed_unit

ปัญหาของแปลงที่ดินอยู่คร่อมเส้นแบ่งโซน

  • ปัญหาของระบบพิกัดฉากอีกอย่าง คือตรงบริเวนเส้นแบ่งโซน ที่ศูนย์พิกัดอยู่คนละที่กัน ถ้าเป็นงานก่อสร้างบริเวณช่วงแบ่งโซนนี้ อาจจะทำหมุดไว้อย่างน้อยหนึ่งคู่ พร้อมกับมีพิกัดอิงอยู่ทั้งสองโซน
  • สำหรับแปลงที่ดิน ถ้าไม่ล้ำโซนไปหากันไกลมากนัก ก็น่าจะอนุโลมในการใช้โซนข้างใดข้างหนึ่ง  การคำนวณพื้นที่ถ้าจะต้องมาแบ่งพื้นที่ตามโซนแล้ว นำพื้นที่มารวมกันทีหลัง ค่อนข้างยุ่ง
  • แต่ถ้าแปลงที่ดินเก็บค่าพิกัดแบบภูมิศาสตร์ ก็ง่ายครับ มาดูข้อมูลทดสอบแปลงรูปปิด อยู่บนพื้นที่ระว่างโซน 47 และโซน 48 ค่าพิกัดเป็นแบบภูมิศาสตร์
  • คลิก “Import…” ที่ทูลส์บาร์ด้านขวา เลือกไฟล์ชื่อ “boundary4-crossed-zone47n-zone48n.csv

python_2016-12-27_11-06-49

  • ดู preview ไฟล์มีหัวชื่อคอลัมน์ ค่าพิกัดเป็นแลตติจูด ลองจิจูด

python_2016-12-27_11-07-01

  • ที่ตารางข้อมูล ตั้งระบบพิกัดเป็น “WGS84 / Geographic” คลิกที่ไอคอนเครื่องคิดเลขทำการคำนวณ ที่นี้ผลการคำนวณพื้นที่ในระบบพิกัดฉาก โปรแกรมจะพบว่ามีการข้ามโซน จะคำนวณพื้นที่ให้ทั้งสองโซน ค่าจะต่างกันเพราะว่าค่า scale factor ไม่เท่ากัน พื้นที่แปลงนี้เมื่อคำนวณบนระบบพิกัดฉากโซน 47 จะได้ค่าออกมา = 291 ไร่ 2 งาน 87.47 ตารางวา 

compute_area_crossed_zone_comparison1

  • ลองคลิกเลือกเป็นโซน 48 ตามรูปจะได้พื้นที่ 291 ไร่ 2 งาน 86.61 ตารางวา สองโซนต่างกัน = 87.47 – 86.61 = 0.86 ตารางวา ถือว่าต่างกันน้อยมาก แต่ถ้าเทียบกับพื้นที่บนทรงรีแล้ว ต่างกัน 2 งานกว่าๆ ถือว่ามากพอสมควร

compute_area_crossed_zone_comparison2

ตรวจสอบพื้นที่บนทรงรี

  • ที่จุดศูนย์ถ่วง latitude = 13.9468690 longitude = 102.0021300  ค่าระดับเฉลี่ยเทียบกับรทก. (H) ประมาณ 30 เมตร ความสูงจีออยด์(N) =-26.653 เมตร ความสูงเทียบกับทรงรี (h) = H + N = 30-26.653 = 3.347 เมตร รัศมีทรงรีบริเวณนี้ = 6,376,910 เมตร หาค่า ESF = 6376910/(6376910+3.347) = 0.999999475
  • ค่า บน UTM Zone 47N GSF = 1.00090202 บน UTM Zone 48N GSF = 1.000898320
  • พื้นที่ในระบบพิกัดฉาก UTM Zone 47N = 466749.898 ตร.ม. คิดเป็นพื้นที่บนทรงรี =  466749.898 /  1.00090202² = 465909.000 ตร.ม. พื้นที่บนทรงรีที่ได้จากเส้นโครงแผนที่ LAEA = 465909.007 ตร.ม. ต่างกันที่ทศนิยมตำแหน่งที่ 3 ถือว่าน้อยมาก
  • พื้นที่ในระบบพิกัดฉาก 48N = 466746.458 ตร.ม. คิดเป็นพื้นที่บนทรงรี  = 466746.458/1.000898320 = 465909.011 ตร.ม. ต่างกันที่ทศนิยมตำแหน่งที่ 3 เช่นเดียวกัน อย่างไรก็ตามค่าที่ได้จาก LAEA ผมถือว่าให้ค่าที่ถูกต้องที่สุด
  • คิดเป็นพื้นที่จริง = 465907.007 / 0.999999475² = 465907.496 ตร.ม.
  • ลองปักหมุดดูบน google earth เส้นสีน้ำเงินหนาๆคือเส้นแบ่งโซน ด้านซ้ายคือโซน 47 ด้านขวาคือโซน 48

googleearth_2016-12-27_11-27-45

สรุป

  • การคำนวณพื้นที่บนทรงรีจากเส้นโครงแผนที่ Lambert Azimuthal Equal Area มีความน่าเชื่อถือ ทำให้การคำนวณพื้นที่จากระบบพิกัดฉาก UTM สามารถหาพื้นที่ได้โดยไม่ต้องอาศัยการคำนวณหาค่า Grid Scale Factor
  • ก็หวังว่าทูลส์ตัวนี้จะช่วยช่างสำรวจคำนวณพื้นที่ได้โดยสะดวกและสามารถนำผลลัพธ์ไปใช้งานอื่นๆได้ง่าย

เครดิต

  • ผมได้เพิ่มไลบรารีภาษา python มาช่วยอีกสองไลบรารีคือช่วยในการเขียน Excel และเขียน shape file ทำให้งานยากๆกลายเป็นเรื่องง่ายๆ
  • เขียนไฟล์ Excel ใช้ openpyxl พัฒนาโดย Eric Gazoni, Charlie Clark ใช้งานง่าย มีทุกอย่างที่ต้องการ ไม่ต้องอ่านคู่มือมาก
  • เขียนไฟล์ ESRI Shape file ใช้ pyshp พัฒนาโดย Joel Lawhead ใช้งานง่ายมาก อ่านคูมือไม่กี่บรรทัดก็ใช้งานได้แล้ว

ก้าวเล็กๆต่อไปของ Surveyor Pocket Tools

  • ในภายภาคหน้า ผมจะเขียนทูลส์เล็กๆมาช่วยคำนวณเรื่อง scale factor ทั้ง ESF, GSF และ CSF  ให้มาใช้งานได้ง่ายๆสะดวก อานิสงส์ของโปรแกรมคำนวณพื้นที่ตัวนี้ ทำให้ผมสามารถเอาสูตรแปลงพิกัด Geographic => UTM และแปลงจาก UTM => Geographic และการคำนวณ ESF & GSF ลงเครื่องคิดเลข Casio Fx5800p เนื่องจากติดตามสูตรเขียน scale factor แต่ไปเจอสูตรทั้งหมดอยู่ด้วยกัน ก็เลยเอามาลงที่เครื่องคิดเลขได้ทั้งหมดแบบนึกไม่ถึง
  • ทุกโปรแกรมบนเครื่อง desktop pc & notebook ของผมยังฟรีเหมือนเดิม ร่วมแบ่งปันกัน โลกนี้จะน่าอยู่มากยิ่งขึ้น” ติดตามตอนต่อไปครับ

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

คำนวณพื้นที่ polygon จากไฟล์ในระบบพิกัดฉาก UTM

  • ตอนแรกได้สาธยายเรื่อง Scale factor ของเส้นโครงแผนที่ที่มีผลต่อการรังวัดของช่างสำรวจไปแบบพอหอมปากหอมคอ และท้ายสุดได้ใช้โปรแกรมเปิดไฟล์ CSV ที่เก็บค่าพิกัดแบบภูมิศาสตร์ของรูปปิด polygon คำนวณหาพื้นที่บนระนาบ UTM และพื้นที่บนทรงรี ก็เห็นไปแล้วว่าสองพื้นที่นี้มีความแตกต่างกัน เพราะสืบเนื่องจาก  Scale factor เบื้องหลังการทำงานของโปรแกรมก็คือ เมื่ออ่านพิกัดภูมิศาสตร์เข้ามาก็ใช้ไลบรารี  Proj4 ทำการแปลงย้อนกลับไปค่าพิกัดฉาก UTM แล้วทำการคำนวณหาพิกัดทั้งสองแบบ
  • ตัวอย่างต่อไปจะอ่านไฟล์ที่เก็บในรูประบบพิกัดฉาก UTM บน WGS84 ที่โปรแกรมที่ทูลส์บาร์ด้านขวา คลิก “Import” เพื่อเปิดนำเข้าไฟล์ CSV

compute_area_import2

 

  • ไปที่โฟลเดอร์โปรแกรมที่ผมกล่าวไปแล้วในตอนที่ 1 เลือกไฟล์ “boundary1-utm47n-wgs84.csv

 

surveyor-pocket-tools_2016-12-25_10-44-50

  • โปรแกรมจะ  preview ให้ดูก่อนว่าที่เลือกมานั้นใช่หรือไม่  ถ้าใช่ก็คลิก “OK” ไปต่อ

surveyor-pocket-tools_2016-12-25_10-56-05

  • โปรแกรมจะนำค่าพิกัดของรูป polygon มาใส่ไว้ในตารางข้อมูล พร้อมกับจัดคอลัมน์ Northing/Easting ให้ อย่าลืมตรวจสอบด้วยว่าถูกต้องไหม

compute_area_example2

  • ไฟล์นี้ทราบดีว่าระบบพิกัดฉากเป็น UTM Zone 47N WGS84 ตั้งระบบพิกัดที่ Reference Coordinate System ดังรูป เลือก “WGS84 / UTM Zone 47N” จากนั้นคลิกที่ไอคอนรูปเครื่องคิดเลข

compute_area_calc2

  • จะได้ผลลัพธ์ จะเห็นว่าพื้นที่บนทรงรี = 85129.846 ตร.ม. พื้นที่บน UTM = 85061.867 ตร.ม.ต่างกัน 67.979 ตร.ม. ขอพักผลลัพธ์ตรงนี้ไว้ก่อน

compute_area_result2

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

  • การคำนวณพื้นที่ของระบบพิกัดฉาก จะใช้สูตรเชือกรองเท้า (Shoelace’s formula) ที่ผมกล่าวไปในตอนที่ 1 ง่ายๆครับ ยิ่งถ้าใช้ excel แล้วยิ่งง่าย จากข้อมูลข้างต้นผมแปลงค่าพิกัดรูปปิดทั้งหมดไปยังค่าพิกัดภูมิศาสตร์ด้วยไลบรารี Proj4 พอได้ค่าพิกัดภูมิศาสตร์ (แลตติจูด ลองจิจูด)มาแล้ว จะคำนวณหาพืนที่ได้อย่างไร ใช้สูตรเชื่อกผูกรองเท้าไม่ได้แล้ว และพื้นผิวไม่ใช่ระนาบราบแบบ UTM แต่เป็นพื้นผิวโค้ง
  • สำหรับสูตรที่ใช้คำนวณพื้นที่บนทรงรี ค่อนข้างซับซ้อนเป็นเรื่อง math หนักๆ ถ้าสนใจลองอ่านของ Charles F. F. Karney, Geodesics on an ellipsoid of revolution,Feb 2011. http://arxiv.org/abs/1102.1215 ตำราสามารถดาวน์โหลดได้ที่หน้าเวปเพจนี้ แต่สำหรับผมไม่ไหวครับหนักเกิน Charles F.F. Karney  เป็นผู้พัฒนา GeographicLib มีโมดูล PolygonArea ผมจะใช้ฟังก์ชันนี้ลองคำนวณหาพื้นที่เพื่อเปรียบเทียบกับวิธีที่ผมจะใช้
  • วิธีการที่ผมจะใช้คำนวณหาพื้นที่จะใช้เส้นโครงแผนที่ (Map Projection) มาช่วย แต่เป็นเส้นโครงแผนที่ที่รักษาพื้นที่ (ไม่รักษารูปร่าง) เลือกใช้ “Lambert Azimuthal Equal Area” ดูชื่อแล้วเหมือนจะเป็น 2 in 1 คือรักษาทิศทาง (Azimuthal) จากจุดศูนย์กลางที่สัมผัสออกไปยังจุดต่างและยังรักษาพื้นที่ (Equal Area) ด้วย คือได้พื้นที่จริงๆมาแน่นอนบนทรงรี แต่ความรู้สึกผมถ้าพื้นที่ประมาณไม่เกิน 100 ตร.กม. (ประมาณ 10 กม. x 10 กม.) น่าจะยังรักษารูปร่างได้ดี
image4
ภาพจากเวป http://ayresriverblog.com/2011/05/19/the-world-is-flat/
  • จากรูปด้านบนรูปซ้ายสุด จะเป็นการเอา plane ราบๆ ไปสัมผัสที่ขั้วโลกเหนือ การสัมผัสเลือกสัมผัสได้ตามที่ต้องการ ดูสามรูปด้านขวา แต่ที่ผมจะใช้งานจะเลือกเอา plane มาสัมผัสที่จุด centroid คือจุดศูนย์ถ่วงของพื้นที่ จากนั้นตั้ง latitude of origin, central of meridian ที่ค่าพิกัดภูมิศาสตร์ของจุดสัมผัสนี้ และตั้ง False Northing, False Easting เป็น 0.0
  • จากนั้น จะใช้ไลบรารี Proj4 แปลงพิกัดจากค่าพิกัดภูมิศาสตร์บนทรงรีเป็นค่าพิกัดบนระบบพิกัดฉากของ Lambert Azimuthal Equal Area (LAEA) เมื่อได้ค่าพิกัดฉากแล้วก็สามารถนำไปคำนวณด้วยสูตรเชือกผูกรองเท้าได้

ข้ามการคำนวณ Grid Scale Factor

  • ปกติถ้าเป็นระยะทางการจะทอนจากระบบพิกัดฉากไปยังระยะทางบนทรงรี จะต้องนำระยะราบมาหารด้วย GSF แต่ถ้าเป็นพื้นที่บนระบบพิกัดฉากต้องการทอนไปเป็นพืนที่บนทรงรีจะต้องหารด้วยค่า GSF ยกกำลังสอง
  • พท.บนทรงรี = พื้นที่บนระบบพิกัดฉาก UTM / GSF²
  • แต่เมื่อเลือกใช้เส้นโครงแผนที่ LAEA แล้ว ไม่ต้องใช้ GSF แต่เราจะคำนวณหา GSF  ในภายหลังเพื่อเปรียบเทียบว่าผลลัพธ์พื้นที่ที่คำนวณด้วยสองวิธีนี้แตกต่างกันอย่างไรบ้าง

เพิ่มเติม

  • เส้นโครงแผนที่ที่เราใช้กันอยู่บ่อยๆคือ UTM จะเป็นเส้นโครงแผนที่รักษารูปร่าง (Conformal) รูปร่างจะเหมือนเดิมไม่ว่าขยับไปอยู่ตรงไหน แต่ข้อเสียคือขนาดจะเป็นเปลี่ยนไปคืออาจจะใหญ่ขึ้นหรือเล็กลง เอาง่ายๆคือถ้ารูปร่างเป็นวงกลมไม่ว่าจะขยับไปบนลงล่าง รูปร่างจะยังเป็นวงกลม แต่อาจมีขนาดที่ใหญ่ขึ้น ด้วยเหตุนี้แผนที่บนเส้นโครงแผนที่นี้จึงดูเกาะ Greenland มีขนาดใหญ่โตมโหฬาร ทั้งๆที่ขนาดเล็กกว่าทวีปอาฟริกาหลายเท่า ดูรูปด้านล่างจะเข้าใจดี
ภาพจาก http://geokov.com/education/map-projection.aspx
ภาพจาก http://geokov.com/education/map-projection.aspx
  • ส่วนเส้นโครงแผนที่ที่รักษาพื้นที่ (Equal Area) ไม่ว่าจะขยับไปอยู่ตรงไหน ขนาดพื้นที่ของมันยังเท่าเดิม แต่รูปร่างจะเพี้ยนไป วงกลมจะกลายเป็นวงรี ดูรูปด้านล่างจะเห็นว่าเกาะ Greenland มีขนาดนิดเดียว
450px-tissot_indicatrix_world_map_lambert_cyl_equal-area_proj-svg
ภาพจาก https://en.wikipedia.org/wiki/Lambert_cylindrical_equal-area_projection

การส่งออกไฟล์ผลลัพธ์ (Export file)

  • เมื่อคำนวณแล้วต้องการผลลัพธ์ที่เป็นรูปธรรม นอกจากปักหมุดที่ google maps และ google earth แล้ว โปรแกรมเตรียมส่งออกไฟล์ผลลัพธ์ไปได้สามรูปแบบคือ CSV, Excel และ Shape file
  • มาดูการส่งออกไฟล์ Excel คลิกที่ไอคอน “Export”

compute_area_export

  • ไดอะล๊อกจะถามชื่อไฟล์ แต่ก่อนอื่นเลือกชนิดไฟล์ที่จะส่งออกก่อน ในที่นี้เลือก Excel

surveyor-pocket-tools_2016-12-25_15-21-16

  • เมื่อจัดเก็บไฟล์ excel แล้ว ก็ถึงเวลาเปิดมาดูไฟล์ผลลัพธ์ ผมใช้ Libreoffice Calc เปิดไฟล์ excel ตรงด้านล่างที่แสดง sheet จะมีอยู่สาม sheet คือ “area”, “projection” และ “ellipsoid” อันดับแรกดูที่ sheet “area” ก่อน

soffice-bin_2016-12-25_15-40-56

  • ลองเลื่อนลงมาที่ด้านล่าง

soffice-bin_2016-12-25_15-48-19

  • สองคอลัมน์ด้านขวา “Cross-Multiplying” จะเป็นคอลัมน์สำหรับคูนค่า X,Y ไขว์ คลองคลิกดูที่เซลล์จะเห็นสูตรที่โปรแกรมเขียนฝังไว้ในไฟล์ จากนั้นจะทำการบวกผลรวมแต่ละคอลัมน์ จับมาลบกันแล้วคูนด้วย 0.5 จะได้พื้นที่เป็นตร.ม. ออกมา
  • พื้นที่ค่าที่คำนวณได้ตัวนี้เป็นพื้นที่บนเส้นโครงแผนที่ Lambert Azimuthal Equal Area ซึ่งเป็นระบบพิกัดฉากแบบหนึ่ง จะสังเกตว่าค่าที่คำนวณในโปรแกรม excel หรือที่ผมใช้ Libreoffice Calc จะเป็นค่าที่คำนวณจากในโปรแกรมเสปรตชีตในนี้นี้เอง ไม่ได้เอาค่าที่คำนวณจากโปรแกรม “Area” มาใส่แต่อย่างใด
  • มีอีกสอง sheet คือ “projection” เป็นรายละเอียดของเส้นโครงแผนที่ที่เราใช้ และอีก sheet “ellipsoid” เป็นค่าพารามิเตอร์ทรงรี WGS84 ผมเขียนไว้เพื่อต้องการนำค่า flattening (f) ไปใช้ใน sheet “area” เพื่อคำนวณหารัศมีของทรงรี ณ ค่าแลตติจูดที่กำหนด มาดู sheet “ellipsoid” กัน

soffice-bin_2016-12-25_19-47-01

  • ก็เป็นค่าพารามิเตอร์มาตรฐานของ WGS84 ได้แก่ค่า a, b, f, e, e’ ดู  sheet ถัดไปคือ “projection”

soffice-bin_2016-12-25_19-49-47

  • สำหรับเส้นโครงแผนที่ Lambert Azimuthal Equal Area (LAEA) ผมใช้ Plane มาสัมผัสที่จุดศูนย์ถ่วงของพื้นที่ จากนั้นจะโปรเจคจุดต่างๆบนพื้นทรงรีมาที่ plane นี้
  • จุดศูนย์ถ่วงนี้คำนวนในโปรแกรม “Area” ดังนั้นจะเห็นค่า Lattitude of origin = 13.943866348 ค่า central meridian = 99.067227167 และจะเห็น ESRI WKT ซึ่งข้อความนี้จะถูกเขียนไปตอนส่งออกไฟล์ Shape file นามสกุล .prj ซึ่งไฟล์ .prj คน GIS คงทราบดีว่าเป็นไฟล์กำหนดระบบพิกัด สามารถอ่านได้โดยโปรแกรม GIS ทั่วๆไป และผมแถม Proj4 string ด้วยค่านี้ผมใช้งานในโปรแกรมตอนแปลงพิกัด สังเกตดูว่ากระชับกว่า ESRI WKT

คำนวณหาพื้นที่บนพื้นผิวภูมิประเทศ (Surface Area)

  • มาดูขั้นตอนการหาพื้นที่ Surface Area จากพื้นที่บนทรงรี (Ellipsoidal area) ขั้นตอนนี้คือการหาค่า Elevation Scale Factor(ESF)  นั่นเอง แต่ที่นี้เราย้ายการคำนวณมายัง Excel

compute_area_excel1

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

surveyor-pocket-tools_2016-12-25_20-09-37

  • นำค่า -34.7246 มาป้อนที่ช่องสีเหลือง และสูตรที่ฝังในสเปรตชึตจะคำนวณค่า Ellipsoid Height = 180 + (-32.7246) = 145.275 เมตร สุดท้ายสูตรจะคำนวณหาค่ารัศมีทรงรี ณ แลตติจูด = 13.943866348 ได้เท่าก้บ 6376911 เมตร
  • คำนวณหาค่า ESF = R/(R+h) = 6376911/(6376911+145.275) = 0.999977219
  • คำนวณหาพื้นทีจริง Ground-base area หรือ Surface area = Ellipsoidal Area  / ESF² (พืนที่บนทรงรีหารด้วย ESF ยกกำลังสอง)
  • พื้นที่จริง = 85129.846 / (0.999977219²) = 85133.725 ตร.ม.

ทบทวนสูตรการแปลงพื้นที่

  • แปลงจากพื้นที่บนระบบพิกัดฉาก (Grid-based Area) ไปยังพื้นที่บนทรงรี และจากพื้นที่ทรงรี (Ellipsoidal Area) ไปยังพื้นที่บนพื้นที่ผิวภูมิประเทศบนพื้นโลก (Surface Area)

soffice-bin_2016-12-25_20-30-14

  • หรือถ้าทราบ ESF แบะ GSF ก็รวบรัดดังนี้

soffice-bin_2016-12-25_20-35-31

  • ช่างรังวัดกรมที่ดินกับช่างรังวัดเอกชน เห็นสูตรนี้แล้ว คงคุ้นๆกัน ESF ก็คือ ค่าคูนสัมประสิทธ์ (C) นั่นเอง ส่วน GSF คือค่าคูนมาตราส่วน(K)

soffice-bin_2016-12-25_20-54-14

ตรวจสอบความถูกต้องของพื้นที่บนระบบพิกัดฉาก Lambert Azimuthal Equal Area

  • ตอนที่สั่งคำนวณจะเห็นผลลัพธ์บนหน้าต่างของโปรแกรม ขอทบทวนอีกครั้ง พื้นที่บนทรงรี = 85129.846 ตร.ม. และ พื้นที่บน UTM = 85061.867 ตร.ม. ต่างกัน 67.979 ตร.ม.
  • ค่าพิกัดจุดศูนย์ถ่วง แลตติจูด = 13.943866348 ค่าลองจิจูด = 99.067227167 ผมหา GSF ได้ 0.99960065 ลองสูตรแรก Ellipsoidal Area = Grid-based Area / GSF² = 85061.867/0.99960065² = 85129.847 ตร.ม. ต่างจากค่าที่คำนวณด้วยเส้นโครงแผนที่ LAEA 85129.846 ตร.ม. น้อยมากตำแหน่งทศนิยมที่ 3 สรุปว่าวิธีการใช้เส้นโครงแผนที่ Lambert Azimuthal Equal Area ใช้ได้ดี
  • ขอจบตอนนี้ พบกับตอนที่ 3 ตอนสุดท้าย จะมาเก็บตกกัน  ถ้าพื้นที่อยู่ในเขตแบ่งโซน UTM จะทำยังไง และลองค่าพิกัดยูทีเอ็มของรูปปิดในระบบของ Indian 1975 ดู

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 จะตั้งค่ายังไง และมาดูเบื้องหลังการคำนวณว่าจากค่าพิกัดภูมิศาสตร์จะคำนวณเนื้อที่ได้อย่างไร

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