Jupyter notebooks: https://github.com/jupyter/jupyter/wiki#a-gallery-of-interesting-jupyter-notebooks
- GIS Programming with Python
- Databases
- Spatial SQL
- Version Control
- ETL
- Web Development Fundamentals
- Web GIS
- Front End Libraries
- Backend Web Development
| Official QGIS Tutorial | Easy | QGIS |
Learn how to use popular data analysis libraries in Python such as Numpy and Pandas. I'm listing quite a few paid options here because they are of very high quality and are interactive.
Learn how to write scripts to perform GIS analyses and automate repetetive tasks with Python.
GDAL, OGR, GeoPandas, Shapely, numpy, matplotlib, seaborn
- GEOG 489: Advanced Python Programming for GIS chapter 3
- Geographic Data Science
- Python for GIS Progression Path
- Python Scripting for ArcGIS (ESRI)
- Geoprocessing with Python (Open Source)
- GeoPySpark
- Introduction to Geospatial Data in Python
Learn how to query data, make tables and views, and perform data analysis with databases.
Courses (Choose one) | Difficulty | Database Engine |
---|---|---|
SQL Zoo | Medium | SQL Server, Oracle, MySQL, DB2, and PostgreSQL |
Stanford - Introduction to Databases | Hard | Unknown |
CS145: Data Management and Data Systems | Hard | Google BigQuery |
Learn how to store GIS data and manipulate it in a database.
Courses (Choose one) | Difficulty | Database Engine |
---|---|---|
GEOG 868 - Spatial Database Management | Medium | PostgreSQL / PostGIS |
Official - Intro to PostGIS | Medium | PostgreSQL / PostGIS |
CS145: Data Management and Data Systems | Hard | Google BigQuery |
Learn how to manage projects using version control.
Resource (Choose one) | Difficulty | Software |
---|---|---|
Git Documentation | Medium | Git |
Git Offical Resources | Medium | Git |
Git Tutorial by Atlassian | Medium | Git |
Learn the basics of web development. It's very important to do this before trying to jump into web GIS.
Courses (Choose one) | Difficulty | Languages |
---|---|---|
CS50: Web Programming with Python and JavaScript | Medium | Python, HTML, CSS, Javascript, SQL |
Colt Steele's Web Developer Bootcamp ($10, search for coupon) | Medium | Node.js, HTML, CSS, Javascript, NoSQL |
The Odin Project | Medium | Ruby, HTML, CSS, Javascript |
- Colt Steele's Advanced Web Developer Bootcamp ($10, search for coupon)
Learn how to add maps to your web applications.
Courses (Do both) | Difficulty | Languages / Frameworks |
---|---|---|
GEOG 863 - Web Application Development for Geospatial Professionals | Easy | HTML, CSS, Javascript, ArcGIS Javascript API |
GEOG 585: Open Web Mapping | Medium | QGIS, GDAL, OGR, GeoServer, TileMill, Leaflet |
- GEOG 865: Cloud and Server GIS - Requires an ArcGIS Enterprise Account and an active credit card to register for AWS free tier.
- Offical Leaflet Tutorial
- MapTime Boston Leaflet Tutorial
- MIT Leaflet Workshop
- MIT Leaflet with PostGIS, NodeJS, and Express Workshop
- ArcGIS REST API Documentation
- ArcGIS: Publishing a map service
- Python - Update Hosted Feature Service
Learn how to make modern web applications using front end libraries.
Courses (Choose one) | Difficulty | Framework / Library |
---|---|---|
Tyler Mcginnis: Free Online React BootCamp | Medium | React |
Maximilian Schwarzmüller: Angular 7 (formerly Angular 2) - The Complete Guide ($10, search for coupon) | Hard | Angular |
Maximilian Schwarzmüller: Vue JS 2 - The Complete Guide ($10, search for coupon) | Easy | Vue |
Front end development is such a broad topic that I'm just going to link to the brilliant frontend section of the 2018 Web Developer Roadmap. You will have picked up most of these skills already by now but getting comfortable with package managers, build tools, state management, CSS preprocessors, and front end testing will put you at a great place for front end development.
Learn how to serve data to a client with a backend server. Almost all of the backend GIS development job postings I've seen require .Net Core (C#). I've seen a few GIS projects using Flask, Django (Python) and Java, but C# definitely seems to be the dominant force here.
Backend development is such a broad topic that I'm just going to link to the brilliant backend section of the 2018 Web Developer Roadmap.
- GeoDjango Tutorial (Python)
- Make a Location-Based Web App With Django and GeoDjango (Python)
- Geospatial for Java (Java)
- Hibernate Spatial (Java)
- Proj4J Tutorial (Java)
- JTS Topology Suite (Java)