Programming ArcGIS 10.1 with Python Cookbook: Over 75 recipes to help you automate geoprocessing
tasks, create solutions, and solve problems
for ArcGIS with Python
Download
Introduction
ArcGIS is an industry-standard geographic information system from ESRI.
This book will show you how to use the Python programming language to create geoprocessing
scripts, tools, and shortcuts for the ArcGIS Desktop environment.
This book will make you a more effective and efficient GIS professional, by showing you how
to use the Python programming language with ArcGIS Desktop to automate geoprocessing
tasks, manage map documents and layers, find and fix broken data links, edit data in feature
classes and tables, and much more.
Programming ArcGIS 10.1 with Python Cookbook starts by covering fundamental Python
programming concepts in an ArcGIS Desktop context. Using a how-to instruction style, you'll
then learn how to use Python to automate common important ArcGIS geoprocessing tasks.
In this book, you will also cover specific ArcGIS scripting topics that will help save you time and
effort when working with ArcGIS. Topics include managing map document files, automating
map production and printing, finding and fixing broken data sources, creating custom
geoprocessing tools, and working with feature classes and tables, among others.
In Programming ArcGIS 10.1 with Python Cookbook, you'll learn how to write geoprocessing
scripts using a pragmatic approach designed around accomplishing specific tasks in a
cookbook style format.
What this book covers
Chapter 1, Fundamentals of the Python Language for ArcGIS, will cover many of the basic
language constructs found in Python. Initially, you'll learn how to create new Python scripts
or edit existing scripts. From there, you'll get into language features, such as adding
comments to your code, variables, and the built-in typing systems that makes coding with
Python easy and compact. Furthermore, we'll look at the various built-in data-types that
Python offers, such as strings, numbers, lists, and dictionaries. In addition to this, we'll cover
statements, including decision support and looping structures for making decisions in your
code and/or looping through a code block multiple times.
Chapter 2, Writing Basic Geoprocessing Scripts with ArcPy, will teach the basic concepts
of the ArcPy Python site package for ArcGIS, including an overview of the basic modules,
functions, and classes. The reader will be able write a geoprocessing script using ArcPy
with Python.
Chapter 3, Managing Map Documents and Layers, will use the Arcpy Mapping module to
manage map document and layer files. You will learn how to add and remove geographic layers
from map document files, insert layers into data frames, and move layers around within the
map document. The reader will also learn how to update layer properties and symbology.
Chapter 4, Finding and Fixing Broken Data Links, will teach how to generate a list of broken
data sources in a map document file and apply various Arcpy Mapping functions to fix these
data sources. The reader will learn how to automate the process of fixing data sources across
many map documents.
Chapter 5, Automating Map Production and Printing, will teach how to automate the process
of creating production-quality maps. These maps can then be printed, exported to image file
formats, or exported to PDF files for inclusion in map books.
Chapter 6, Executing Geoprocessing Tools from Scripts, will teach how to write scripts that
access and run geoprocessing tools provided by ArcGIS.
Chapter 7, Creating Custom Geoprocessing Tools, will teach how to create custom
geoprocessing tools that can be added to ArcGIS and shared with other users. Custom
geoprocessing tools are attached to a Python script that process or analyze geographic
data in some way.
Chapter 8, Querying and Selecting Data, will teach how to execute the Select by Attribute
and Select by Location geoprocessing tools from a script to select features and records.
The reader will learn how to construct queries that supply an optional where clause for the
Select by Attribute tool. The use of feature layers and table views as temporary datasets
will also be covered.
Chapter 9, Using the ArcPy Data Access Module to Select, Insert, and Update Geographic
Data and Tables, will teach how to create geoprocessing scripts that select, insert, or update
data from geographic data layers and tables. With the new ArcGIS 10.1 Data Access module,
geoprocessing scripts can create in-memory tables of data, called cursors, from feature
classes and tables. The reader will learn how to create various types of cursors including
search, insert, and update
Chapter 10, Listing and Describing GIS Data, will teach how to obtain descriptive information
about geographic datasets through the use of the Arcpy Describe function. As the first step
in a multi-step process, geoprocessing scripts frequently require that a list of geographic
data be generated followed by various geoprocessing operations that can be run against
these datasets.
Chapter 11, Customizing the ArcGIS Interface with Add-Ins, will teach how to customize the
ArcGIS interface through the creation of Python add-ins. Add-ins provide a way of adding user
interface items to ArcGIS Desktop through a modular code base designed to perform specific
actions. Interface components can include buttons, tools, toolbars, menus, combo boxes, tool
palettes, and application extensions. Add-ins are created using Python scripts and an XML file
that define how the user interface should appear.
Chapter 12, Error Handling and Troubleshooting, will teach how to gracefully handle errors and
exceptions as they occur while a geoprocessing script is executing. Arcpy and Python errors
can be trapped with the Python try/except structure and handled accordingly.
Appendix A, Automating Python Scripts, will teach how to schedule geoprocessing scripts to run
at a prescribed time. Many geoprocessing scripts take a long time to fully execute and need to
be scheduled to run during non-working hours on a regular basis. The reader will learn how to
create batch file containing geoprocessing scripts and execute these at a prescribed time.
Appendix B, Five Things Every GIS Programmer Should Know How to Do with Python, will
teach how to write scripts that perform various general purpose tasks with Python. Tasks,
such as reading and writing delimited text files, sending e-mails, interacting with FTP servers,
creating ZIP files, and reading and writing JSON and XML files are common. Every GIS
programmer should know how to write Python scripts that incorporate this functionality
What you need for this book
To complete the exercises in this book, you will need to have installed ArcGIS Desktop 10.1
at either the Basic, Standard, or Advanced license level. Installing ArcGIS Desktop 10.1 will
also install Python 2.7 along with the IDLE Python code editor.
Who this book is for
Programming ArcGIS 10.1 with Python Cookbook is written for GIS professionals who wish to
revolutionize their ArcGIS workflow with Python. Whether you are new to ArcGIS or a seasoned
professional, you almost certainly spend time each day performing various geoprocessing
tasks. This book will teach you how to use the Python programming language to automate
these geoprocessing tasks and make you a more efficient and effective GIS professional.