Zastanów się nad zestawem danych dotyczących pokrycia terenu NLCD2001 dla Alaski ( link do pobrania ). Muszę przeklasyfikować ten zestaw danych, aby zachowane były tylko piksele o wartości 41, 42 i 43; wszystkie pozostałe wartości w pikselach powinny stać się NoData (lub 0, jeśli to konieczne).
To wydaje się prostym zadaniem, wymagającym tylko jednego połączenia z narzędziem Przeklasyfikowania. Niestety każde połączenie powoduje niejasny i nieprzydatny komunikat o błędzie:
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)
Jak mogę zmienić klasyfikację tego zestawu danych rastrowych? Korzystam z ArcCatalog 10.0, Build 4000, z włączonym rozszerzeniem Spatial Analyst.
reclassifypowinno to być ostatecznością, ponieważ ma tak ogólny zakres, że prawdopodobnie wykorzystuje metody, które są mniej wydajne niż te, które można uzyskać, gdy przeklasyfikowanie łatwo wyrazić arytmetycznie lub logicznie. W niniejszej sprawie kryterium przeklasyfikowania jest tak proste, że najpierw należy wypróbować je, Cona nawet proste operacje arytmetyczne (ponieważ są one szybkie). Na przykład "grid" * ("grid" >= 41) * ("grid" <= 43)powinien to zrobić. Pamięć RAM nie powinna stanowić problemu - Spatial Analyst automatycznie wyświetla okna we / wy rastrowych i są to operacje lokalne.
Inlistto fajne rozwiązanie (+1). Byłem w stanie używać coni monitorować użycie pamięci RAM podczas operacji. Nigdy nie przekroczył 180 MB, czyli niewiele więcej niż pamięć RAM używana tylko do uruchomienia ArcMap. Kafelkowanie w ArcGIS jest automatyczne - nawet nie możesz go kontrolować (chyba że programujesz w interfejsie C / Fortran). Wygląda na to, że ograniczenia pamięci RAM nie mają większego znaczenia.
condla mnie pracował, pod warunkiem "Value" >= 41 AND "Value" <= 43. Wybrałbym to rozwiązanie, ale nie jestem pewien, czy dodatkowe wartości rastrowe będą w przyszłości interesujące. Oczywiście mógłbym dodać ORdo klauzuli where, ale potem zaczyna się to komplikować. InListwydaje się najprostszym rozwiązaniem w zakresie czytelności i łatwości konserwacji.

