알래스카에 대한 NLCD2001 랜드 커버 데이터 세트를 고려하십시오 ( 다운로드 링크 ). 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)
이 래스터 데이터 세트를 다시 분류하려면 어떻게해야합니까? Spatial Analyst 확장이 활성화 된 ArcCatalog 10.0, Build 4000을 사용하고 있습니다.
reclassify
으로 범위가 너무 일반적이기 때문에 재 분류가 산술적으로나 논리적으로 표현하기 쉬운 경우에 비해 덜 효율적인 방법을 사용할 수 있기 때문에 일반적 으로 최후의 수단이되어야합니다. 현재의 경우, 재 분류에 대한 기준은 매우 간단하므로 먼저 Con
빠른 산술 연산을 사용 하거나 직접 산술 연산 을 시도해야 합니다. 예를 들어 "grid" * ("grid" >= 41) * ("grid" <= 43)
그렇게해야합니다. RAM은 문제가되지 않아야합니다 .Spatial Analyst는 자동으로 래스터 I / O를 창으로 표시하며 로컬 작업입니다.
Inlist
좋은 해결책입니다 (+1). con
작업 중에 RAM 사용량 을 사용 하고 모니터링 할 수있었습니다 . 180MB를 초과하지 않았으며 ArcMap을 시작하는 데 사용 된 RAM보다 훨씬 큽니다. ArcGIS의 타일링은 자동으로 제어 할 수 없습니다 (C / Fortran 인터페이스로 프로그래밍하지 않는 한). RAM 제한은 거의 관심이없는 것으로 보입니다.
con
조건으로 저를 위해 일했습니다 "Value" >= 41 AND "Value" <= 43
. 이 솔루션을 사용했을 수도 있지만 향후 추가 래스터 값이 관심이 있는지 확실하지 않습니다. 분명히 OR
where 절에를 추가 할 수는 있지만 더 복잡해지기 시작합니다. InList
가독성 및 유지 관리 성과 관련하여 가장 간단한 솔루션 인 것 같습니다.