You are currently viewing Merge Shapefile

Merge Shapefile

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

และเช่นเดียวกับ Append ท่านไม่สามารถรวมชั้นข้อมูลข้ามประเภท geometry กันได้ ท่านไม่สามารถผนวกข้อมูล line เข้าไปในชั้นข้อมูลประเภท polygon

เนื้อหาโดยรวม :)

Merge

ยกตัวอย่างเดิม คือจะใช้ชั้น base zone01 และ zone 02 และ ชั้นข้อมูล base จะมีฟิลด์เหมือนกับ zone01 ทุกประการ แต่ zone02 จะมีฟิลด์ไม่เหมือนอีก 2 ชั้นข้อมูล คือ แทนที่จะเป็น ORG_ID (ในรูปแบบ text หรือ ข้อความ) ดันเป็น LAND_ID  (ในรูปแบบตัวเลข และข้อมูลที่ควรจะเป็นฟิลด์ชื่อ Filename ดันกลายเป็นฟิลด์ชื่อ TEMP และฟิลด์ข้อมูลก็น้อยกว่าจำนวนฟิลด์ของชั้นข้อมูล base และ zone01

หากท่านยังไม่ได้อ่านเรื่องการ append รบกวนย้อนกลับไปอ่านก่อน เพราะเป็นเรื่องต่อเนื่องกัน

ไปที่ริบบอน Analysis เลือก Tools จะมีหน้าต่าง Geoprocessing ปรากฏขึ้นมา

แท็บ Toolboxes เลือก data management tools > general > merge จะมีหน้าต่างปรากฏขึ้นมา (หรือเพื่อความรวดเร็ว จะพิมพ์ค้นหาในช่อง Find Tools ก็ได้เช่นกัน)

แท็บ Environments

จะมี 2 แท็บหลัก คือ parameter กับ environment โดยปกติ environment จะเป็นค่ามาตรฐาน ที่เราไม่ต้องแก้ไขอยู่แล้ว

กรณีที่เชปไฟล์ใช้ co-ordinate ต่างกัน ควรกำหนดผลลัพธ์ที่ต้องการที่หน้าต่างนี้

แต่ในบางกรณี เช่น ชั้นข้อมูลที่เราจะนำเข้ามารวมกัน มีค่าระบบพิกัด (coordinate) คนละแบบกัน เช่น ชั้นข้อมูลหนึ่งเป็น WGS 1984 แต่อีกชั้นข้อมูลหนึ่งเป็น Indian 1975 ถ้ามีความแตกต่างแบบนี้ ทาง ArcGIS จะกำหนดค่าระบบพิกัดของชั้นข้อมูล Output ตามค่าระบบพิกัดของชั้นข้อมูลแรกเป็นหลัก แต่เพื่อความมั่นใจ เราสามารถระบุระบบพิกัดที่ต้องการได้ ในแท็บ Environments

แท็บ parameter

ใน input datasets ให้เลือกชั้นข้อมูลทั้งหมดที่เราต้องการเข้ามา จะใช้วิธีกดเลือกที่ละชั้นข้อมูลจากหน้าต่างนี้ก็ได้ หรือจะใช้วิธีคลิกเลือกจาก table of contents แล้วลากมาปล่อยที่ช่อง input นี้ก็ได้

ใน output datasets ให้เลือกตั้งชื่อที่เราต้องการ นี่จะเป็นชื่อของชั้นข้อมูลใหม่ที่เราจะสร้างขึ้นจากการรวม 3 ชั้นข้อมูล

ตรง Field Map ฝั่ง output fields จะขึ้นมาโดยอัตโนมัติ ซึ่งตรงนี้เป็นส่วนสำคัญสำหรับการจัดการกับ attributes ของชั้นข้อมูลที่เกิดจากการรวม 3 ชั้นข้อมูล

merge

OUTPUT FIELDS

ก่อนอื่น ขอให้สังเกตตัวเลขในวงเล็บหลังชื่อฟิลด์ที่ปรากฎไล่เรียงลำดับกันมา

เรานำ 3 ชั้นข้อมูลมารวมกัน สิ่งที่ควรจะเป็นคือ ต้องเป็น (3) เห็นตัวเลขนี้ เราก็อุ่นใจได้ว่า ข้อมูลที่เข้ามา เก็บข้อมูลได้ครบถ้วน

ถ้าเป็น (3) ทั้งหมด เราอาจจะไม่ต้องทำอะไรต่อเลยก็ได้

แต่ ถ้าเลื่อนลงมาดูแล้ว ฟิลด์ไหนที่ไม่ใช่ (3) ก็แปลว่า ไม่มีฟิลด์นั้นในบางชั้นข้อมูล

ตัวเลขในวงเล็บ สัมพันธ์กับชั้นข้อมูลที่นำมาใส่ใน output

ตัวอย่างเช่น ORG_ จะมี (2) เพราะชั้นข้อมูล zone02 ไม่มีฟิลด์นี้ ในตัวอย่างนี้ใช้ชื่อว่า TEMP ซึ่งไม่มีในชั้น zone01 กับ base

และเมื่อเราเลื่อนมาด้านล่าง จะเห็นฟิลด์ที่ชื่อ ที่ไม่มีวงเล็บต่อท้าย เพราะมีแค่ชั้นข้อมูลเดียวที่มีฟิลด์ชื่อนี้

ตรงนี้เป็นอีกเรื่องที่ไม่เหมือนกับ Append

ถ้าเป็นใน Append จะยึด Attribute Table ในชั้นข้อมูล Target เป็นหลัก ในขณะที่ Merge จะเก็บทุกฟิลด์จากทุกชั้นข้อมูลไว้ อันไหนชื่อฟิลด์เหมือนกัน ก็ถือว่าเป็นฟิลด์ที่นำไปรวมกัน แต่ถ้าที่เหมือนกันไม่ได้ก็ไม่ตัดทิ้ง แต่จะสร้างฟิลด์เพื่อรองรับฟิลด์นั้นในชั้นข้อมูล output ให้มีครบทุกฟิลด์จากทุกชั้นข้อมูลรวมกัน

ดังนั้น ถ้าเราไม่มั่นใจว่า Attribute Table เหมือนกันทุกประการ ก็ควรให้ความสนใจจัดการกับ output fields ให้ดี โดยให้คำนึงว่า นี่คือการสร้างชั้นข้อมูลใหม่ เราจัดการกับ Attribute Table ได้เต็มที่ อย่างเช่น

ฟิลด์ไหนไม่จำเป็น ก็ไม่ต้องเอาไปใส่ในชั้นข้อมูล output  ให้เอาเมาส์ไปคลิกที่ชื่อฟิลด์นั้น แล้วคลิกเครื่องหมายกากบาทที่ปรากฏขึ้นมา เป็นการบอก ArcGIS ว่าไม่เอาฟิลด์นั้น โปรด remove ออกไปซะ

ถึงแม้เราจะ map field แล้ว เราได้ map กับ TEMP ใน zone02 เข้าไปใน ORG_ID แล้ว แต่ถ้าเรายังไม่ลบ ก็ยังมีฟิลด์นี้อยู่ใน OUTPUT

อย่างต่อมา เราสลับตำแหน่งฟิลด์ได้ตามใจ ด้วยการคลิกซ้ายที่ชื่อฟิลด์แล้วลากขึ้นหรือลงไปยังตำแหน่งที่ต้องการ

ตามปกติ ประเภทข้อมูล (data type) ของแต่ละฟิลด์จะเหมือนกับต้นฉบับ แต่ในกรณีที่ชั้นข้อมูลมีชื่อฟิลด์เหมือนกัน แต่คนละประเภท เช่น zone02 เป็นข้อความ base เป็นตัวเลข ArcGIS จะดูว่าพบฟิลด์นี้ที่ชั้นข้อมูลไหนเป็นที่แรก (ดังนั้นลำดับการนำเข้าไป merge จึงสำคัญ) เช่นถ้า base เป็นชั้นข้อมูลแรกที่พบ ฟิลด์ในชั้น output ก็จะเป็นตัวเลขตาม base

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

นอกจากนี้ เราจะสร้างฟิลด์ใหม่เพื่อรองรับค่าจากฟิลด์ต่าง ๆ ได้เช่นกัน เพียงแค่คลิกบวกที่หลังคำว่า Output Fields

กด RUN

เพียงเท่านี้ก็เรียบร้อย

อ้างอิง https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/merge.htm