Programming ArcGIS with Python Cookbook, 2/e(Paperback)

Eric Pimpler


Key Features

  • Become a more efficient GIS professional by automating your geoprocessing tasks with Python and ArcGIS Desktop
  • In addition to the fundamentals, learn advanced, in-demand GIS skills sought by many employers
  • Step-by-step recipes that provide real-world solutions to common geoprocessing tasks

Book Description

ArcGIS Desktop is the leading desktop solution for performing GIS tasks. The ArcPy site package enables Python programmers to access the GIS functionality provided by ArcGIS Desktop to automate geoprocessing tasks. 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 ArcGIS Desktop geoprocessing tasks and make you a more efficient and effective GIS professional.

The book begins 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. The focus then shifts to automation of map productions and finding, retrieving, and executing geoprocessing tools.

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. Next, the book covers usage of the ArcPy Data Access Module, along with various key aspects of geoprocessing.

The third part of the book covers topics for advanced users including the REST API, and also teaches you 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.

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 Desktop interface with Python add-ins

About the Author

Eric Pimpler is the founder and owner of GeoSpatial Training Servicesand has over 20 years of experience implementing and teaching GIS solutions using ESRI, Google Earth/Maps, and various open source technologies. Currently, Eric focuses on ArcGIS scripting with Python and the development of custom ArcGIS Server web and mobile applications using JavaScript.

Table of Contents

  1. Fundamentals of the Python Language for ArcGIS
  2. Managing Map Documents and Layers
  3. Finding and Fixing Broken Data Links
  4. Automating Map Production and Printing
  5. Executing Geoprocessing Tools from Scripts
  6. Creating Custom Geoprocessing Tools
  7. Querying and Selecting Data
  8. Using the ArcPy Data Access Module with Feature Classes and Tables
  9. Listing and Describing GIS Data
  10. Customizing the ArcGIS Interface with Add-ins
  11. Error Handling and Troubleshooting
  12. Using Python for Advanced ArcGIS
  13. Using Python with ArcGIS pro



  • 使用Python和ArcGIS Desktop自動化地理處理任務,成為更高效的GIS專業人員

  • 除了基礎知識外,學習許多雇主所需的高級、熱門GIS技能

  • 提供解決常見地理處理任務的實用步驟


ArcGIS Desktop是執行GIS任務的領先桌面解決方案。ArcPy套件使Python程序員能夠訪問ArcGIS Desktop提供的GIS功能,以自動化地理處理任務。無論您是ArcGIS的新手還是經驗豐富的專業人士,您幾乎每天都會花時間執行各種地理處理任務。本書將教您如何使用Python編程語言自動化這些ArcGIS Desktop地理處理任務,使您成為更高效和有效的GIS專業人員。



本書的第三部分涵蓋了高級用戶的主題,包括REST API的使用,並教您如何在ArcGIS Pro中使用Python。本書最後附錄介紹了如何自動化Python腳本以及每個GIS程序員應該牢記的五件事。


  • 管理地圖文檔、圖層文件、要素類和表格

  • 以編程方式更新圖層屬性和符號

  • 查找和修復地圖文檔中的損壞數據鏈接

  • 自動化地圖製作、打印和創建PDF地圖書

  • 開發可與他人共享的自定義地理處理工具

  • 從要素類和表格中查詢和選擇數據

  • 創建新的要素類或表格,並添加、更新和刪除記錄

  • 使用Python插件自定義ArcGIS Desktop界面


Eric Pimpler是GeoSpatial Training Services的創始人和所有者,擁有超過20年的使用ESRI、Google Earth/Maps和各種開源技術實施和教授GIS解決方案的經驗。目前,Eric專注於使用Python進行ArcGIS腳本編寫,以及使用JavaScript開發自定義的ArcGIS Server網絡和移動應用程序。


  1. Python語言在ArcGIS中的基礎知識

  2. 管理地圖文檔和圖層

  3. 查找和修復損壞的數據鏈接

  4. 自動化地圖製作和打印

  5. 從腳本中執行地理處理工具

  6. 創建自定義地理處理工具

  7. 查詢和選擇數據

  8. 使用ArcPy數據訪問模塊處理要素類和表格

  9. 列出和描述GIS數據

  10. 使用插件自定義ArcGIS界面

  11. 錯誤處理和故障排除

  12. 使用Python進階ArcGIS

  13. 在ArcGIS Pro中使用Python