การสร้าง lterators บน ArcGIS

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

ยกตัวอย่างเช่น ผมมีข้อมูลดัชนีข้อมูลภาพถ่ายจากดาวเทียม ที่ตัดออกมาแล้วเป็นรายจังหวัด (ใช้คำสั่ง Split)
Index

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

ดังนั้น ผมจึงมาสร้าง Iterate เพื่อให้โมเดล ทำการ Dissolve ทุกจังหวัด แบบอัตโนมัติ ซึ่งวิธีการมีดังนี้

1. สร้างโฟลเดอร์ใหม่ 2 โฟลเดอร์ ชื่อ test1 และ test2 สำหรับเก็บข้อมูล Shapefile ก่อน Dissolve และหลังจากทำ Dissolve ตามลำดับ ซึ่งในโฟลเดอร์ test1 มีข้อมูลอยู่แล้ว

test1 Folder

2. สร้าง d:/myToolbox.tbx
toolbox

3. เปิด d:/myToolbox.tbx ที่ ArcToolbox
add myToolbox

4. สร้าง Model Builder ใน myToolbox
Model Builder

5. ตั้งชื่อโมเดล ที่ Model Properties และ บันทึกโมเดล จะปรากฏชื่อโมเดลที่หน้าต่างและ myToolbox
Model Name

6. เลือก Insert — Iterators — Feature Classes

7. ดับเบิ้ลคลิกที่ Iterate Feature Classes และกำหนดค่า

Workspace of Feature Dataset เป็น D:\test1

Feature Type (optional) เป็น POLYGON

Iterate Feature Classes

8. ค้นหาคำสั่ง Dissolve ใน ArcToolbox หรือ Search และลากเข้ามาใส่ใน Model Builder
Dissolve

9. ใช้เครื่องมือ Connect ลากเส้นจากวงรีสีเขียว (Input Features) ไปยังสี่เหลี่ยม Dissolve และเลือกเป็น Input Features

10. ดับเบิ้ลคลิกที่สี่เหลี่ยม Dissolve และกำหนดค่า

Output Feature Class เป็น D:\test2\%name%.shp เนื่องจากชื่อของผลลัพธ์ที่ได้จากการทำงานแต่ละรอบจะได้มาจากชื่อของ Input Features ทำให้ต้องกำหนดชื่อไฟล์เป็น %name%.shp

Dissolve Field(S) (optional) เป็น ชื่อของฟิลด์ที่ต้องการ Dissolve ในที่นี้เลือก FileName

Statistics Field(S) (optional) เป็น ข้อมูลของฟิลด์อื่นๆ ที่ต้องการเก็บไว้ และเลือกวิธีการทางสถิติเพื่อใส่ค่าที่ Dissolve ลงไป
Dissolve

11. กดปุ่ม Run ก็จะได้ผลลัพธ์ที่ปรากฏในโฟลเดอร์ test2 ตามต้องการ
Output

test2 Folder

One response to “การสร้าง lterators บน ArcGIS

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s