Geomorphometry Download



A0: Check



Q1: How to Install ?

A1: Unzip the Install File and copy the appropiate Version into YOUR TOOLBOX DIRECTORY

Open ArcGIS

Open ArcToolbox Window (the red box)

Click with RIGHT mouse click on ArcToolbox and select ADD TOOLBOX

Go to YOUR TOOLBOX DIRECTORY, select Geomorphometry Toolbox and click Open

To use the Geomorphometry toolbox two/(three) additional settings need to be set, otherwise the TOOLBOX WILL NOT WORK:


Turn on OVERWRITE the outputs of geprocessing operations

2. Create an Environment Variable called scratchWS

go to - system settings -> system - extended system settings -> ENVIRONMENT VARIABLES -> create a new variable called "scratchws" - note the lower case letters, set a short path (local hard drive) my settings for scratchws points to c:\workspace\

In previous versions I used the approach below, however this is sometimes not reliable. Therefore the toolbox relies now on the existence of scratchws. Click on ARCTOOLBOX - ENVIRONMENTS... - GEOPROCESSING - In Environment Settings-> Click on Environment-> General Settings-> Scratch Workspace-> Specify a writeable workspace. Please note that the Scratch Workspace should NOT contain SPACES in the PATH and the NAME. Recommended is also a quite short one like c:\workspace\gtb !

3. If you want to store it permanently, click with RIGHT mouse click on ArcToolbox and select SAVE SETTINGS -> TO DEFAULT


Q2: Error Message: arcgisscripting not found

A2: The SYSTEM ENVIRONMENT VARIABLE does not point to your *ARCGIS*/bin directory. ArcGIS 9.2 uses its own python executable plus a file called arcgisscripting.dll. Test by going to the command line and executing the echo %PYTHONPATH%. With the new AG10 finally ESRI puts some information on the net how to do it correctly. From ESRI site....

>>> When using an import statement, Python looks for a module matching that name in the following locations (and in the following order): 1. Paths specified in the PYTHONPATH system environment variable 2. A set of standard Python folders (the current folder, c:\python2x\lib, c:\python2x\Lib\site-packages, and so on) 3. Paths specified inside any .pth file found in 1 and 2

For more information on this, see the following:

The installation of ArcGIS 10.0 products will install Python 2.6 if it isn't already installed. The installation will also add the file Desktop10.pth (or Engine10.pth or Server10.pth) into python26\Lib\site-packages. The contents of this file are two lines containing the path to your system's ArcGIS installation's arcpy and bin folders. These two paths are required to import ArcPy successfully in Python version 2.6.

When using an import statement, Python refers to your system's PYTHONPATH environment variable to locate module files. This variable is set to a list of directories. TipTip:

If importing ArcPy produces either of the following errors, the required modules could not be found:

* ImportError: No module named arcpy * ImportError: No module named arcgisscripting To address this, browse using Windows Explorer to the python26\Lib\site-packages folder and add or edit the Desktop10.pth file. The file should contain the two lines shown below (corrected to your system's path if they do not match):

c:\Program Files\ArcGIS\Desktop10.0\arcpy

c:\Program Files\ArcGIS\Desktop10.0\bin



Q3: Error Message: list index not in range

A3: The problem is that the python interpreter does not receive the arguments. Usually somehow the extended file association for python files is broken internally. It should be something like "$1 %*". I had success with: a) Reinstall Python and Pythonwin b) reinstall ArcGIS c) check and fix file associations and d) Cases have been found where even fixing that did not help. Check if admin can execute the toolbox commands. If it can, you need to create a new user (you should not work in admin). Hopefully the file associations for the new user are then OK.


Q4: I see the DEBUG variable in the Code - how can I use it?

A4: This is advanced stuff- only for my development. I would suggest not to start using it until you have reasonable knowledge of python. a) a system variable DEBUGSCRATCH needs to exists pointing to a scratch workspace; b) an additional last parameter on the command line has to be set to 1


Q5: Why is there a Zonalstatistics2 command?

A5: The zonalstatistics needs a VAT table which will only be built up to a specified number (change in Options->Raster->Raster Attribute Table-> Set value to YOUR Value). However, I observed occasions where the creation of a VAT fails as well as the regionstats command. This is a small workaround.


Q6:Which versions do you support?

A6:The toolbox can be used (Note - it will compile automatically on first time use) with whatever python version.


Q7:Which algorithms are not tested/operational in ArcGIS?

A7:DISASTER (LS and landslide), LF: Macmillan2000 Fuzzy classification requires a specific sink procedure which I need to recode (topo_extended).


Q8:Which functionality can I expect from the Geomorphometry Toolbox?

A8:The toolbox contains four large groups of algorithms: Data Preparation (Outliers, Transformations, Re-scale, etc.); Terrain Parameter Calculations (First, Second and Third order Terrain Parameters); Landform Classifications across various scales (Field, regional, global); and some Disaster/Modelling Routines. See Wiki!



Q9):What is that strange... 'exceptions.ImportError'>: Bad magic number in... error?

A9:There is nothing strange about that. It's just the fact that you probably use a Geomorphometry toolbox version (in fact, its only the tp.pyc file) which is not appropriate for the version of python used by your ArcGIS installation (please note that you can have installed different Python Versions on your machine, but only one of them is used by AG).

Q10):Do I need ARCINFO WorkStation installed ?

A9:Well, the programmers at ESRI did not include all functionality (e.g. DOCELL and IFTHENELSE) of Raster Processing in the ArcGIS9.x programs. Therefore you need to use ArcInfo Workstation/GRID to calculate such parameters. As of Version 1.0.6 with AG10 I implemented it, so no AG WS is needed anymore (currently missing OPENNESS).