版本升級確實很重要,在ArcGIS10.1中計算成功的,在10.0中出了問題。
問題
在進行柵格計算時,計算公式很簡單,包括兩個Ln函數:
"-22.73 + 11.1 * Ln(5) + 0.34 * Ln("人口.tif")"

可計算結果報錯:000539 : Python 錯誤消息。Error running expression: rcexec() <type 'exceptions.RuntimeError'>: No CellSize and Extent set。
分析
幫助文檔中的說明是計算字段或計算值工具使用的計算無效。提供的此錯誤消息將列出特定的 Python 錯誤。其解決方案還是讓我一頭霧水
在GEONET中找到了一個類似的情況:
https://geonet.esri.com/thread/23934
它的意思是按錯誤提示去設置環境變量中的CellSize and Extent即可解決,原因是這是arcgis10.0的bug,必須手動設置,因為輸出的不是一個值而是柵格。
解決
軟件操作
在ArcMap中環境中設置處理范圍為"與輸入柵格相同"、像元大小(柵格分析下)為與"與輸入柵格相同";如果輸入有多個柵格,可能會提示警告。
代碼操作
參考python腳本語法,在AO代碼中操作如下:
GP.SetEnvironmentValue("extent",inRaster);
GP.SetEnvironmentValue("cellSize", inRaster);

