You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+40-14
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,7 @@
26
26
**Classroom component:** In class, we will explore basic programming concepts and advanced geospatial applications that are suited for automation using Python. During lab, we will work on training materials produced by the instructor, which are designed to ensure you meet the learning outcomes of the course. We will use the software development program PyCharm, which allows rapid code generation and can be linked into ArcGIS for code execution.
27
27
28
28
**Reading resources:**
29
-
* “ArcPy and ArcGIS”, 2017, 2nd Edition by Silas Toms and Dara O’Beirne, freely available through the URI Library. I do not expect you to purchase this unless you want a reference text.
29
+
* “ArcPy and ArcGIS”, 2017, 2nd Edition by Silas Toms and Dara O’Beirne, freely available through the URI Library.
30
30
* Additional material for certain lectures will be posted on Github or listed in the description of each lecture.
31
31
32
32
```python
@@ -39,16 +39,42 @@ arcpy.AddMessage(r"Let's get started!")
Week 1 | Introduction, overview of different assignments for this class and modes of teaching. Set up Github accounts. The different Python environments and ways to interact with Python through ArcGIS (and not) – Python.exe, bat files, just clicking on a *.py, geoprocessing command line, PyCharm, toolboxes (*.pyt and traditional). | |
43
-
Week 2 | Introduction to Python basics. Commenting, import statements for packages, variables and data types (str, int, float, lists, tuples, dictionaries). Iteration using for loops, if/elif/else statements, while statements. Code cleanliness (indentation using tabs/spaces, spotting indentation errors), Using Functions to block code. Zero-based indexing. | Coding challenge 1 |
44
-
Week 3 | Introduction to Python modules.os, sys. Basic file and system manipulation. arcpy. Present some arcpy functionality, where can you find scripts, basic resources. | Coding challenge 2 |
45
-
Week 4 |Introduction to Python modules.os, sys. Basic file and system manipulation. arcpy. Present some arcpy functionality, where can you find scripts, basic resources. | Coding challenge 3 |
46
-
Week 5 |Building basic scripts. Cover basic coding tasks, and introduce error handling, print statements and various messaging functionality. | Coding challenge 4 |
47
-
Week 6 | Building your first script by cheating. Using ModelBuilder and ArcToolbox to export python scripts. Extending exported python scripts. | Coding challenge 5 |
48
-
Week 7 | Environments, functions and file handling. Setting environments within arcpy. How to interact with and code input for tools that are available through arcpy. Avoid repeating code using functions. | Mid-term Assignment Set |
49
-
Week 8 | Introduction to Cursors. Selecting, searching, updating data using arcpy functions, and non-arcpy alternatives. | Coding challenge 6 |
50
-
Week 9 | Geometry objects and raster manipulation. Creating geometry objects, points, lines and polygons. Creating and working with raster datasets. | Coding challenge 7 |
51
-
Week 10 | Spatial analyst and other extensions in Python. Practice using various ArcGIS extensions through arcpy. Check out/in licenses, advanced functionality. | Coding challenge 8 |
52
-
Week 11 | Interacting with ArcGIS Desktop from code. Techniques to manipulate the desktop environment. | Coding challenge 9 |
53
-
Week 12 | Effective Python Toolboxes. Pythonizing your toolboxes to provide usable interactive scripts all within a single python file. | Coding challenge 10 |
54
-
Week 13 | Designing scripts for others. Building scripts that can be used by others, open source licenses to protect you and your code and dissemination through Github. | |
42
+
Week 1 | **Lecture:** Introduction, overview of different assignments for this class and modes of teaching. **Laboratory:** Set up Github accounts. The different Python environments and ways to interact with Python through ArcGIS (and not) – Python.exe, bat files, just clicking on a *.py, geoprocessing command line, PyCharm, toolboxes (*.pyt and traditional). | |
43
+
Week 2 | **Lecture:** Introduction to Python basics. **Laboratory:** Commenting, import statements for packages, variables and data types (str, int, float, lists, tuples, dictionaries). Iteration using for loops, if/elif/else statements, while statements. Code cleanliness (indentation using tabs/spaces, spotting indentation errors), Using Functions to block code. Zero-based indexing. | Coding challenge 1 |
44
+
Week 3 | **Lecture:** Introduction to Python modules. **Laboratory:** os, sys. Basic file and system manipulation. arcpy. Present some arcpy functionality, where can you find scripts, basic resources. | Coding challenge 2 |
45
+
Week 4 | **Lecture:** Introduction to Python modules. **Laboratory:** os, sys. Basic file and system manipulation. arcpy. Present some arcpy functionality, where can you find scripts, basic resources. | Coding challenge 3 |
46
+
Week 5 | **Lecture:** Building basic scripts. **Laboratory:** Cover basic coding tasks, and introduce error handling, print statements and various messaging functionality. | Coding challenge 4 |
47
+
Week 6 | **Lecture:** Building your first script by cheating. **Laboratory:** Using ModelBuilder and ArcToolbox to export python scripts. Extending exported python scripts. | Coding challenge 5 |
48
+
Week 7 | **Lecture:** Environments, functions and file handling. **Laboratory:** Setting environments within arcpy. How to interact with and code input for tools that are available through arcpy. Avoid repeating code using functions. | Mid-term Assignment Set |
49
+
Week 8 | Spring Break - No Classes | |
50
+
Week 9 | **Lecture:** Introduction to Cursors. **Laboratory:** Selecting, searching, updating data using arcpy functions, and non-arcpy alternatives. | Coding challenge 6 |
51
+
Week 10 | **Lecture:** Geometry objects and raster manipulation. **Laboratory:** Creating geometry objects, points, lines and polygons. Creating and working with raster datasets. | Coding challenge 7 |
52
+
Week 11 | **Lecture:** Spatial analyst and other extensions in Python. **Laboratory:** Practice using various ArcGIS extensions through arcpy. Check out/in licenses, advanced functionality. | Coding challenge 8 |
53
+
Week 12 | **Lecture:** Interacting with ArcGIS Desktop from code. **Laboratory:** Techniques to manipulate the desktop environment. | Coding challenge 9 |
54
+
Week 13 | **Lecture:** Effective Python Toolboxes. **Laboratory:** Pythonizing your toolboxes to provide usable interactive scripts all within a single python file. | Coding challenge 10 |
55
+
Week 14 | **Lecture:** Designing scripts for others. **Laboratory:** Building scripts that can be used by others, open source licenses to protect you and your code and dissemination through Github. | |
56
+
57
+
**Additional information:**
58
+
59
+
**Grade Scale:** A = 94.0–100%; A- = 90.0–93.9%; B+ = 87.5–89.9%; B = 84.0–87.4%; B- = 80.0–83.9%; C+ = 77.5–79.9%; C = 74.0–77.4%; C- = 70.0–73.9%; D+ = 67.5–69.9%; D = 60.0–67.4%; F = below 59.9%
60
+
61
+
**Special Needs:** We strive to be fully inclusive in the development of course materials and teaching. If you have as requirement for any special accommodation with respect to the curriculum, instruction, or assessments please inform the instructor, and provide the instructor with documentation from URI in the first few weeks of the semester.
62
+
63
+
**Religious Observance and University Sanctioned Events:** As per the University Policy on Religious Observance and University Sanctioned Events, if you do not attend class or lab due to their observance of religious holy days or University Sanctioned Events, you will not be penalized for missing class. However, you are responsible for informing the instructor in advance that you will be missing class and you are responsible for making up any missed work.
64
+
65
+
**Academic Honesty:** Students are expected to be honest in all academic work. A student’s name on any written work, quiz or exam shall be regarded as assurance that the work is the result of the student’s own independent thought and study. Work should be stated in the student’s own words, properly attributed to its source. Students have an obligation to know how to quote, paraphrase, summarize, cite and reference the work of others with integrity. The following are examples of academic dishonesty.
66
+
* Using material, directly or paraphrasing, from published sources (print or electronic) without appropriate citation
67
+
* Claiming disproportionate credit for work not done independently
68
+
* Unauthorized possession or access to exams
69
+
* Unauthorized communication during exams
70
+
* Unauthorized use of another’s work or preparing work for another student
71
+
* Taking an exam for another student
72
+
* Altering or attempting to alter grades
73
+
* The use of notes or electronic devices to gain an unauthorized advantage during exams
74
+
* Fabricating or falsifying facts, data or references
75
+
* Facilitating or aiding another’s academic dishonesty
76
+
* Submitting the same paper for more than one course without prior approval from the instructors.
77
+
78
+
**Late Work:** Due dates (in the syllabus) have been designed to provide you with a clear workplan for this course so that you cannot leave everything to the last minute; you must take a regular approach to handing in work and building your portfolios. Work submitted after this time for each deadline, but no more than 5 days late will have 50% grade reduction and feedback will be provided. Work submitted more than 5 but less than 10 days late will receive 0%, but feedback will be provided. Work that is 10 days late will not be accepted. If you think you have a valid excuse for handing in work late, please contact the instructor to discuss any issues.
79
+
80
+
**Attendance, participation and illness:** Attendance is critical to your success in this class. To earn full credit, you must attend and participate in each and every lecture and laboratory. If you have an emergency, or you are ill, you are expected to contact the instructor in advance of class. This particularly pertains to flu-like symptoms, so if you do exhibit signs of flu, contact the instructor and stay home to minimize transference of the virus. Unexcused absences will result in a lower course grade. According to university policy, documented medical illnesses, emergencies, observance of religious holidays or participation in university-sanctioned athletics or other events are the only valid excuses for missing classes and deadlines, but the instructor must be informed in advance. Any missed work is the student’s responsibility and you should contact the instructor in advance to discuss this.
0 commit comments