├── LICENSE └── README.md /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Automating GIS processes 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Automating GIS processes - Fall 2016 2 | 3 | **NEW!**: You can optionally read these materials from a new website. Go to [https://automating-gis-processes.github.io/2016/](https://automating-gis-processes.github.io/2016/). 4 | 5 | ## Course meetings in Period II 6 | 7 | - Mondays 9-12, A113-A114, Physicum (31.10 - 12.12) 8 | - Work sessions on Thursdays 8-10, A111-112, Physicum (03.11 - 15.12) 9 | 10 | ## Instructor 11 | 12 | - Henrikki Tenkanen 13 | - Office: A120, Physicum 14 | - Email: `firstname.lastname@helsinki.fi` 15 | - Phone: +358 50 4484436 16 | 17 | ## Course assistant 18 | 19 | - Vuokko Heikinheimo 20 | - Office: A120, Physicum 21 | - Email: `firstname.lastname@helsinki.fi` 22 | - Phone: +358 2941 50760 23 | 24 | ## Course websites 25 | 26 | - Course sites for Period I (Introduction to Python programming): 27 | - Main course site: [https://github.com/Python-for-geo-people](https://github.com/Python-for-geo-people) 28 | - Pouta Blueprints site: [https://pb.geo.helsinki.fi](https://pb.geo.helsinki.fi) 29 | 30 | - Automating GIS processes (Period II) 31 | - Moodle page: [https://moodle.helsinki.fi/course/view.php?id=18331](https://moodle.helsinki.fi/course/view.php?id=21843) 32 | 33 | ## Textbooks 34 | 35 | - There are **no required textbooks** for this course. This course uses a wide range of sources for course information and the main textbooks are given below. 36 | - Recommended textbooks (in order of relevance): 37 | - Zelle, J. (2010) [Python Programming: An Introduction to Computer Science](http://mcsp.wartburg.edu/zelle/python/ppics2/index.html), Second edition. Franklin, Beedle & Associates. 38 | - Lawhead, J. (2015) [Learning Geospatial Analysis with Python: An effective guide to geographic information systems and remote sensing analysis using Python 3](https://www.packtpub.com/application-development/learning-geospatial-analysis-python-second-edition), Second edition. Packt Publishing. 39 | - McKinney, W. (2012) [Python for Data Analysis: Data wrangling with Pandas, NumPy and iPython](http://www.amazon.com/Python-Data-Analysis-Wrangling-IPython/dp/1449319793), First edition. O´Reilly Media. 40 | - Optional textbooks: 41 | - Westra, E. (2016) [Python Geospatial Development: Develop sophisticated mapping applications from scratch using Python 3 tools for geospatial development](https://www.packtpub.com/application-development/python-geospatial-development-third-edition), Third edition. Packt Publishing. 42 | - Zandbergen, P. (2013) [Python Scripting for ArcGIS](https://www.amazon.com/Python-Scripting-ArcGIS-Paul-Zandbergen/dp/1589482824/ref=asap_bc?ie=UTF8), Alternate edition. ESRI press. **([Available from the library](https://helka.linneanet.fi/cgi-bin/Pwebrecon.cgi?Search_Arg=Python+scripting+for+ArcGIS&Search_Code=TALL&SL=None&PID=PNf7cMJlQOsRhdelSvtktIwh3_E04&SEQ=20160912155918&CNT=50&HIST=1&SEARCH_FROM_TITLES_PAGE=Y))** 43 | - Diener, M. (2015) [Python Geospatial Analysis Cookbook: Over 60 recipes to work with topology, overlays, indoor routing, and web application analysis with Python](https://www.packtpub.com/big-data-and-business-intelligence/python-geospatial-analysis-cookbook). Packt Publishing. 44 | 45 | ## Course format 46 | 47 | The majority of this course will be spent in front of a computer learning to program in the Python language and working on exercises. 48 | During Teaching Period I, the Automating GIS processes and Introduction to Quantitative Geology courses will meet together and focus on 49 | learning to program in Python. Previously, both these courses lacked sufficient time for students to properly learn the basic concepts of programming in Python. 50 | 51 | The computer exercises will focus on developing basic programming skills using the Python language and applying those skills to various GIS related problems. 52 | Typical exercises will involve a brief introduction followed by topical computer-based tasks. At the end of the exercises, you may be asked to submit answers 53 | to relevant questions, some related plots, and/or Python codes you have written or used. You are encouraged to discuss and work together with other students 54 | on the laboratory exercises, however the laboratory summary write-ups that you submit must be completed individually and must clearly reflect your own work. 55 | 56 | ## Course topics by week 57 | *Lesson content, readings and due dates are subject to change* 58 | 59 | **Period I** 60 | 61 | See: [https://github.com/Python-for-geo-people/Course-information](https://github.com/Python-for-geo-people/Course-information) 62 | 63 | **Period II** 64 | 65 | *links to lectures and exercises will be updated before each session* 66 | 67 | **31.10** - GIS in Python; Spatial Data Model, Geometric Objects, Shapely 68 | 69 | [comment]: # (Link to Classroom when it is done and course has started: https://classroom.github.com/assignment-invitations/c1252e0b9df12b27f1e39d557e918ae5) 70 | - **Lesson** - [Lesson 1: Introduction to Python GIS](https://github.com/Automating-GIS-processes/Lesson-1-Intro-Python-GIS) 71 | - **Assignment** - [Exercise 1: Working with Geometric Objects](https://classroom.github.com/assignment-invitations/c1252e0b9df12b27f1e39d557e918ae5) 72 | - Readings - Lawhead, Chapter 4: Shapely & [Shapely documentation](http://toblerity.org/shapely/manual.html) 73 | 74 | **7.11** - Working with (Geo)DataFrames 75 | 76 | [comment]: # (Link to Classroom when it is done and week has started: https://classroom.github.com/assignment-invitations/f6f1d09cc0e970fcec4f3556b6754f4d) 77 | - **Lesson** - [Lesson 2: Working with Geo-DataFrames in Pandas and Geopandas](https://github.com/Automating-GIS-processes/Lesson-2-Geo-DataFrames) 78 | - **Assignment** - [Exercise 2: Creating Geometries in Geopandas](https://classroom.github.com/assignment-invitations/f6f1d09cc0e970fcec4f3556b6754f4d) 79 | - Readings - Lawhead, Chapter 4 & [GeoPandas documentation](http://geopandas.org/data_structures.html#geodataframe) 80 | 81 | **14.11** - Geometric operations and geocoding 82 | - **Lesson** - [Lesson 3: Geocoding & Spatial Queries](https://github.com/Automating-GIS-processes/Lesson-3-Geocoding-Spatial-Queries#lesson-3-geocoding--spatial-queries) 83 | - **Assignment** - [Exercise 3: Geocoding and Spatial Join](https://classroom.github.com/assignment-invitations/dfc931a86070034e3b7e3908dc56f7cd) 84 | - Readings - 85 | 86 | **21.11** - Spatial queries 87 | - **Lesson** - [Lesson 4: Classification and Overlay Analysis](https://github.com/Automating-GIS-processes/Lesson-4-Classification-overlay#lesson-4-data-classification-overlay-analysis) 88 | - **Assignment** - [Exercise 4](https://classroom.github.com/assignment-invitations/5160f5ebd9733fadc2ca156614c9baed) 89 | - Readings - 90 | 91 | **28.11** - Visualization: static and interactive maps 92 | - **Lesson** - [Lesson 5: Visualization](https://automating-gis-processes.github.io/2016/Lesson5-overview.html) 93 | - **Assignment** - [Exercise 5: Visualization](https://classroom.github.com/assignment-invitations/89827a0c6532a4910690c43c821445da) 94 | 95 | - *Introduction to the final assignment will be sent via email!* 96 | 97 | **5.12** - NO LECTURE ON MONDAY! 98 | - **Demo on thurdsay 8.12:**[ Using ArcGIS trough Python ](https://automating-gis-processes.github.io/2016/Lesson6-arcpy.html#python-in-arcgis) 99 | - Readings - 100 | 101 | **12.12** - Raster data processing in Python 102 | - **Lesson** - [Lesson 7: Basics of raster data processing with Python and Gdal ](https://github.com/Automating-GIS-processes/Lesson-7-Automating-Raster-Data-Processing/blob/master/Python-and-Gdal.ipynb) 103 | - **Assignment** - [Exercise 7: Delineating forest areas from canopy cover data](https://classroom.github.com/assignment-invitations/e59dfd42577e7fe6d98d19d70ecccf53) 104 | - Readings - Lawhead pp. 158-161, Chapter 6 & Chapter 8 105 | 106 | **6.1.2017** - Deadline for the final assignment 107 | 108 | --------------------------------------------------------------------------------