Pertimbangkan dataset NLCD2001 Land Cover untuk Alaska ( tautan unduhan ). Saya perlu mengklasifikasi ulang dataset ini sehingga hanya piksel dengan nilai 41, 42, dan 43 yang dipertahankan; semua nilai piksel lainnya harus menjadi NoData (atau 0, jika perlu).
Ini sepertinya tugas yang sederhana, hanya membutuhkan satu panggilan ke alat Reklasifikasi. Sayangnya, setiap panggilan menghasilkan pesan kesalahan yang tidak jelas dan tidak membantu:
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)
Bagaimana saya bisa melakukan klasifikasi ulang dataset raster ini? Saya menggunakan ArcCatalog 10.0, Build 4000, dengan ekstensi Spatial Analyst diaktifkan.
reclassify
harus menjadi upaya terakhir, karena cakupannya sangat umum sehingga cenderung menggunakan metode yang kurang efisien daripada yang dapat diperoleh ketika reklasifikasi mudah diungkapkan secara hitung atau secara logis. Dalam kasus ini, kriteria untuk reklasifikasi sangat sederhana sehingga Anda harus mencobanya terlebih dahulu Con
atau bahkan melakukan operasi aritmatika langsung (karena cepat). Misalnya, "grid" * ("grid" >= 41) * ("grid" <= 43)
harus melakukannya. RAM seharusnya tidak menjadi masalah - Analis Tata Ruang secara otomatis windows I / O raster dan ini adalah operasi lokal.
Inlist
adalah solusi yang bagus (+1). Saya bisa menggunakan con
dan memantau penggunaan RAM selama operasi. Tidak pernah melebihi 180 MB, yang hampir tidak lebih besar dari RAM yang digunakan hanya untuk meluncurkan ArcMap. Ubin di ArcGIS otomatis - Anda bahkan tidak bisa mengendalikannya (kecuali jika Anda memprogram ke antarmuka C / Fortran). Tampaknya keterbatasan RAM tidak terlalu diperhatikan.
con
bekerja untuk saya juga, dengan kondisinya "Value" >= 41 AND "Value" <= 43
. Saya akan pergi dengan solusi ini, tapi saya tidak yakin apakah nilai raster tambahan akan menarik di masa depan. Jelas saya bisa menambahkan OR
klausa di mana, tapi kemudian mulai menjadi lebih rumit. InList
tampaknya solusi paling mudah dalam hal keterbacaan dan pemeliharaan.