วันจันทร์ที่ 10 กุมภาพันธ์ พ.ศ. 2557

How to 5 : การประมาณค่าช่วง Interpolation


   ข้อมูลพื้นผิว Surtace data เป็นการต่อเนื่องของจุด โดยแต่ละจุดมีค่าแตกต่างกัน เช่นจุดคความสูง อุณหภูมิ และปริมาณน้ำฝนเป็นต้น  ในทางปฏิบัติแล้วเป็นไปได้ยาก ที่เราจะเก็บข้อมูลจากจุดทุกจุด
ดังนั้นการทำการสร้าง แบบจำลองพื้นผิว การประมาณค่าช่วง เป็นการทำนายค่าให้เป็นเซลล์ในลาสเตอร์ การประเทินค่าช่วงของข้อมูลจุดมีหลายวิธี ดังนี้

IDW  เหมาะกับค่าความสัมพันของระยะทาง เช่น เสียงกับระยะทาง หรือ ความเข้มข้นของสารเคมี
Natural Neighbors เหมาะกับตัวอย่างที่มีการกระจ่ายตัวแบบไม่แน่นอน / กระจ่ายตัวแบบไม่สม่ำเสมอ

Spline แทรงค่าพอดีกับพื้นผิวที่มีความโค้วเว้าอย่างน้อยตามจุดข้อมูลตัวอย่างที่นำเข้าข้อมูลที่เหมาะสมคือข้อมูลที่มีความเปลี่ยนแปลงข้อมูลแบบค่อยเป็นค่อยไป เช่น อุณหภูมิ ปริมานน้ำฝน มี 2 แบบคือ Regularized spline  และ Tension spline

Kriging ใช้หลักการทางสถิติเข้ามาเกี่ยวข้อง มีความถูกต้องสูง มีการกระจ่ายตัวสม่ำเสมอ

Treed ใช้พีชคณิต เข้ามาเกี่ยวข้องให้กับจุดตัวอย่างทั้งหมดช่วงในกรณีที่มีพื้นที่เป็นแอ้ง เขา โค้งเว้า กำหนดในพื้นที่คล้ายกับข้อมูลจริง

Topo to Raster ใช้ข้อมูลมากกว่าข้อมูลจุด ใช้หลายชั้นข้อมูลมาสร้าง เหมาะกับการสร้างแบบจำลองทางอุทกศาสตร์ วิเคราะห์แนวน้ำ 




การประมาณค่าช่วงด้วยวิธี IDW (Inverse Distance Weight)


IDW เป็นการเปลี่ยนข้อมูลจุดให้เป็นข้อมูลแบบ raster ในตัวอย่าจะเริ่มจากการเปิดข้อมูลจุดขึ้นมา ใช้เป็นชั้นข้อมูล SPOT 




จากนั้นเรียกคำสั่ง IDW ขึ้นมาจากArcToolbox > Spatial Analyst Tool > Interpolation > IDW





หน้าต่างของ IDW ในช่องที่ 1 คือช่อง Input point features ใส่ชั้นข้อมูลจุดที่ต้องการเปลี่ยนลงไป
ช่องที่ 2 คือช่อง Z value field ให้ใส่ข้อมูลที่ต้องการเก็บค่าความสูง 
ช่องที่ 3 คือช่อง Output raster ทำการเลือกที่จัดเก็บว่าต้องการจัดเก็บที่ไหน
ช่องที่ 4 คือช่อง Output cell size ใส่ค่าขนาดของพิกเซลลงไป จากนั้นคลิก OK




จะมี IDW ที่เราสร้างไว้ปรากฏใน Display จากนั้นกดเลือกชั้นข้อมูล Polygon เพื่อทำขอบเขตของพื้นที่ 
ในตัวอย่างจะเลือกเป็นชั้นข้อมูลที่ชื่อว่า Province 




การทำขอบเขตให้แก่ Province ให้เลือกคำสั่ง IDW จากที่ ArcToolbox 




ใส่ข้อมูลเช่นเดียวกับตอนที่ทำ IDW ให้ชั้นข้อมูล SPOT 
ในช่องที่ 1 ช่อง Input point features ใส่ชั้นข้อมูล SPOT
ช่องที่ 2 ช่อง Z value field ให้ใส่ ELEVATION 
ช่องที่ 3 ช่อง Output raster เลือกที่ที่ต้องกสนจัดเก็บพร้อมตั้งชื่อในตัวอย่างจะใช้ชื่อ idw2
ช่องที่ 4 ช่อง Output cell size ใส่ค่าขนาดของพิกเซลลงไปเป็น 40 จากนั้นให้คลิกที่ช่อง Environments..



 ทำการเปลี่ยนค่าในช่อง Processing Extent ช่อง Extent เลือก Same as layer idw 




เลื่อนลงมาเลือกที่ Raster Analysis ในช่อง Mask ให้เปลี่ยนเป็น PROVINCE จากนั้นกด OK เพื่อกลับมาหน้าต่างเดิม



 ตรวจสอบความถูกต้องและกด OK




จะปรากฏภาพที่มีขอบเขตตามที่เราต้องการ





Natural Neighbors


ในเบื้องต้นจะทำการสร้างโพลิกอนรอบล้อมจุดตัวอย่าง เรียกว่า Voronoi (Thiessen) polygon จากนั้นจะมีการสร้าง Voronoi ขึ้นใหม่รอบจุดที่ต้องการแทรกค่า โดยขนาดพื้นที่ของ Voronoi ที่สร้างใหม่นี้จะนำไปใช้คำนวณค่าเฉลี่ยถ่วงน้ำหนัก ในขึ้นตอนนี้เราจะใช้ฐานข้อมูลเป็น idw และทำการเรียกคำสั่ง Natural Neighbor ขั้นมา



หน้าต่างของ Natural Neighbor จะมีช่องให้ใส่ข้อมูล 
ในช่องที่ 1 ช่อง Input point features ใส่ชั้นข้อมูล SPOT
ช่องที่ 2 ช่อง Z value field ให้ใส่ ELEVATION 
ช่องที่ 3 ช่อง Output raster เลือกที่ที่ต้องกสนจัดเก็บพร้อมตั้งชื่อในตัวอย่างจะใช้ชื่อ Natural
ช่องที่ 4 ช่อง Output cell size ใส่ค่าขนาดของพิกเซลลงไปเป็น 40 จากนั้นให้คลิกที่ OK




Natural Neighbors เป็นการลากขอบเขตจากจุดหนึ่งไปอีกจุดหนึ่งเป็นเส้นตรง โดยจะเหมาะกับตัวอย่างที่มีการกระจายตัวแบบไม่แน่นอน





Spline

   วิธี Spline เป็นการนำสมการทางคณิตศาสตร์มาใช้ในการคำนวณ เหมาะกับพื้นผิวที่มีการเปลี่ยนแปลงแบบค่อยเป็นค่อยไป เช่น ความสูง และความลึกของพื้นน้ำ เป็นต้นจะมี 2 
- Regularized spline เป็นเทคนิคที่ทำให้ผลลัพธ์ที่ได้มีความเรียบ  
เข้าไปเลือกคำสั่ง Spline ขึ้นมาจาก ArcToolbox




หน้าต่างของ Spline 
ในช่องที่ 1 ช่อง Input point features ใส่ชั้นข้อมูล SPOT
ช่องที่ 2 ช่อง Z value field ให้ใส่ ELEVATION 
ช่องที่ 3 ช่อง Output raster เลือกที่ที่ต้องกสนจัดเก็บพร้อมตั้งชื่อในตัวอย่างจะใช้ชื่อ sp_re
ช่องที่ 4 ช่อง Output cell size ใส่ค่าขนาดของพิกเซลลงไปเป็น 40
ช่องที่ 5 ช่อง Spline type ให้เลือกประเภทของ Spline ในตัวอย่างจะสาธิตเป็นแบบ REGULARIZED  
จากนั้นคลิกที่ Environments... 





ทำการเปลี่ยนค่าในช่อง Processing Extent ช่อง Extent เลือก Same as layer PROVINCE 



เลื่อนลงมาเลือกที่ Raster Analysis ในช่อง Mask ให้เปลี่ยนเป็น PROVINCE จากนั้นกด OK เพื่อกลับมาหน้าต่างเดิม




ตรวจสอบความถูกต้องจากนั้นคลิก OK




จะได้ Spline แบบ Regularized spline




   ต่อมาเป็นการทำ Spline แบบ Tension spline เป็นเทคนิคที่มีการควบคุมความแข็งกระด้างของพื้นผิว วิธีการทำเหมือนกับแบบ Regularized spline ทุกประการแต่จะมีแต่ต่างบ้างในส่วนที่ให้เลือกประเภทของ Spline ให้เลือกเป็น Tension spline

เลือกคำสั่ง Spline ใน ArcToolbox ขึ้นมา





หน้าต่างของ Spline 
ในช่องที่ 1 ช่อง Input point features ใส่ชั้นข้อมูล SPOT
ช่องที่ 2 ช่อง Z value field ให้ใส่ ELEVATION 
ช่องที่ 3 ช่อง Output raster เลือกที่ที่ต้องกสนจัดเก็บพร้อมตั้งชื่อในตัวอย่างจะใช้ชื่อ sp_re2
ช่องที่ 4 ช่อง Output cell size ใส่ค่าขนาดของพิกเซลลงไปเป็น 40
ช่องที่ 5 ช่อง Spline type ให้เลือกประเภทของ Spline ในตัวอย่างจะสาธิตเป็นแบบ TENSION 
จากนั้นคลิกที่ Environments... 





ทำการเปลี่ยนค่าในช่อง Processing Extent ช่อง Extent เลือก Same as layer PROVINCE 




เลื่อนลงมาเลือกที่ Raster Analysis ในช่อง Mask ให้เปลี่ยนเป็น PROVINCE จากนั้นกด OK เพื่อกลับมาหน้าต่างเดิม




ตรวจสอบความถูกต้อง จากนั้นกด OK





จะปรากฏ Spline แบบ TENSION



Kriging

   วิธีการนี้จะทำการเลือกสมการทางคณิตศาสตร์ที่เหมาะสมกับจุดตัวอย่างที่เลือกไว้ ภายในรัศมีที่กำหนดเพื่อให้ได้ผลลัพธ์ในแต่ละพื้นที่ออกมา การใช้ Kriging ควรต้องรู้ระยะทางที่สัมพันธ์ทางพื้นที่หรือทิศทางเอนเอียงในข้อมูล


เปิดคำสั่ง Kriging ขึ้นมาในแถบ ArcToolbox




หน้าต่างของ Kriging 
ในช่องที่ 1 ช่อง Input point features ใส่ชั้นข้อมูล SPOT
ช่องที่ 2 ช่อง Z value field ให้ใส่ ELEVATION 
ช่องที่ 3 ช่อง Output raster เลือกที่ที่ต้องกสนจัดเก็บพร้อมตั้งชื่อในตัวอย่างจะใช้ชื่อ kriging
ช่องที่ 4 ช่อง Output cell size ใส่ค่าขนาดของพิกเซลลงไปเป็น 40
จากนั้นคลิกที่ Environments... 




ทำการเปลี่ยนค่าในช่อง Processing Extent ช่อง Extent เลือก Same as layer PROVINCE 




เลื่อนลงมาเลือกที่ Raster Analysis ในช่อง Mask ให้เปลี่ยนเป็น PROVINCE จากนั้นกด OK เพื่อกลับมาหน้าต่างเดิม




ตรวจสอบความถูกต้อง และกด OK





จะปรากฏผลลัพธ์ของคำสั่ง Kriging ขึ้นมา 



Trend

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




หน้าต่างของ Trend 
ในช่องที่ 1 ช่อง Input point features ใส่ชั้นข้อมูล SPOT
ช่องที่ 2 ช่อง Z value field ให้ใส่ ELEVATION 
ช่องที่ 3 ช่อง Output raster เลือกที่ที่ต้องกสนจัดเก็บพร้อมตั้งชื่อในตัวอย่างจะใช้ชื่อ trend
ช่องที่ 4 ช่อง Output cell size ใส่ค่าขนาดของพิกเซลลงไปเป็น 40
ช่องที่ 5 ช่อง Polygnomial order ให้เราใส่ค่ายกกำลัง ตั้งแต่ 1 - 12 ใส่ค่าใดไป 
ก็จะแสดงค่านั้นออกมาสามารถใส่ได้ถึงค่า 12 
จากนั้นคลิกที่ Environments... 





ทำการเปลี่ยนค่าในช่อง Processing Extent ช่อง Extent เลือก Same as layer PROVINCE 





เลื่อนลงมาเลือกที่ Raster Analysis ในช่อง Mask ให้เปลี่ยนเป็น PROVINCE จากนั้นกด OK เพื่อกลับมาหน้าต่างเดิม




ตรวจสอบความถูกต้อง จากนั้นกด OK




 ผลลัพธ์จะแสดงค่า Trend ยกกำลัง 1 ออกมา






ถ้าต้องการทำ Trend ให้เป็นค่ายกกำลังค่าอื่นให้มาเปลี่ยนตัวเลขยกกำลังที่ช่อง Polynomial จากนั้นก็ทำตามวิธีข้างต้นให้เหมือนกัน

ค่ายกกำลังเป็น 2 




ผลลัพธ์ของ Trend ยกกำลัง 2



Topo to Raster

   เป็นวิธีการที่ออกแบบมาเพื่อสร้างแบบจำลองความสูงเชิงเลขทางอุทก-ศาสตร์ (Hydrological correct digital elevation model: DEMs) โดยใช้ข้อมูลเส้น Contour 

   ผลลัพธ์ที่ได้ ได้แก่ โครงสร้างการระบายน้ำ รวมทั้งการแสดงลักษณะของสันเขาและลำธารที่มีความถูกต้อง
การเปิดชั้นข้อมูลที่จะใช้กับ Topo to Raster นั้นมีตัวแปรทั้งหมด 6 ตัวแปรคือ
1. Point ข้อมูลจุด 
2. Contour เส้นชั้นความสูง
3. Sink ข้อมูลบ่อน้ำ
4. Stream ข้อมูลเส้นทางน้ำ
5. Lake ข้อมูลสระน้ำ ทะเลสาป
6. Province ข้อมูลขอบเขต
ตัวแปลทั้งหมดนี้ไม่จำเป็นว่าจะต้องใช้ทั้ง 6 ตัวแปลขาดตัวใดตัวหนึ่ได้แต่ห้ามขาด Contour เส้นชั้นความสูง

ในตัวอย่างนี้จะใช้ชั้นข้อมูลทั้งหมด 4 ชั้นข้อมูลคือ SPOT(เป็นข้อมูลจุด) , STREAM , CONTOUR , PROVINCE  
จากนั้นเปิดคำสั่ง Topo to Raster ในแถบเครื่องมือ ArcToolbox ขึ้นมา 





หน้าต่างของ Topo to Raster จะให้เราใส่ข้อมูล ในช่อง Input feature data ให้เลือกข้อมูลดังนี้
- SPOT   ใส่   Field = ELEVATION   ใส่   Type = Point Elevation
- STREAM   ใส่   Type = Stream
- CONTOUR    ใส่   Field = ELEVATION   ใส่   Type = Contour
- PROVINCE   ใส่   Type = Boundary

ช่อง Output surface raster เลือกว่าการจัดเก็บเพราะตั้งชื่อ ในตัวอย่างเลือกเป็น topo
ช่อง Output cell size ขนาดขอพิกเซลให้เลือกเป็น 40 จากนั้นคลิก OK 




ผลลัพธ์ที่ได้จากการทำ Topo to Raster วิธีนี้เหมาะกับแบบจำลองทางภูมิศาสตร์



การสร้าง TIN


   โครงข่ายสามเหลี่ยมหรือ TINs เป็นโครงสร้างข้อมูลเวกเตอร์ที่เก็บและแสดงแบบจำลองพื้นผิว
TINs จะประกอบด้วย Node จำนวนมาก ซึ่งเก็บค่า Z เอาไว้ แต่ละ Node จะเชื่อมต่อด้วยเส้น เรียกว่า Edge

   Edge ของ TINs จะต่อเนื่องกันและสามารถใช้ระบุตำแหน่งของข้อมูลที่ต้องการได้ 
เนื่องจาก Node ของ TINs สามารถวางอยู่เหนือพื้นผิวได้ ดังนั้น TINs จึงสามารถเก็บข้อมูลที่มีรายละเอียดสูงได้ เช่น ตัวแปรที่มีค่าสูงมาก ๆ ในขณะเดียวกันก็สามารถเก็บค่าอื่น ๆ ได้ตามต้องการ รวมทั้งตัวแปรที่มีค่าต่ำ

   TIN สามารถสร้างได้จากข้อมูลจุด เส้น หรือโพลิกอน โดย TIN มีหน่วยเป็นฟุตหรือเมตร แต่ไม่ใช้หน่วยเป็นองศา ด้วยข้อจำกัดต่าง ๆ ของ TIN ที่มีมากกว่าข้อมูลแรสเตอร์ จึงทำให้ไม่เป็นที่นิยมในการใช้งาน

   การสร้างและกระบวนการวิเคราะห์ TIN มีต้นทุนสูง โดยเฉพาะต้นทุนในการสร้างข้อมูลที่มีคุณภาพดีเพื่อนำมาสร้าง TIN อีกทั้งโครงสร้างของ TIN ที่มีความซับซ้อนมากกว่าข้อมูลแรสเตอร์

    โดยทั่วไปแล้ว TIN นำมาใช้ในการสร้างแบบจำลองที่ต้องการความถูกต้องสูงและพื้นที่ศึกษาที่มี    ขนาดไม่ใหญ่มากนัก เช่น งานทางวิศวกรรมศาสตร์ขนาดของ TIN ขึ้นอยู่กับหน่วยความจำที่สามารถเก็บได้ ซึ่งอาจมีขนาดตั้งแต่ 10-15 ล้าน Node

   อย่างไรก็ตามไม่ควรขนาดของ TIN ไม่ควรเกินหลักล้าน เพื่อความเหมาะสมในการเก็บและการแสดงผลข้อมูล 

เปิดคำสั่งที่อยู่ใน ArcToolbox > 3D Analyst Tool > TIN Management > Create TIN




หน้าต่างของ Create TIN 
ช่อง Output TIN ให้เราใส่ว่าต้องการจัดเก็บ และทำการตั้งชื่อจากตัวอย่างใช้ชื่อ tin
ช่อง Input Feature Class ทำการนำชั้นข้อมูล และใส่ค่าลงไป
- SPOT  ใส่ height_field = ELEVATION  ,  SF_type = masspoints  , tag_field = ELEVATION
- STREAM   ใส่ SF_type = softine
- CONTOUR   ใส่ height_field = ELEVATION  ,  SF_type = hardline
- PROVINCE   ใส่ SF_type = hardline
คลิก OK เพื่อออกมาดูผลลัพธ์ที่ได้




ผลลัพธ์ของการทำ TIN




เมื่อทำการขยายเช้าจะเห็นโครงข่ายได้ชัดขึ้น 





วิธีการเปลี่ยนสี คลิกขวาที่ Layer ชัั้นข้อมูลจากนั้นเลือกที่ Properties 




เลือกที่ Sybology ช่องของ Show ถ้าเลือก Edge typs จะเป็นการเปลี่ยนสีประเภทของเส้น




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











Video How to 5 : การประมาณค่าช่วง Interpolation




อ้างอิง : สื่อการสอน อาจารย์ ดร.ณรงค์  พลีรักษ์ คณะภูมิสารสนเทศศาสตร์  มหาวิทยาลัยบูรพ