Module 1 – Python Programming Fundamentals
- Where to Write Code
- How to Run Code in PythonWin and PyScripter
- How to Pass Input to a Script
- Python Components
Module 2 - Basic Data Types:
Numbers and Strings
- Numbers
- What Is a String?
- String Operations
- More Things with Strings (a.k.a. String Methods)
- File Paths and Raw Strings
- Unicode Strings
- Printing Strings and Numbers
Module 3 - Basic Data Types:
Lists and Tuples
- Lists
- Tuples
- Syntax Check and Tracebacks
Module 4 - ArcGIS and Python
- ArcToolbox
- ArcGIS Python Resources
- Exporting Models
- Working with GIS Data
- ArcGIS + Python = arcpy
- arcpy Functions
- Environment Settings
Module 5 - Calling Tools with
Arcpy
- Calling Tools
- Help Resources
- Tool Parameters
- Return Values and Result Objects
- Spatial Analyst Toolbox
- Temporary Feature Layers
- Using Variables for Multiple Tool Calls
- Calling Custom Tools
- A Word About Old Scripts
Module 6 - Getting User Input
- Hard-coding versus Soft-coding
- Using GetParameterAsText
- Using sys.argv
- Missing Arguments
- Argument Spacing
- Handling File Names and Paths with os Module Functions
Module 7 - Controlling Flow
Module 8 - Decision-Making and
Describing Data
- Conditional Expressions
- ArcGIS Tools That Make Selections
- Getting a Description of the Data
- Required and Optional Script Input
- Creating Output Directories
Module 9 - Repetition: Looping
for Geoprocessing
- Looping Syntax
- Nested Code Blocks
- Directory Inventory
- Indentation and the TabNanny
Module 10 - Batch Geoprocessing
- List GIS Data
- Specify Data Name and Type
- List Fields
- Administrative Lists
- Batch Geoprocess Lists of Data
- Debug: Step Through Code
Module 11 - Additional Looping
Functions
- List Comprehension
- The Built-in enumerate Function
- The Built-in zip Function
- Walking Through Subdirectories
Module 12 – Debugging
- Syntax Errors
- Exceptions
- Logic Errors
- PythonWin Debugging Toolbar
- Running in Debug Mode
- PyScripter Debugging Toolbar
- Debugging Tips
Module 13 – Error Handling
- try/except Structures
- Geoprocessing and Error Handling
- Catching Exceptions in Loops
Module 14 – User-Defined
Functions
- A Word About Function Words
- Custom Functions with Arguments
- Returning Values
- When to Write Functions
- Variables Inside and Outside of Functions
Module 15 – User-Defined
Modules
- Importing User-Defined Modules
- Using Functions in Another Module
- Modifying User-Defined Modules (Reload!)
- Am I the Main Module? What’s My Name?
- Time Handling Example
Module 16 – Reading and Writing
with Cursors
- Introduction to Cursors
- Reading Rows
- The Field Names Parameter
- The Shape Field and Geometry Tokens
- Looping with Cursors
- Locking
- Update Cursors
- Insert Cursors
- Selecting Rows with SQL
Module 17 – Dictionaries
- Dictionary Terms and Syntax
- Dictionary Operations and Methods
- Populating a Dictionary
Module 18 – Reading and Writing
Text Files
- Working with fi le Objects
- Parsing Line Contents
- Modifying Text Files
- Pickling
Module 19 – Working with HTML
and KML
- Working with HTML
- Fetching and Uncompressing Data
- Working with KML
Module 20 – Classes
- Why Use OOP?
- Defining a Class
- Object Initialization and Self
- Using Class Objects
- Where to Defi ne a Class
- Classes Within a Separate User-Defi ned Module
Module 21 – User Interfaces for
File and Folder Selection
- A Simple Interface with raw_input
- File Handling with tkFileDialog
Module 22 – ArcGIS Python GUIs
- Creating a Script Tool
- Creating a GUI
- Showing Progress
- Validating Input
- Python Toolboxes
Module 23 – Mapping Module
- Map Documents
- Working with Data Frames
- Working with Layers
- Managing Layout Elements