คำสั่ง Calculate Adjacent Fields ใน ArcMap

ได้โจทย์มาจากรุ่นน้องในที่ทำงาน ซึ่งมี Shapefile ของขอบเขตที่อยู่อาศัยในบ้านจัดสรรเป็น Polygon ที่ประกอบไปด้วยบ้านเดี่ยวและทาวน์โฮม และต้องการแบ่งแยกว่า Polygon ไหนเป็นบ้านเดี่ยว และ Polygon ไหนเป็นทาวน์โฮม วิธีคิดก็คือ ถ้าบ้านเดี่ยว (ตัวบ้าน) Polygon จะแยกออกจากกัน แต่ถ้าเป็นทาวน์โฮม Polygon จะติดต่อกันกับหลังอื่นๆ อย่างน้อย 1 หลัง

สมมุติตัวอย่างข้อมูลที่อยู่อาศัย

Polygon Example

จากวิธีคิดที่จะแบ่งแยกข้อมูลออกเป็นบ้านเดี่ยว หรือ ทาวน์โฮม ด้วยอาศัยวิธีการของ Polygon ที่แยก หรือ ติดต่อกัน (ซึ่งจริงๆ ก็จะมีหลายวิธีที่สามารถนำมาใช้ในการจำแนกแบบนี้ได้) จึงได้เลือกใช้คำสั่ง Calculate Adjacent Fields ในโปรแกรม ArcMap ที่จะคำนวณให้ทราบว่ามี Polygon ไหนที่แยกหรือติดต่อกันบ้างในทิศทางไหน ซึ่งโปรแกรมจะทำการสร้างฟิลด์ขึ้นมาใหม่ 8 ฟิลด์ (คอลัมน์) ตามทิศทางของ Polygon รอบข้าง (8 ทิศ ได้แก่ N, NE, E, SE, S, SW, W, และ NW)

เลือกชั้นข้อมูลและฟิลด์ที่ต้องการ

Calculate Adjacent Fields

ผลลัพธ์ 8 ฟิลด์

8 Fields

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

Home

ส่วนแถวไหน หรือ Polygon ไหน ที่มีการติดต่อกับ Polygon ใดๆ อย่างน้อย 1 Polygon ให้กำหนดเป็นทาวน์โฮม

Town Home

การสร้าง Label หลายบรรทัดบน ArcMap

เป็นทิปง่ายๆ ที่ได้ตัวอย่างจากเว็บไซต์นี้ https://geonet.esri.com/thread/48202 ปัญหาก็คือชื่อระวางแผนที่ 1 : 4,000 ยาว 9 ตัวอักษร แต่ช่องที่ใส่แคบไปทำให้ต้องลดขนาดตัวหนังสือให้เล็กลงจนเหลือ 8 ซึ่งก็มองไม่ค่อยเห็น เลยต้องหาวิธีตัดตัวอักษรออกให้เป็น 2 บรรทัดเพื่อจะได้กำหนดขนาดตัวอักษรที่ใหญ่มากกว่า 8 และยังคงอยู่ในช่องที่ต้องการ

Font 8

วิธีการคือ
1. เลือก Properties… ของชั้นข้อมูล –> ไปที่แท็บ Labels –> เลือก Expression

Expression

2. พิมพ์ [Field 1] & vbnewline & [Field 2]

vbnewline

3. เพิ่มขนาดตัวหนังสือให้ใหญ่ขึ้น ในที่นี้กำหนดได้ 14 จาก 8

Font 14

ถ้าต้องการหลายๆ บรรทัด ก็ใช้คำสั่ง vbnewline เพื่อทำการต่อ Field ไปเรื่อยๆ ครับ