All Projects → gbrunner → programming-for-gis-and-rs

gbrunner / programming-for-gis-and-rs

Licence: other
Materials for the Intro to Programming for GIS and Remote Sensing Course that I teach at Saint Louis University. They include the updates I made for the spring 2020 and fall 2020 semesters.

Programming Languages

Jupyter Notebook
11667 projects
HTML
75241 projects

Projects that are alternatives of or similar to programming-for-gis-and-rs

Lidar
A Python package for delineating nested surface depressions from digital elevation data.
Stars: ✭ 85 (+39.34%)
Mutual labels:  gis, remote-sensing
Python Geospatial
A collection of Python packages for geospatial analysis with binder-ready notebook examples
Stars: ✭ 187 (+206.56%)
Mutual labels:  gis, remote-sensing
Pyrate
A Python tool for estimating velocity and time-series from Interferometric Synthetic Aperture Radar (InSAR) data.
Stars: ✭ 110 (+80.33%)
Mutual labels:  gis, remote-sensing
Wetland Hydro Gee
Mapping wetland hydrological dynamics using Google Earth Engine (GEE)
Stars: ✭ 20 (-67.21%)
Mutual labels:  gis, remote-sensing
WhiteboxTools-ArcGIS
ArcGIS Python Toolbox for WhiteboxTools
Stars: ✭ 190 (+211.48%)
Mutual labels:  gis, remote-sensing
Geemap
A Python package for interactive mapping with Google Earth Engine, ipyleaflet, and folium
Stars: ✭ 959 (+1472.13%)
Mutual labels:  gis, remote-sensing
Whitebox Python
WhiteboxTools Python Frontend
Stars: ✭ 188 (+208.2%)
Mutual labels:  gis, remote-sensing
Awesome Gee
A curated list of Google Earth Engine resources
Stars: ✭ 292 (+378.69%)
Mutual labels:  gis, remote-sensing
rsgislib
Remote Sensing and GIS Software Library; python module tools for processing spatial data.
Stars: ✭ 103 (+68.85%)
Mutual labels:  gis, remote-sensing
earthengine-apps
A collection of Earth Engine Apps created using geemap, voila, and heroku
Stars: ✭ 20 (-67.21%)
Mutual labels:  gis, remote-sensing
Earthengine Py Notebooks
A collection of 360+ Jupyter Python notebook examples for using Google Earth Engine with interactive mapping
Stars: ✭ 807 (+1222.95%)
Mutual labels:  gis, remote-sensing
aruco-geobits
geobits: ArUco Ground Control Point Targets and Detection for Aerial Imagery (UAV/MAV).
Stars: ✭ 32 (-47.54%)
Mutual labels:  gis, remote-sensing
Qgis Earthengine Examples
A collection of 300+ Python examples for using Google Earth Engine in QGIS
Stars: ✭ 482 (+690.16%)
Mutual labels:  gis, remote-sensing
Ee Runner
Command-line runner for Google Earth Engine Playground scripts
Stars: ✭ 59 (-3.28%)
Mutual labels:  gis, remote-sensing
Whitebox Tools
An advanced geospatial data analysis platform
Stars: ✭ 362 (+493.44%)
Mutual labels:  gis, remote-sensing
Awesome Geospatial Companies
🌐 List of 500+ geospatial companies (GIS, Earth Observation, UAV, Satellite, Digital Farming, ..)
Stars: ✭ 184 (+201.64%)
Mutual labels:  gis, remote-sensing
Datacube Core
Open Data Cube analyses continental scale Earth Observation data through time
Stars: ✭ 285 (+367.21%)
Mutual labels:  gis, remote-sensing
Geospatial Machine Learning
A curated list of resources focused on Machine Learning in Geospatial Data Science.
Stars: ✭ 289 (+373.77%)
Mutual labels:  gis, remote-sensing
ee-land-change
Google Earth Engine land-use change tutorial for SCBI
Stars: ✭ 22 (-63.93%)
Mutual labels:  gis, remote-sensing
sentinel-util
A CLI for downloading, processing, and making a mosaic from Sentinel-1, -2 and -3 data
Stars: ✭ 22 (-63.93%)
Mutual labels:  gis, remote-sensing

Course Description

This course will introduce students to Python programming and its applications to remote sensing and GIS. Through completing this course, students will be able to use Python to perform common GIS and remote sensing analysis tasks, automate workflows, and develop custom Python tools. Topics will include describing data, manipulating data, automating spatial analysis tasks, creating Python scripts and tools, and using Python for imagery analysis. We will also introduce students to WebGIS and how Python can be used to interface with data that is shared online.

Course Objectives

  • Students will learn Python and understand how to use it to solve problems in GIS and Remote Sensing and will demonstrate their knowledge by completing multiple homework assignments and projects.
  • Students will be encouraged to use Python through relevant examples and assignments.
  • Students will begin implementing it in their own research projects such as theses and capstones.

Materials

Course Materials will be shared using Blackboard. Slides, labs, and homework are in the folders that correspond to the specific units covered in class.

Texts

Grading

  1. 15% - Lab Work & Programming Exercises
  2. 15% - Homework Assignments
  3. 20% - Project 1
  4. 20% - Project 2
  5. 30% - Final Project

Feedback and Assessment

In order to ensure that students are on track to achieve the course objectives, students will have weekly coding assignments. The coding assignments will be graded and returned before the next online lecture, where the solutions will be reviewed, and questions will be addressed. Feedback on respective assignments will also be given to each student through Blackboard. Weekly assignment will become the foundation for student projects which will serve as the benchmarks for whether students understand how to use programming to solve GIS and remote sensing problems. There will be 3 projects over the course of the semester. Two will be defined by the professor. The third and final project will be defined by the student in consultation with me. For the final project, the student will define the questions he or she wants to answer, find the data to answer it, code up a solution to the question(s), and put together a presentation on the project and solution that will be presented during our final class. For the final project, discussion with classmates and me is encouraged as each student will define his or her own project and goals. The instructor will make himself available for virtual office hours weekly on Mondays from 4 to 5 PM using Zoom. If you have questions or concerns, don’t hesitate to meet with me during office hours, send me an email, or schedule an ad-hoc meeting with me outside of our regular meetings or office hours. For week 1 of class, please post your name, discipline of study, and academic interests in the Introductions discussion channel in Blackboard. If you ever need to talk, do not hesitate to reach out to me.

Schedule

Week Topic
Week 1 Intro to Python & Jupyter
Week 2 Intro to arcpy
Week 3 Exploring spatial data
Week 4 Working with feature data and cursors
Week 5 Working with features and geometries
Week 6 Rasters & imagery
Week 7 Creating Python script tools
Week 8 Functions, classes, and error handling
Week 9 Intro to Python for web GIS
Week 10 Interacting with AGOL using Python
Week 11 Publishing and consuming GIS services
Week 12 Plotting and data visualization
Week 13 Introduction to HTML and JavaScript
Week 14 Scientific data
Week 15 Final Project presentations

Homework

The purpose of the homework is twofold: to keep you thinking about Python outside of the lab and to prepare you for the next class. I do not want to overwhelm you with homework. I do want to ensure that you are learning how to use Python to solve GIS and remote sensing problems. Please do not hesitate to ask me or your classmates questions on homework if you are encountering difficulties. Furthermore, I would like your feedback as to whether assignments get too difficult or too easy so that I can adjust the assignments and in-class materials accordingly. Homework is to be submitted via blackboard before class on the day that it is due.

In Class Exercises

The easiest way to learn to code is by writing code! Lectures are designed to be interactive. If I am typing code, you should be too! Lectures will be followed by in-class exercises that are designed to get you writing code on your own. The exercises that I have written as Python notebooks (.ipynb files) have questions throughout them. Please answer these questions and submit them via Blackboard before the beginning of the following week of class.

Project 1

Project 1 will likely consist of working with tabular data (CSV or text file) or generating some report based on GIS data using Python. I will give the assignment by week 4. It is due before class on week 6.

Project 2

Project 2 will likely consist of using Python to do some sort of spatial analysis or raster analysis. It will be assigned by week 9. It is due before class on week 11.

Final Project

In my experience, all students and professionals need at least one demo or presentation that they can be prepared to give for a job interview, conference presentation, or other type of meeting. Through this class, I’d like each student to develop that demo or presentation, with the foundation of that presentation being some sort of spatial analysis, imagery analysis, or GIS analysis with Python. Each student will be responsible for a short 10 minute presentation to be given during either Week 14 or 15 of class on a project of their own choosing that will leverage Python. Before Spring Break (i.e. by Week 8), please submit to me a short write up (no more than 1 page) of what your project will be, what problem you will solve, how you will use Python to solve the problem. On week 14 or 15, please be prepared to give a 10 minute presentation explaining your problem, solution, how you got there, and hopefully some cool maps and results.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].