Programming ArcGIS with Python Cookbook - Second Edition

Over 85 hands-on recipes to teach you how to automate your ArcGIS for Desktop geoprocessing tasks using Python

Programming ArcGIS with Python Cookbook - Second Edition

Cookbook
Eric Pimpler

3 customer reviews
Over 85 hands-on recipes to teach you how to automate your ArcGIS for Desktop geoprocessing tasks using Python
$35.99
$44.99
RRP $35.99
RRP $44.99
eBook
Print + eBook

Instantly access this course right now and get the skills you need in 2017

With unlimited access to a constantly growing library of over 4,000 eBooks and Videos, a subscription to Mapt gives you everything you need to learn new skills. Cancel anytime.

Preview in Mapt

Book Details

ISBN 139781785282898
Paperback366 pages

Book Description

The book kicks off with the fundamentals of starting to use Python with ArcGIS, followed by recipes on managing map documents and layers, including how to find and fix broken data links in these files.

In the second part of the book, you will learn to create custom geoprocessing tools and how to use the Attribute and Location tools to select specific features.

The third part of the book covers topics for advanced users including the REST API, and also teaches you how to use Python with ArcGIS Pro. The book finishes with appendices covering how to automate Python scripts, and the five things that should be at the back of every GIS programmer's mind.

Table of Contents

Chapter 1: Fundamentals of the Python Language for ArcGIS
Using IDLE for Python script development
Using the ArcGIS Python window
Python language fundamentals
Summary
Chapter 2: Managing Map Documents and Layers
Introduction
Referencing the current map document
Referencing map documents on a disk
Getting a list of layers in a map document
Restricting the list of layers
Zooming in to selected features
Changing the map extent
Adding layers to a map document
Inserting layers into a map document
Updating layer symbology
Updating layer properties
Working with time-enabled layers in a data frame
Chapter 3: Finding and Fixing Broken Data Links
Introduction
Finding broken data sources in your map document and layer files
Fixing broken data sources with MapDocument.findAndReplaceWorkspacePaths()
Fixing broken data sources with MapDocument.replaceWorkspaces()
Fixing individual layer and table objects with replaceDataSource()
Finding broken data sources in all map documents in a folder
Chapter 4: Automating Map Production and Printing
Introduction
Creating a list of layout elements
Assigning a unique name to layout elements
Restricting the layout elements returned by ListLayoutElements()
Updating the properties of layout elements
Getting a list of available printers
Printing maps with PrintMap()
Exporting a map to a PDF file
Exporting a map to an image file
Exporting a report
Building a map book with Data Driven Pages and ArcPy mapping
Publishing a map document to an ArcGIS Server service
Chapter 5: Executing Geoprocessing Tools from Scripts
Introduction
Finding geoprocessing tools
Retrieving a toolbox alias
Executing geoprocessing tools from a script
Using the output of a tool as an input to another tool
Chapter 6: Creating Custom Geoprocessing Tools
Introduction
Creating a custom geoprocessing tool
Creating a Python toolbox
Chapter 7: Querying and Selecting Data
Introduction
Constructing a proper attribute query syntax
Creating feature layers and table views
Selecting features and rows with the Select Layer by Attribute tool
Selecting features with the Select by Location tool
Combining a spatial and attribute query with the Select by Location tool
Chapter 8: Using the ArcPy Data Access Module with Feature Classes and Tables
Introduction
Retrieving features from a feature class with SearchCursor
Filtering records with a where clause
Improving cursor performance with geometry tokens
Inserting rows with InsertCursor
Updating rows with UpdateCursor
Deleting rows with UpdateCursor
Inserting and updating rows inside an edit session
Reading geometry from a feature class
Using Walk() to navigate directories
Chapter 9: Listing and Describing GIS Data
Introduction
Working with the ArcPy list functions
Getting a list of fields in a feature class or table
Using the Describe() function to return descriptive information about a feature class
Using the Describe() function to return descriptive information about a raster image
Chapter 10: Customizing the ArcGIS Interface with Add-ins
Introduction
Downloading and installing the Python Add-in Wizard
Creating a button add-in and using the Python add-ins module
Installing and testing an add-in
Creating a tool add-in
Chapter 11: Error Handling and Troubleshooting
Introduction
Exploring the default Python error message
Adding Python exception handling structures (try/except/else)
Retrieving tool messages with GetMessages()
Filtering tool messages by the level of severity
Testing for and responding to specific error messages
Chapter 12: Using Python for Advanced ArcGIS
Introduction
Getting started with the ArcGIS REST API
Making HTTP requests and parsing the response with Python
Getting layer information with the ArcGIS REST API and Python
Exporting a map with the ArcGIS REST API and Python
Querying a map service with the ArcGIS REST API and Python
Geocoding with the Esri World Geocoding Service
Using FieldMap and FieldMappings
Using a ValueTable to provide multivalue input to a tool
Chapter 13: Using Python with ArcGIS Pro
Introduction
Using the new Python window in ArcGIS Pro
Coding differences between ArcGIS for Desktop and ArcGIS Pro
Installing Python for ArcGIS Pro
Converting ArcGIS for Desktop Python code to ArcGIS Pro

What You Will Learn

  • Manage your map document files, layer files, feature classes, and tables
  • Programmatically update layer properties and symbology
  • Find and fix broken data links in your map document files
  • Automate map production, printing, and the creation of PDF map books
  • Develop custom geoprocessing tools that can be shared with others
  • Query and select data from feature classes and tables
  • Create new feature classes or tables and add, update, and delete records
  • Customize the ArcGIS for Desktop interface with Python add-ins

Authors

Table of Contents

Chapter 1: Fundamentals of the Python Language for ArcGIS
Using IDLE for Python script development
Using the ArcGIS Python window
Python language fundamentals
Summary
Chapter 2: Managing Map Documents and Layers
Introduction
Referencing the current map document
Referencing map documents on a disk
Getting a list of layers in a map document
Restricting the list of layers
Zooming in to selected features
Changing the map extent
Adding layers to a map document
Inserting layers into a map document
Updating layer symbology
Updating layer properties
Working with time-enabled layers in a data frame
Chapter 3: Finding and Fixing Broken Data Links
Introduction
Finding broken data sources in your map document and layer files
Fixing broken data sources with MapDocument.findAndReplaceWorkspacePaths()
Fixing broken data sources with MapDocument.replaceWorkspaces()
Fixing individual layer and table objects with replaceDataSource()
Finding broken data sources in all map documents in a folder
Chapter 4: Automating Map Production and Printing
Introduction
Creating a list of layout elements
Assigning a unique name to layout elements
Restricting the layout elements returned by ListLayoutElements()
Updating the properties of layout elements
Getting a list of available printers
Printing maps with PrintMap()
Exporting a map to a PDF file
Exporting a map to an image file
Exporting a report
Building a map book with Data Driven Pages and ArcPy mapping
Publishing a map document to an ArcGIS Server service
Chapter 5: Executing Geoprocessing Tools from Scripts
Introduction
Finding geoprocessing tools
Retrieving a toolbox alias
Executing geoprocessing tools from a script
Using the output of a tool as an input to another tool
Chapter 6: Creating Custom Geoprocessing Tools
Introduction
Creating a custom geoprocessing tool
Creating a Python toolbox
Chapter 7: Querying and Selecting Data
Introduction
Constructing a proper attribute query syntax
Creating feature layers and table views
Selecting features and rows with the Select Layer by Attribute tool
Selecting features with the Select by Location tool
Combining a spatial and attribute query with the Select by Location tool
Chapter 8: Using the ArcPy Data Access Module with Feature Classes and Tables
Introduction
Retrieving features from a feature class with SearchCursor
Filtering records with a where clause
Improving cursor performance with geometry tokens
Inserting rows with InsertCursor
Updating rows with UpdateCursor
Deleting rows with UpdateCursor
Inserting and updating rows inside an edit session
Reading geometry from a feature class
Using Walk() to navigate directories
Chapter 9: Listing and Describing GIS Data
Introduction
Working with the ArcPy list functions
Getting a list of fields in a feature class or table
Using the Describe() function to return descriptive information about a feature class
Using the Describe() function to return descriptive information about a raster image
Chapter 10: Customizing the ArcGIS Interface with Add-ins
Introduction
Downloading and installing the Python Add-in Wizard
Creating a button add-in and using the Python add-ins module
Installing and testing an add-in
Creating a tool add-in
Chapter 11: Error Handling and Troubleshooting
Introduction
Exploring the default Python error message
Adding Python exception handling structures (try/except/else)
Retrieving tool messages with GetMessages()
Filtering tool messages by the level of severity
Testing for and responding to specific error messages
Chapter 12: Using Python for Advanced ArcGIS
Introduction
Getting started with the ArcGIS REST API
Making HTTP requests and parsing the response with Python
Getting layer information with the ArcGIS REST API and Python
Exporting a map with the ArcGIS REST API and Python
Querying a map service with the ArcGIS REST API and Python
Geocoding with the Esri World Geocoding Service
Using FieldMap and FieldMappings
Using a ValueTable to provide multivalue input to a tool
Chapter 13: Using Python with ArcGIS Pro
Introduction
Using the new Python window in ArcGIS Pro
Coding differences between ArcGIS for Desktop and ArcGIS Pro
Installing Python for ArcGIS Pro
Converting ArcGIS for Desktop Python code to ArcGIS Pro

Book Details

ISBN 139781785282898
Paperback366 pages
Read More
From 3 reviews

Read More Reviews