พิจารณาชุดข้อมูล Land Cover NLCD2001 สำหรับ Alaska ( ลิงค์ดาวน์โหลด ) ฉันจำเป็นต้องจัดกลุ่มชุดข้อมูลนี้ใหม่เพื่อให้มีการรักษาพิกเซลของค่า 41, 42 และ 43 เท่านั้น ค่าพิกเซลอื่น ๆ ทั้งหมดควรเป็น NoData (หรือ 0 หากจำเป็น)
ดูเหมือนว่าเป็นงานง่าย ๆ เพียงแค่เรียกใช้เครื่องมือจัดประเภทอีกครั้ง น่าเสียดายที่การโทรทุกครั้งส่งผลให้เกิดข้อความแสดงข้อผิดพลาดที่ไม่ชัดเจนและไม่ช่วยเหลือ:
Executing: Reclassify "D:\ak_nlcd_2001_land_cover_3-13-08_se5.img" Value "0 40 0;41 41;42 42;43 43;44 255 0;NODATA 0" "D:\alaska_reclassified.tif" DATA
Start Time: Thu Jan 03 09:23:13 2013
ERROR 999998: Unexpected Error.
Failed to execute (Reclassify).
Failed at Thu Jan 03 09:23:13 2013 (Elapsed Time: 0.00 seconds)
ฉันจะจัดกลุ่มชุดข้อมูลแรสเตอร์นี้ใหม่ได้อย่างไร ฉันใช้ ArcCatalog 10.0, Build 4000 ด้วยการเปิดใช้งานส่วนขยาย Spatial Analyst
reclassify
ควรเป็นทางเลือกสุดท้ายเนื่องจากเป็นเรื่องทั่วไปในขอบเขตที่เป็นไปได้ที่จะใช้วิธีการที่มีประสิทธิภาพน้อยกว่าที่จะได้รับเมื่อการจัดประเภทใหม่นั้นง่ายต่อการแสดงออกทางคณิตศาสตร์หรือทางตรรกะ ในกรณีปัจจุบันเกณฑ์สำหรับการจัดประเภทใหม่นั้นง่ายมากคุณควรลองใช้งานด้วยตัวเองCon
หรือแม้กระทั่งการดำเนินการเกี่ยวกับคณิตศาสตร์แบบตรง (เพราะมันรวดเร็ว) ตัวอย่างเช่น"grid" * ("grid" >= 41) * ("grid" <= 43)
ควรทำ RAM ไม่ควรเป็นปัญหา - Spatial Analyst จะเปิดหน้าต่าง I / O แรสเตอร์โดยอัตโนมัติและสิ่งเหล่านี้เป็นการดำเนินการในท้องถิ่น
Inlist
เป็นทางออกที่ดี (+1) ฉันสามารถใช้con
และตรวจสอบการใช้ RAM ในระหว่างการดำเนินการได้ ไม่เกิน 180 MB ซึ่งใหญ่กว่า RAM ที่เพิ่งใช้เพื่อเรียกใช้ ArcMap การเรียงลำดับใน ArcGIS เป็นไปโดยอัตโนมัติ -คุณไม่ต้องควบคุมมัน (ยกเว้นว่าคุณกำลังตั้งโปรแกรมไปยังส่วนต่อประสาน C / Fortran) ดูเหมือนว่าข้อ จำกัด ของ RAM มีความกังวลเล็กน้อย
con
"Value" >= 41 AND "Value" <= 43
ฉันจะไปด้วยวิธีนี้ แต่ฉันไม่แน่ใจว่าค่า raster เพิ่มเติมจะเป็นที่สนใจในอนาคต เห็นได้ชัดว่าฉันสามารถเพิ่มOR
เข้าไปในส่วนคำสั่งที่ไหน แต่แล้วก็เริ่มที่จะซับซ้อนมากขึ้น InList
ดูเหมือนว่าเป็นทางออกที่ตรงไปตรงมามากที่สุดเกี่ยวกับความสามารถในการอ่านและการบำรุงรักษา