Alaska için NLCD2001 Land Cover veri kümesini düşünün ( indirme linki ). Ben sadece 41, 42 ve 43 değeri piksel korunur böylece bu veri kümesini yeniden sınıflandırmak gerekir; diğer tüm piksel değerleri NoData (veya gerekirse 0) olmalıdır.
Bu, yeniden sınıflandırma aracına yalnızca bir çağrı gerektiren basit bir görev gibi görünüyor. Ne yazık ki, her çağrı belirsiz ve yararsız bir hata mesajıyla sonuçlanır:
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)
Bu raster veri kümesini yeniden sınıflandırmaya nasıl gidebilirim? Uzamsal Analist uzantısı etkinken ArcCatalog 10.0, Build 4000 kullanıyorum.
reclassify
son çare olmalıdır, çünkü kapsam açısından o kadar geneldir ki, yeniden sınıflandırmanın aritmetik veya mantıksal olarak ifade edilmesi kolay olduğunda elde edilebilenden daha az verimli yöntemler kullanması muhtemeldir. Mevcut durumda, yeniden sınıflandırma kriteri o kadar basittir ki, ilk önce onu denemelisiniz, Con
hatta düz aritmetik işlemleri (hızlı oldukları için). Mesela, "grid" * ("grid" >= 41) * ("grid" <= 43)
yapmalı. RAM bir sorun olmamalı - Spatial Analyst otomatik olarak tarama G / Ç'lerini pencereler ve bunlar yerel işlemlerdir.
Inlist
güzel bir çözümdür (+1). con
Operasyon sırasında RAM kullanımını kullanabildim ve izledim . Asla 180 MB'ı aşmadı, bu sadece ArcMap'i başlatmak için kullanılan RAM'den çok daha büyük. ArcGIS'teki döşeme otomatiktir - onu kontrol edemezsiniz (C / Fortran arayüzüne programlama yapmadığınız sürece). RAM sınırlamalarının çok az endişe kaynağı olduğu görülmektedir.
con
benim için de durumla çalıştı "Value" >= 41 AND "Value" <= 43
. Bu çözüm ile giderdim, ancak ek raster değerlerinin gelecekte ilgilenip ilgilenmeyeceğinden emin değilim. Açıkça OR
nerede maddeye bir tane ekleyebilirim , ama sonra daha karmaşık olmaya başlar. InList
okunabilirlik ve sürdürülebilirlik açısından en basit çözüm gibi görünüyor.