GEOG 490/590

GIS Programming

Exercise 5: Introduction to Geoprocessing

This exercise lets you practice using the three types of geoprocessing that we discussed in class. You can use the sample code (Ex5_CodeSample.txt) for this exercise. You will need to use a shapefile and a raster grid for this exercise. You can download sample data here.

Create an ArcMap add-in with a button. Copy and paste the sample code as individual subroutines into the body of the button class. Call the subroutines one at a a time from the OnClick() method of the button as you work your way through them.

  1. Before using the subroutines, you need to add the required assemblies to your add-in. See this image for a list of the assemblies.
  2. The first subroutine (GeoprocessingBuffer) is an example of using the geoprocessing library. You will need to change the file paths to match the directory where you save the sample data on your computer. After you get this running successfully, try substituting the clip tool for the buffer tool. The tool information page for the clip tool is here. Try clipping your buffered layer to your original layer and see if the output matches your original layer.
  3. The second subroutine (GeoprocessorBuffer) is an example of using the geoprocessor managed assembly. If you run it following a successful run of step 2, it will throw an exception because the output already exists. That's okay. Check the output window on VB Express to see what messages are written when the geoprocessor encounters an exception.
  4. Delete the output shapefile(s) from step 2 and run GeoprocessorBuffer again. Note the use of an environment variable to set the workspace. Note also how you set properties of the tools rather than feeding them a collection of settings. Do you think this is easier?
  5. Try running the ListGPEnvironmentSettings subroutine. This is a helper subroutine that dumps all of your geoprocessor settings to the console. It can be helpful to see what settings are available and what they are set to.
  6. The final subroutine is Geoanalyze(). This is an example of how to use the Geoanalysis geoprocessing tools. The tools require 3D and Spatial Analyst so verify these extensions are enable before trying to run the example. Geoanalysis tools only work with raster data. There is a sample DEM included with the sample data for you to use. You'll need to add the DEM to ArcMap before running the subroutine. Once you get it working, try changing the number of slices. This subroutine doesn't save the output so you can run it repeatedly.