GIS Programming Practicuum

Similar documents
Analysis & Geoprocessing: Case Studies Problem Solving

AGENDA. Effective Geodatabase Management. Presentation Title. Using Automation. Mohsen Kamal. Name of Speaker Company Name

EDUCATION GIS CONFERENCE Geoprocessing with ArcGIS Pro. Rudy Prosser GISP CTT+ Instructor, Esri

Network Analyst: Automating Workflows with Geoprocessing

UNIGIS University of Salzburg. Module: ArcGIS for Server Lesson: Online Spatial analysis UNIGIS

INTERMEDIATE SCREENWRITING MRTS 4460 Fall 2016 Department of Media Arts

ArcGIS Pro: What s New in Analysis

Session 3: Python Geoprocessing

Packaging Projects, Maps and Layers. Shilpi Jain Melanie Summers

Spatial Analysis with ArcGIS Pro. Krithica Kantharaj, Esri

RTVF INTRODUCTION TO SCREENWRITING. or, Writing for Visual Media. Tuesday & Thursday 9:30-10:50 AM (Media Arts building room 180-i)

EELE 201 Circuits I. Fall 2013 (4 Credits)

An Introduction to Geoprocessing

U252 - Environmental Law Monday and Wednesday 11:00 a.m. -12:20 p.m. in SSPA 1165

Using the ModelBuilder of ArcGIS 9 for Landscape Modeling

Syllabus for ENGR065-01: Circuit Theory

Analysis and Geoprocessing Sessions and Demo Theater Presentations

EE (3L-1.5P) Analog Electronics Department of Electrical and Computer Engineering Fall 2015

University of Wisconsin-Madison, Nelson Institute for Environmental Studies September 2, 2014

Geocoding An Introduction

Watershed Sciences 4930 & 6920 GEOGRAPHIC INFORMATION SYSTEMS

Fundamentals of ModelBuilder

ARCGIS DESKTOP DEMO (GEOCODING, SERVICE AREAS, TABULAR & SPATIAL JOINS)

Introduction to Geoprocessing Scripts Using Python. Student Edition

Introduction to ABB Labs. TA s: Ryan Mocadlo Adam Gatehouse

Graduate students can expect to receive additional reading and different assignment details.

Presentation Skills Workshop

CONTACTING US When ing, please use the following subject line BIOD48. s that do not include this subject line may not be answered.

Building Java Apps with ArcGIS Runtime SDK

DIGF 6B21 Ubiquitous Computing

BCN 1251C Construction Drawing Section: Credits Fall 2016

SCHOOL OF INDUSTRIAL DESIGN

Communications and New Media Title: Writing for Media Catalog Number: CNMS Credit Hours: 3 Total Contact Hours: 45

Ornithology BIO 426 (W/O2) (Spring 2013; CRN 33963) (tentative, version 26th January 2013)

Student s Signature Completion Date. High School Teacher s Signature Date. Recommended Grade High School. COCC Review Instructor s Signature

BCN 1251C Construction Drawing Section: Credits Spring 2016

CTPR 438 PRACTICUM IN PRODUCING SYLLABUS 2 UNITS. USC SCHOOL OF CINEMATIC ARTS Spring 2018

How to put the Image Services in the Living Atlas to Work in Your GIS. Charlie Frye, Chief Cartographer Esri, Redlands

CS1301 Individual Homework 5 Olympics Due Monday March 7 th, 2016 before 11:55pm Out of 100 Points

RTV 4929C (Spring 2016) ADVANCED PRODUCTION WORKSHOP: DIRECTING DRAMA

SPRING. FALL There will be no classes Wyndham Championship Week (August 13-19) CAMPS. Visit us online at: Summer. Winter

SUSTAINABLE TOURISM 2016 PROFESSOR CAROLIN LUSBY

University of Victoria Department of Electrical and Computer Engineering COURSE INFORMATION AND ASSESSMENT TECHNIQUES

ECEN 5817 Resonant and Soft-Switching Techniques in Power Electronics

ECE 241 Digital Systems. Basic Information

DIGITAL INTEGRATED CIRCUITS FALL 2003 ANALYSIS AND DESIGN OF DIGITAL INTEGRATED CIRCUITS (18-322) COURSE SYLLABUS

Math 210: 1, 2 Calculus III Spring 2008

Using Geoprocessing Services with ArcGIS Web Mapping APIs

ArcGIS Pro: Tips & Tricks

USC School of Cinematic Arts Production Planning CTPR 425. Syllabus. Spring Instructor: Robert L. Brown

Digital Gaming and Simulation Course Syllabus GAME Project Development I

ModelBuilder Getting Started

Provides the data analysis, management and

ArcGIS Pro: Scripting with Python. John Jennifer Duerr:

RTV 3101 (Summer 2016) ADVANCED WRITING FOR THE ELECTRONIC MEDIA

CAD RESIDENTIAL AND COMMERCIAL DRAFTING WITH CADD 3 Semester Hours

COURSE DESCRIPTION A comprehensive survey of the New Testament books of Matthew through John.

Learning Some Simple Plotting Features of R 15

Advanced study of theatrical painting techniques. Lab and production work required. (3)

RTV3320 EFP II - Screenwriting and Producing

David Stichweh Art 151 Beginning Photography Summer, 2009 M. W. 5:30-8:00

J316 Introduction to Photographic Communication

Lake-Sumter State College Course Syllabus

SCIENCE DOCUMENTARY TELEVISION

DEPARTMENT OF FINE ARTS

REQUIRED Kushner, Tony. Angels in America Part One: Millennium Approaches. TCG.

There will be a course blackboard which will be mirrored on website:

ENSC327/328 Communication Systems Course Information. Paul Ho Professor School of Engineering Science Simon Fraser University

ArcGIS 9 Using ArcGIS StreetMap

Homeschool Propeller Car Build, Sept 28 2:00 2:50

A r t s : D r a w i n g - I C l a s s M e e t i n g s : F 1 0 : : 3 0 pm I n s t r u c t o r : J u l i a L a m b r i g h t

COURSE SYLLABUS AVT 317: Introduction to Aviation Electronics Fall 2016

Ages 9+ Monday, Nov 14 5:30-7:30 Saturday, Dec 3 9:00-11:00

RICHLAND COLLEGE. School of Engineering Technology. COURSE SYLLABUS CETT 1405 AC Circuits. Fall 2018

Fall 2018: DRAW 2308 ADVANCED DRAWING 1: LIFE DRAWING Monday/Wednesday- CRN :30-11:20 am-room 218 PRO

SFR 406 Remote Sensing, Image Interpretation, and Forest Mapping Spring Semester 2015

Data Preparation. Warren Vick Europa Technologies Ltd.

ENR 2360: Ecology and Conservation of Birds

COURSE SYLLABUS. ISE545: Technology Development and Implementation

Programming Project 2

CTPR 425 PRODUCTION PLANNING SPRING 2014 Section: Units COURSE DESCRIPTION

Field & Post Production The Media School Indiana University Syllabus - Fall 2016 v1.0

CS Game Programming, Fall 2014

Lab Assignment 5 Geoprocessing Service. Due Date: 01/24/2014

Student s Signature Completion Date. High School Teacher s Signature. Recommended Grade High School. CAD software used: CAM software used:

San José State University Department of Electrical Engineering EE 161, Digital Communication Systems, Spring 2018

Lahore University of Management Sciences. EE 340 Devices and Electronics. Fall Dr. Tehseen Zahra Raza. Instructor

Upgrading Common Workflows from 10.2.x to 100.x with ArcGIS Runtime SDK for.net. Melanie Whalen & Lauren Boyd

HW4: The Game of Pig Due date: Thursday, Oct. 29 th at 9pm. Late turn-in deadline is Tuesday, Nov. 3 rd at 9pm.

Implementing Analysis in ArcGIS Runtime

CS 102: Big Data Tools and Techniques Discoveries and Pitfalls. Spring 2018

CAPILANO UNIVERSITY COURSE OUTLINE

Department of Planning, Policy, and Design University of California, Irvine U282 URBAN DESIGN STUDIO FOR PLANNERS: AN INTRODUCTION

RTV 3101 (Spring 2017) ADVANCED WRITING FOR THE ELECTRONIC MEDIA

Read S&G ch. 9 (Compilers and Language Translation)

Establishing a Writing Habit. By: Candace Buckner Date: 22 August 2018

RED DEER COLLEGE COURSE OUTLINE: d-slr Cameras 2: The Creative Modes

Rapid Airfield Construction Decision Support Toolset

THE LIST USABILITY PUG 2007

Course Outline 11/5/ Santa Teresa Blvd Gilroy, CA COURSE: ART 16A DIVISION: 10 ALSO LISTED AS: SHORT TITLE: WATERCOLOR PAINTING

Transcription:

New Course for Fall 2009 GIS Programming Practicuum Geo 599 2 credits, Monday 4:00-5:20 CRN: 18970 Using Python scripting with ArcGIS Python scripting is a powerful tool for automating many geoprocessing tasks. This course will take a hands-on approach to creating your own scripts. Topics will include: Exporting Model Builder models as scripts Running ArcGIS geoprocessing tools in scripts Conditional and Iterative statements Basic Python data types: Lists and dictionaries Object-oriented programming concepts Instructor: Tracy Kugler Students should be familiar with ArcGIS and geodatabases. No scripting/programming experience is necessary, but students should be comfortable with experimenting.

GEO 599, Special Topics: GIS Programming Practicum Fall 2009 Course Information 2 Credit hours, CRN: 18970 Course meetings: Mondays, 4:00 5:20, Wilkinson 203 Prerequisites: GEO 465/565, or equivalent experience using ArcGIS This course is intended to provide a practical introduction to the using the Python scripting language to automate geoprocessing in ArcGIS. Scripts are a convenient way to automate repetitive tasks in ArcGIS, allowing the computer to do the tedious work for you and maintain consistency. Python is a general-purpose scripting language, which ESRI has adopted as the standard for ArcGIS scripting. The course will include an introduction to basic programming concepts, and key features of Python. Naturally, we will focus on applying these concepts to geoprocessing tasks, including running ArcGIS tools using scripts, working with attribute tables, creating and editing geometries, reading and writing text files, and working with rasters. Instructor Information Tracy Kugler, Geography program PhD Candidate, Campus GIS TA kuglert@geo.oregonstate.edu Office hours: Tuesday 9:00-10:00 and Thursday 6:00-7:00 in Digital Earth (Wilkinson 210) Individual meetings also available by appointment. My office is Wilkinson 143, but I'm not there very often. It is best to reach me via e-mail. Barring exceptional circumstances, I will respond to e-mails within 24 hours, and typically sooner. Resources There are no textbooks for this course. The primary resources we will be using are: Dive Into Python, an online Python book. (abbreviated as "DIP" in course outline) http://diveintopython.org/toc/index.html 2004, Mark Pilgrim ArcGIS Desktop Help Documentation at Python.org

Learning Outcomes By the end of this course, students should be able to: Analyze a geoprocessing task and structure it as a sequential series of steps that can be expressed in a flow diagram or as "pseudocode" Use basic programming tools (iteration and conditional statements) and Python data structures (lists, dictionaries) to accomplish geoprocessing tasks. Explain the function of existing geoprocessing scripts. Write and document scripts that: o Run a series of geoprocessing tools on several data sets o Obtain and use information from attribute tables o Add and calculate fields in attribute tables o Create and edit geographic data sets o Read and write information between geographic data sets and text files Course Outline & Schedule Week 1, Sept. 28 - Introduction and Model Builder Refresher Introduction to course, instructor, each other Geoprocessing basics Model Builder Introduction to data set Exercise 1: Create a model in Model Builder Week 2, Oct. 5 - Programming Basics and Introduction to Python Exercise 1 due Programming basics: Variables, data types, statements, functions and arguments IDLE: Python's interactive programming window Basic Python syntax Week 3, Oct. 12 - Lists, Dictionaries, Iteration, and Conditionals DIP sections 3.1, 3.2, 6.3 Introduction to Dive Into Python Lists and Dictionaries Iteration, especially over lists (for, while) Conditional statements (if, else) Exercise 2: Lists and dictionaries Week 4, Oct. 19 - Object-Oriented Programming Concepts DIP section 6.1 Objects, attributes, and methods Modules and functions Debugging and error handling Week 5, Oct. 26 - Working with Geoprocessing Tools in Scripts Exercise 2 due Building strings Working with workspaces Calling geoprocessing tools in scripts

Listing data Exercise 3: Apply geoprocessing tools to multiple feature classes Week 6, Nov. 2 - Cursors and Additional Tools for Strings Exercise 3 due DIP sections 3.5, 3.7, parts of 7.2 Cursors, GetValue and SetValue More on strings: split, formatting Real expressions Exercise 4: Working with tables using cursors Week 7, Nov. 9 - Working with Geometries Exercise 4 due DIP sections 3.6, 3.7 Tools for working with geometries: point, array and spatial reference objects List comprehensions Join method Exercise 5: Working with geometries using cursors Week 8, Nov. 16 - Working with Text Files Exercise 5 due Useful modules: csv, fileinput Read/write geometries Exercise 6: Working with text files Week 9, Nov. 23 - Working with Rasters, Guest lecture Exercise 5 due Week, 10, Nov. 30 - Free/flex time (No final exam.) Course Policies Attendance: Attendance is expected at all class meetings. Attendance is particularly important since there is no textbook, so lectures are the primary means of obtaining the information needed to complete exercises. If you will be unable to attend a session (e.g. due to conference attendance or field work), let me know in advance and be sure to get notes from someone. Individual/collaborative work: Each student is expected to do the final work on the exercises individually. You should each write your own scripts, and comments in particular should be in your own words. However, you are encouraged to work together to discuss general approaches to the geoprocessing problems and get help from each other. Turning in assignments: Exercises are due by midnight on their due date, as noted in the schedule above. Exercises should be submitted via e-mail, to kuglert@geo.oregonstate.edu. The subject line should be: "Geo599, exercise X, your name"

Attached files should be named according to the following convention: Geo599exX_LastName_part (e.g. Geo599ex2_Kugler_script.py) The parts of each exercise to be turned in will be specified in the exercise descriptions. Late assignments: Ten points per day late will be deducted from late assignments. Exercises more than a week late will not be accepted. (However, note that this is the first time this course has been taught and I'm not sure how long the exercises will take you. Please let me know if you are having difficulty completing them on time, and if there seems to be a general need for more time, I will consider revising the schedule.) Grading Grading for the course will be based on 6 exercises. There are no exams. Exercise 1: 50 points Exercise 2: 70 points Exercise 3: 90 points Exercise 4: 80 points Exercise 5: 80 points Exercise 6: 80 points TOTAL: 450 points Course grading scale: 415-450 = A 340-354 = C+ 400-414 = A- 325-339 = C 385-399 = B+ 310-324 = C- 370-384 = B <310 = D 355-369 = B- Most of the exercises consist of adding comments to an existing script and then writing your own script. The purpose of adding comments to an existing script is to demonstrate your understanding of what the script accomplishes as a whole, and what each part of the script does. The most important aspect of your own scripts is that they accomplish the indicated geoprocessing task. They should also be well documented and reasonably efficient and robust. Points will be assigned as follows: Commenting 30 points Header comment describing the overall function of the script, 5 points Comments sufficient to describe each part of the script, 5 points Comments demonstrate understanding of the script, 20 points Script writing 50 points Script accomplishes intended purpose, as demonstrated by output, 30 points Documentation via comments allows easy comprehension of script, 10 points Script is efficient and robust, 10 points o Appropriate use of iteration, approach not overly complicated o Appropriate use of print statements to track progress o Appropriate use of try...except structure Other tasks (exercises 1, 2a, 3a) Points as indicated in exercise descriptions