สวัสดีค่ะ บล๊อกนี้เป็นส่วนหนึ่งของวิชา GIS2 คณะภูมิสารสนเทศศาสตร์ มหาวิทยาลัยบูรพา

วันเสาร์ที่ 8 กุมภาพันธ์ พ.ศ. 2557

Lab 2 การสร้างความสัมพันธ์ระหว่างตาราง (Join & Relate)

รูปแบบการสร้างความสัมพันธ์ระหว่างตารางในฐานข้อมูลได้ 4 รูปแบบ ดังนี้

  • ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One-to-One) เรคคอร์ดหรือข้อมูลในตาราง หรือตารางที่จะมีความสัมพันธ์หรือเชื่อมต่อหรือจับคู่กับ 1 เรคคอร์ดในตาราง เท่านั้น จะจับมากกว่า 1 เรคคอร์ดไม่ได้

  • ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (One-to-Many) เรคคอร์ดที่ 1 ในตาราง A สามารถจับคู่ได้มากกว่าเรคคอร์ดในตาราง สมมุติในตาราง A มีเรคคอร์ดที่ 1 สามารถจับคู่กับตาราง Bในเรคคอร์ดที่ เรคคอร์ดที่ 2 ได้

  • ความสัมพันธ์แบบกลุ่มต่อหนึ่ง (Many-to-One) จะตรงข้ามกับความสัมพันธ์แบบหนึ่งต่อกลุ่ม (One-to-Many) หลายๆ เรคคอร์ดในตาราง (เรคคอร์ดที่ 1 2 3 )สามารถจับคู่กับเรคคอร์ดที่ในตาราง B ได้ และ เรคคอร์ดที่ 4 5 6 7 สามารถจับคู่กับ เรคคอร์ดที่ ในตาราง B ได้

  • ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many-to-Many) หลาย ๆ เรคคอร์ดในตาราง A สามารถจับคู่หรือมีความสัมพันธ์ได้กับหลาย ๆ เรคคอร์ดในตาราง B เช่น เรคคอร์ดที่ 1 ของตาราง A สามารถจับคู่ได้กับเรคคอร์ดที่ 2 3 4 ของตาราง เรคคอร์ดที่ ในตาราง A สามารถจับคู่ได้กับเรคคอร์ดที่ 2 3 4 ในตาราง ได้เช่นเดียวกัน สามารถจับคู่ซ้ำกันได้
วิธีการเชื่อมตารางมี 2  วิธี ได้แก่ วิธีการ Join และ Relate โดยในแต่ละรูปแบบของตัวตาราง จะมีรูปแบบที่ต่างกัน



  • ถ้าตารางมีความสัมพันธ์แบบหนึ่งต่อหนึ่งจะต้องใช้วิธีการเชื่อมตารางแบบ Join ในการเชื่อมตารางสองตารางเข้าด้วยกัน
  • ถ้าตารางมีความสัมพันธ์แบบหนึ่งต่อกลุ่มจะต้องใช้วิธีการเชื่อมตารางแบบ Relate ในการเชื่อมตาราง

  • ถ้าตารางมีความสัมพันธ์แบบกลุ่มต่อหนึ่งจะต้องใช้วิธีการเชื่อมตารางแบบ Join ในการเชื่อมตาราง
  • ถ้าตารางมีความสัมพันธ์แบบกลุ่มต่อกลุ่มจะต้องใช้วิธีการเชื่อมตารางแบบ Relate ในการเชื่อมตาราง

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

      
     โดยการเชื่อมตารางไม่ว่าจะใช้วิธีการ Join หรือ Relate จะเป็นการเชื่อมตารางแบบชั่วคราวหรือเป็นการรวมตารางแบบชั่วคราวเท่านั้น พอปิดข้อมูลไปแล้วข้อมูลที่เชื่อมจะหายไป เพราะมันไม่ติดกับตัวตารางที่เอามารวม เพราะฉะนั้นถ้าต้องการจะเก็บตัวข้อมูลไว้ก็ต้อง Save ตัวข้อมูลไว้ โดยการ Export Data ก็จะได้เป็น Shapefile อันใหม่ขึ้นมา แต่ถ้าไม่ต้องการจะวิเคราะห์ข้อมูลก็ไม่จำเป็นต้อง Export Data ออกไป 

-              
การ Join

1. เปิดโปรแกรม ArcMap10 ขึ้นมาแล้วไปที่ Folder RTArcGIS >>Data&Program และไปที่ Folder Prachinburi จากนั้นไปที่ Folder SOIL_GRP (เป็นข้อมูลชุดดิน)  แล้วเปิดข้อมูลที่ชื่อว่า SOIL_GRP เป็นข้อมูลPolygon ที่แสดงชุดดินหรือกลุ่มชุดดิน

2. จากนั้นทำการเปิด AttributeSOIL_GRP  คลิกขวาที่ SOIL_GRP >> OpenAttribute Table


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



3. ทำการเปิดข้อมูล SOILCOLDE แล้วทำการ Open Attribute


      จากการเปิดข้อมูล SOILCOLDE จะเห็นได้ว่าในตัว SOILCOLDE จะมีคำอธิบายของชุดดิน
เราจะนำตาราง SOILCOLDE เข้าไปรวมกับตาราง SOIL_GRP เพื่อจะทำให้ Shapefile มีข้อมูลชุดดินนี้แล้วนำไปวิเคราะห์ข้อมูลต่อ ซึ่งความสัมพันธ์ของตาราง SOIL_GRP และตาราง SOILCOLDE เป็นแบบหนึ่งต่อหนึ่ง (One-to-One) คือ 1ID จะสามารถจับคู่หรือมีคำอธิบาย คำอธิบายเท่านั้น

      หลักการต่อไปในการเชื่อมตารางคือ field ที่จะนำมาเชื่อม เพราะในการเชื่อมตารางจำเป็นจะต้องใช้ field ทั้ง ตารางที่เก็บข้อมูลเดียวกันไว้มาทำการเชื่อม โดยข้อมูลในตารางหรือใน field ต้องเป็นข้อมูลที่เก็บข้อมูลเหมือนกัน ประเภทเดียวกัน ถ้าในตารางไม่มีข้อมูลหรือ field ประเภทเดียวกันจะนำมา Join หรือ Relate กันไม่ได้ซึ่งในที่นี้คือ SOIL_ID เราจึงใช้ SOIL_ID มาเป็นตัวเชื่อม

การรวมตาราง
      ตารางเป็นแบบหนึ่งต่อหนึ่งจะใช้วิธีการ Join และในการ Join ต้องมีตารางตั้งต้น                             เนื่องจากเราต้องการรู้ว่า SOIL_GRP หรือว่าใน Polygon แต่ละ Polygon คือ ชุดดินชื่อว่าอะไร เพราะฉะนั้นจะใช้ SOIL_GRP เป็นตารางตั้งต้นในการ Join แล้วนำ SOILCOLDE เข้าไปร่วม

4. ทำการเปิดตาราง SOILCOLDE จากนั้นไปที่ Table Options แล้วไปที่คำสั่ง Joins and Relates >> Join


จะปรากฏหน้าต่าง Join Data ขึ้นมา แล้วไปตั้งค่าดังต่อไปนี้

  1. ต้องการจะใช้ field ไหนใน SOIL_GRP ใช้ในการ Join ซึ่งเราเลือก SOIL_ID
  2. ต้องการจะนำไปเชื่อมกับตารางตัวไหน เนื่องจากเราเปิดตารางเพียงตารางเดียว ก็คือ SOILDCODE  จึงปรากฏข้อมูลขึ้นมาให้โดยอัตโนมัติ 
  3. จะนำ field ไหนใน SOILDCODE มาเป็นตัวเชื่อมเลือก SOIL_ID
จากนั้นเลือก OK




      ในตารางของ SOIL_GRP จะมี field ของตาราง SOILDCODE เข้ามารวมอยู่ด้วย ก็จะรู้ว่า Polygon แต่ละ Polygon มีชุดดินชื่อว่าอะไร ถ้าเราต้องการจะเก็บข้อมูลนี้ไว้ให้อยู่ใน Shapefile ของ SOIL_GRP ก็คือข้อมูลที่เราทำการเชื่อม ก็ต้องทำการ Export ข้อมูล 

      โดยคลิกขวาที่ SOIL_GRP >> Data >> Export Data ก็จะได้ Shapefile ขึ้นมาใหม่


       แต่ถ้าเราไม่ต้องการจะใช้ข้อมูลต่อและต้องการที่จะลบข้อมูลออกก็ทำการ Delete หรือ Remove Join ออกโดยให้ไปที่คำสั่ง Table Options แล้วไปที่คำสั่ง Join and Relate >> Remove  Join(s) >> SOIL _GRP ข้อมูลที่เร าJoin ก็จะหายไป


การ Relate

1. ไปที่ Folder LAB 05 แล้วนำข้อมูลขอบเขต AMPHOE ออกมาที่ Display area


 แล้ว Open Attribute Table ดูว่าข้อมูลในแต่ละอำเภอมีข้อมูลอะไรเก็บอยู่บ้าง



ซึ่งข้อมูลในนี้มีไม่ครบ เราจึงต้องนำตารางข้างนอกมาทำการเชื่อมกับตารางอำเภอนี้ เพื่อที่จะได้ข้อมูลหมู่บ้าน ข้อมูลที่เก็บตารางหมู่บ้านอยู่ในตารางที่ชื่อว่า Village_Relate

2. เปิดข้อมูล Village_Relate 


3. คลิกขวาที่ Village ในช่อง Table Of Contents เลือก Open เพื่อเปิดดูข้อมูลในตาราง


      เมื่อเปิดตาราง Village_Relate จะพบว่ามีข้อมูลที่เราต้องการ ตารางเป็นแบบหนึ่งต่อกลุ่ม ใช้ field AMP_CODE ในการเชื่อมเพราะมีความผิดพลาดน้อยกว่า AMP_NAME ซึ่งเป็นตัวหนังสือ ใช้ AMPHOE เป็นตัวตั้งต้นในการ Relate เพราะเราต้องการรู้ว่าในแต่ละอำเภอมีกี่หมู่บ้าน และหมู่บ้านอะไรบ้าง

4. เปิด Attribute ของ AMPHOE แล้วไปที่ Table Options >> Joins and Relates >> Relate


จะปรากฏหน้าต่าง Relate แล้วตั้งค่า ดังต่อไปนี้

  1. ต้องการจะใช้ fieldไหนใช้ในการ Relate  ซึ่งเราเลือก AMP_CODE
  2. ต้องการจะนำไปเชื่อมกับตารางตัวไหน  เนื่องจากเราเปิดตารางเพียงตารางเดียว ก็คือ Village_Relate จึงปรากฏข้อมูลขึ้นมาให้โดยอัตโนมัติ 
  3. จะนำfieldไหนมาเป็นตัวเชื่อม เลือก AMP_CODE
  4. ตั้งชื่อในการRelate 
จากนั้นเลือก OK



     หลังจากตั้งค่าเรียบร้อยแล้ว เราจะไม่เห็นการเปลี่ยนแปลงจากตัวตาราง ซึ่งในการดูผลจาก Relate มีวิธีมากกว่าการ Join โดยถ้าเราต้องการอยากจะรู้ว่าในอำเภอนั้น ๆ มีหมู่บ้านอะไรบ้างหรือมีกี่หมู่บ้าน ให้เรานำเมาส์ไปคลิกไฮไลต์ที่เร็คคอร์ดของอำเภอที่ต้องการจะรู้

5. ทำไฮไลต์ที่เร็คคอร์ด จากนั้นไปที่ Table Options >> Relate Tables แล้วก็เลือก Relate1 ที่เราทำการ Relate ไว้


เราก็จะได้ข้อมูลหมู่บ้านที่อยู่ในอำเภอเมืองมา

  
กระบวนการทางสถิติ (Attribute statistic function)

1. Open Attribute ของ AMPHOE ใน lab 05


      Field ที่จะนำมาใช้ในการคำนวณจะต้องเป็น field ตัวเลขเท่านั้น โดยเราต้องการที่จะใช้ field ไหนไปวิเคราะห์ก็ให้ไปคลิกที่ field นั้น


2. ถ้าเราต้องการ field Area ไปคำนวณก็ให้คลิกที่ field Area ให้ขึ้นไฮไลต์


3. จากนั้นก็คลิกขวาที่ Area แล้วไปที่คำสั่งที่ชื่อว่า Statistics…


จะปรากฏหน้าต่าง Statistics of AMPHOE ขึ้นมา


โดยค่าสถิติอย่างง่ายที่ปรากฏบนหน้าต่างจะมีอยู่ 5 และทางขวามือก็จะแสดงภาพกราฟอย่างง่ายซึ่งกราฟนี้จะไม่สามารถแก้ไขได้ 

การสร้างกราฟ


1. ไปที่ View >> Graphs >> Create…



2. จากนั้นจะปรากฏหน้าต่าง Create Graphs Wizard ขึ้นมา แล้วตั้งค่า ดังต่อไปนี้

      ค่าแรกที่ต้องเซตคือ Graph type  ซึ่ง Graph type จะเป็นการเลือกรูปแบบของ Graph ส่วนตัว Layer/Table ก็จะเป็นข้อมูลที่เราจะสร้างกราฟในที่นี้ก็คือข้อมูล AMPHOE จากนั้น Value field ก็คือค่า field ที่จะนำมาใช้ในการสร้างกราฟ





คลิก Next >> Finish


ก็จะได้กราฟดังรูป


3. ถ้าเราต้องการจะเปลี่ยนสี เปลี่ยนชื่อกราฟ หรือคำอธิบายของกราฟ ให้คลิกขวาที่กราฟแล้วเลือก      Advanced Properties





จากนั้นจะปรากฏหน้าต่าง Editing ขึ้นมา ถ้าต้องการจะเปลี่ยนชื่อ ให้คลิกที่ Titles ก็จะขึ้นช่องText ให้พิมพ์ชื่อใส่ลงไปได้เลย



ถ้าต้องการจะเปลี่ยนสี เปลี่ยน font  หรือรูปแบบ ก็ให้ไปที่แถบ Text



ถ้าต้องการจะแก้ไขแกนให้ไปที่ Axis ถ้าต้องการจะเปลี่ยนชื่อให้ไปที่ Title และถ้าต้องการเปลี่ยนสีเปลี่ยน Font ให้ไปที่ Format >>Text 


ในช่อง Axes เป็นช่องให้เลือกแกนของกราฟ ในที่นี้เลือกแกนตั้งฝั่งด้านซ้าย Left Axis


ส่วนแกนแนวนอนก็คือ Bottom Axis ถ้าต้องการจะเปลี่ยนชื่อให้ไปที่ Title และถ้าต้องการเปลี่ยนสีเปลี่ยน Font ให้ไปที่ Format >>Text


การเปลี่ยนสีหรือรูปแบบของกราฟ 


1. ไปที่ Series >> Vertical bar ช่อง Style คือรูปแบบของกราฟ เช่น แบบพีระมิด ถ้าต้องการเปลี่ยนสีให้คลิกที่ Color Each แล้วทำการเปลี่ยนสี


รูปแบบการจัดวางตัวของ Legend  



2. ถ้าต้องการให้กราฟเป็นแบบ 3D ให้ดับเบิ้ลคลิกที่กราฟแล้วเลือก Appearance แล้วคลิกที่ช่อง       Graph in 3D view แล้วกด OK



จะปรากฏ ดังรูป



3. เมื่อต้องการจะนำกราฟที่ทำเสร็จแล้วไปใช้งาน คลิกขวาที่กราฟแล้วเลือก Export…



จะขึ้นหน้าต่าง Export Dialog ขึ้นมา  ถ้าต้องการจะ Copy ไปใส่ Word ให้ไปคลิกที่ Copy แล้วเปิด Word ขึ้นมา แล้วก็วางลงในWord





4. ถ้าต้องการจะ Save ก็ต้องเลือกรูปแบบของตัว Format ก่อนว่าต้องการแบบไหน แล้วก็กด Save ถ้าต้องการจะส่ง E-mail ก็เลือก Send…



การสร้างรายงาน

1. ไปที่ View >> Reports >> Create Report…




จากนั้นจะปรากฏหน้าต่าง Report Wizard ขึ้นมา



2. ที่ช่อง Layer/Table เป็นช่องแสดง Field ที่สามารถนำมาทำ Report ได้ ช่อง Available Fields คือ Field ที่เราต้องการที่จะเลือกมาทำ Report โดยเลือกมาที่ช่อง Report Fields จากนั้นก็กด Next



จะปรากฏหน้าต่างแสดงการจัดกลุ่มข้อมูล แต่ถ้าไม่ต้องการก็กด Next




จะปรากฏหน้าต่างการเรียงลำดับข้อมูล ซึ่งต้องเลือก Field ที่จะใช้จัดลำดับข้อมูล Ascending คือ การเรียงจากน้อยไปมาก ส่วน Descending คือ การเรียงจากมากไปน้อย ถ้าไม่ต้องการเลือกก็กด Next   

    
จะปรากฏหน้าต่างการ Report จากนั้นเลือก Next 

                                                                                                                     
ก็จะพบหน้าต่าง Style การ Report แล้วเลือก Next


ตั้งชื่อ Report แล้วก็กด Finish



จะปรากฏ ดังรูป



ซึ่งสามารถทำการปรับแก้ได้โดยไปคลิกที่ Edit สามารถปรับแก้ได้ตามต้องการ



เมื่อทำการแก้ไขข้อมูลเสร็จแล้วก็ต้อง Run Report กลับมาสู่หน้าเดิมก็ไปคลิกที่ Run Report



การนำ Report ไปใช้งาน  จะมีลักษณะเหมือนกับการนำตารางไปใช้งาน ถ้าต้องการจะ Copy ไปใช้งานให้คลิกที่สัญลักษณ์ Copy



ถ้าต้องการจะ Save ให้เลือก Save report output to file นามสกุลของ Report จากตัว ArcMap คือ .RDF



ถ้าต้องการส่ง Report ไปยัง Layout ตอนทำแผนที่ ให้เลือก Add report to ArcMap Layout



การ Report ไปยัง Layout















           


ไม่มีความคิดเห็น:

แสดงความคิดเห็น