Apr 20

With ESRI’s use of Python as their scripting language and the proliferation of open source GIS, Python became one of the required languages for GIS developers and hobbyists alike. What makes Python powerful is well documented throughout the web, but I want to highlight one very important aspects of Python today: Python Modules.

Python Modules are code someone else has written and distributed, in order to make life easier for the rest of us. You may be familiar with the standard modules that come with Python, like math or datetime, but there are numerous more resources out there for the GIS minded developers. I will be discussing some of the modules I find essential in my work apart from the famous ArcGISScripting module by ESRI: GDAL, numpy, NetworkX, xlrd and xlwt. Let’s dive in! Continue reading »

Tagged with:
Mar 16

An interesting question came about a few days ago. While I have been discussing ESRI’s geoprocessor and how one can use it effectively, I failed to define what geoprocessing is,, either within the ESRI realm or the general  GIS realm. In short, geoprocessing is an operation performed on geographic (spatial) data. In other words, it is when one uses data to perform some operations and receiving results. An example would be geocoding. The user provides spatial data (an address), which we geoprocess to identify the output (latitude and longitude). In the ArcGIS world, there are a few methods for geoprocessing:  running commands from the ArcToolbox, the Model Builder, the command line and Python scripting (the one I focus on mostly in this blog).
Continue reading »

Tagged with:
Feb 25

Often times people write geoprocessing scripts that others try to incorporate in their work. This is done through modules or packages in Python. This is wonderful when one wishes to share their work, but it can also be bothersome if the module you are loading assumes that there is no geoprocessor loaded. This little script will help you safely load the geoprocessor object, either from an instantiation by the main program, or from scratch.

Continue reading »

Tagged with:
Feb 11

With the new version of ArcGIS coming out soon (9.4, now 10, tomorrow maybe X), it is nice to revisit the things I would love to see change in the geoprocessor. This is by no means a study on what is missing or what ESRI is doing wrong, but rather what I would like to see in the future. If you have any suggestions, please do write a comment and I will gladly add them to the post (and attribute the addition to you).

Continue reading »

Tagged with:
Feb 03

After a long delay, it is time for the third installment of understanding the Geoprocessor Programming Model that will deal with the Describe object. If you missed the last two parts, feel free to look at them first (Part 1: understanding what the geoprocessor is, and Part 2: accessing data with the geoprocessor). As always, comments are welcomed and encouraged. Continue reading »

Tagged with:
Oct 19

In the first part of this series I covered access to the geoprocessor and how one can navigate the first part of the diagram of the model. If you are not familiar with the geoprocessor, please have a quick look at that post to understand the geoprocessing model ESRI provides.

In this post I will finish covering the bottom left part of the model that deals with direct access to features and their geometry. In order to do that, we will discuss cursors, features and geometries.

Continue reading »

Tagged with:
Oct 16

ESRI's Geoprocessing Prorgamming Model

A question often asked when people venture into the wonderful world of Python Geoprocessing with ESRI is how one can read the programming model they make available on their website. As it may not be easily interpreted when one begins programming, I will do my best to unpack it and explain how one can use it more effectively. All images presented here are extracts from the actual model presented by ESRI on their website.

Continue reading »

Tagged with:
Aug 19

The geoprocessor object has multiple List methods one can use to retrieve lists of items that it is aware of. Below are examples of the most commonly encountered ones: ListWorkspaces(), ListTables(), ListRasters(), ListFeatureClasses(), ListDatasets() and ListFields().
Continue reading »

Tagged with:
Jul 16

There are some fundamental differences between geoprocessing performed in ArcGIS version 9.2 and 9.3. While I will not cover them all in this post, I will attempt to show the most fundamental differences that people seem to encounter more often.
Continue reading »

Tagged with:
Jun 11

There are multiple problems analysts face when they have to deal with processing multiple data files. There is the issue of identifying similarities and commonalities in files, and then of course how to automate the processing so they don’t have to run a program multiple times with the same parameters of separate files. In the world of ESRI’s GIS analysis, this can be performed quite easily with the help of Geoprocessing, either in Python or the Model Builder. Below is sample code that allows the iteration over a number of datasets. Continue reading »

Tagged with:
preload preload preload
Easy AdSense by Unreal