After successfully finishing the first optional module “Developing applications with OSM”, I decided to focus on scripting and extend my Python skills.
I already gathered some Python skills during my Bachelor Thesis, where I got to the limits of the Model Builder and had to build a Python script. Also I use Python quite often in the Field Calculator of ArcMap. Lately I did some scripting with Python and the GDAL bindings since Ecotrust, the place I currently intern, prefers open source for their projects.
Some samples of my work that include Python with GDAL can be found here.
The module was set up like previous modules with 14 lectures and six assignments.
In assignment one we had to write a stand-alone script that calculates the perimeter of a circle and print it out. It should also include some try-except statement. For pi we used the math module.
The second assignment was a writing assignment. We had to answer questions about ArcGIS workspace, environment settings, hierarchy levels, etc. We had to research the questions form the ArcGIS Resource Website.
The third assignment was again a practical one. We had to use ArcPy to produce a script that creates a buffer around rivers and dissolves the created features. The script should then be extended so it automatically creates three buffers with a preset distance.
In assignment four we had to create a tool for the ArcGIS toolbox. The tool itself should add fields to a shapefile. Also we had to produce a help file and try to make the tool as user-friendly as possible.
Assignment five was again a pure scripting assignment with ArcPy. We had to create a script that produces a new point feature class based on the user’s specified offset.
Overall, I would recommend the module if you are interested in learning geoprocessing with ArcPy. It gave a good introduction to ArcPy and how to create your own scripts. However, I think the title is again a little misleading since it exclusively used ArcPy. A better title would be “Geoprocessing with ArcPy”. I would like to have seen some other Python GIS bindings like GDAL or Shapely in the module. None of them were mentioned even though they have great adventages to ArcPy (e.g. speed, more adaptive, etc.). ArcPy however is definitly more user-friendly and therefore it makes sense to focus on it in an introductory class.