Masthead

This is from a student and it really hits the mark!

Link to Canvas

Sample Data:

Note: We will be trying to use Python 3.x this semester! To activate Python 3.x in the Wing IDE:

  1. Select "Properties" from the "Project" menu
  2. Check "Custom"
  3. "Browse" to the Python 3.x directory ("C:/Python3x) and select the "python.exe" file
  4. Click OK

Schedule

Below is an outline of the presentation of topics numbered by week:

  1. Introduction
    1. Introductions
      1. Introduction (PowerPoint)
      2. How to use the web site
      3. What is Python and why would I want to use it?
    2. Getting Started with Python and an Introduction to Arithmetic in Python
      1. Quote: "programming is like writing a book...except if you miss out a single comma on page 126 the whole thing makes no damn sense"
      2. Introduction to Programming in Python (in the Wingware IDE)
      3. Documenting Code
      4. Generating Random Numbers
      5. Arithmetic in Python
      6. If you struggle with programming, see: You can grow your intelligence!
        1. The Power of believing that you can improve
  2. How Computers Work and While Loops
    1. How Computers Work
    2. Text and Numeric Types
    3. While Loops
    4. Generating Random Numbers
    5. When you have a chance, check out this online Python Tutor!
  3. Strings and writing them to files
    1. Strings are Made Up of Characters
    2. Formatting Strings
    3. Writing to Text Files
    4. Writing to CSV Files
    5. Writing to CSV Files using the Python CSV library (new and optional)
    6. Grid ASCII File Format
    7. Creating ASCII Grid Files
  4. "For" Loops, and "If" statements
    1. Boolean Logic and "If" Statements
    2. Lists
    3. "For" Loops.
  5. Reformatting Data in Text Files With Python
    1. Introduction to Functions
    2. Calling Functions to Get Pie
    3. Sample Locations File
    4. Reading Text Files
    5. Splitting Delimited Strings
    6. New: Using the csv library to read CSV files
    7. Converting Dates
    8. Converting Dates Using a Function
    9. Converting Files of Point Data
    10. Review outside class:
      1. Additional Variable Types
      2. Source Assistant
      3. Converting Coordinates
    11. For Fun: Record number of UAVs
  6. Accessing data on the Internet
    1. How the Internet Works
    2. Accessing Data on the Internet
    3. Handling Exceptions
    4. The XML Standard
    5. Subsetting Strings
    6. Parsing XML Data
    7. Python Dictionaries
    8. The JSON Standard
    9. Parsing JSON Files
    10. For fun and motivation: Die-hard Coders Just Rescued NASA's Earth Science Data
  7. Accessing ArcGIS from Python
    1. Note: Using ArcGIS Pro, we need to specify one of the Python installs that comes with ArcGIS Pro:
      1. Open Project Properties in Wing IDE
      2. Browse to "c:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\python.exe"
    2. An Overview of ArcGIS Functions
    3. Calling ArcGIS From Python
    4. Flavors of ArcGIS functions
    5. Adding Try/Except Blocks
    6. Finding the Format for arcpy Parameters
    7. Calling ArcGIS Pro From Python 3.x with Wing 6.0
    8. Assignment: Calling ArcGIS to Compute Watersheds (Extra Credit)
  8. Batch Processing With Python
    1. Batch Processing in Python
    2. More on ArcGIS functions
    3. Accessing Attributes
    4. Running Python From the Command Line
    5. Debugging With Log Files (optional)
  9. User Interfaces and Classes
    1. Graphical User Interfaces (GUIs)
    2. Getting Started with PyQt
    3. An Introduction to Classes
    4. Fun
  10. Other Packages
    1. Design
      1. Classes, Modules, and Functions
    2. Other Libraries/Packages
    3. NumPy & SciPy
    4. Introduction to Charting
    5. Shapefile Format
    6. Shapefile.py
    7. Getting File Paths from the user with Qt
    8. Getting File Paths from the User with tkinter
    9. The Expert, for fun
    10. New library: GeoViews
  11. Open Source GIS Packages
    1. OpenSource GIS Packages
    2. SpPy Package (in development)
    3. Structuring Folders
    4. Documenting Programs
    5. Optional: Java and BlueSpray
  12. Getting Anything to Work!
    1. Writing code that can be debugged and maintained
    2. Sub-Launching Other Programs
    3. The Ultimate ArcGIS Tools
  13. Simple Models
    1. Simple Painting with Qt
    2. New: Introduction to Agent Based Modeling with QT
    3. Old with tKinter: The Blob Class
    4. Cool stuff: Bird Migrations
  14. Creating larger projects
    1. Software Life cycle
    2. Investigation
    3. Design
      1. Classes, Modules, and Functions
    4. Implementation
    5. Testing
    6. Release
    7. Maintenance
  15. Where to Go From Here
    1. Presetnation: See Canvas
    2. Optional:
      1. What will the world look like in 2100?
      2. Discussion: Where to go from here
      3. Review Test
      4. Interactive Python on the Web?
  16. Finals Week: See Canvas

Other Resources:

Machine Learning in Python

ArcPy and ArcGIS-geospatial Analysis with Python : Use the ArcPy Module to Automate the Analysis and Mapping of Geospatial Data in ArcGIS (in our library)

Python Programming Learning Resources

Official Python Website

Python Tutorial

Dive Into Python (e-book)

Link to Tracy Kugler's Examples for ArcGIS 9

PyOpenGL

tutorialspoint Python Programming

Ton's of programming cartoons

National Climate Data

Think Python

Beginner's Guide to SQL

Old Materials

Old tKinter GUI modules:

  1. The Python GUI
  2. Dialog Boxes in tkinter

Building ArcGIS tools with Python

  1. Creating Custom Tools in ArcGIS
  2. Debugging ArcGIS Tools
  3. A Note on Model Builder To Python (optional)

© Copyright 2018 HSU - All rights reserved.