
Please download the Resources.
Set up the Jupyter environment for geospatial data science with Python, installing essentials and configuring notebooks for efficient workflows.
Install VS Code to support geospatial data science with Python workflows, enabling efficient setup of development tools for geospatial analysis.
Explore Python numbers, including integers and floating points, and how basic arithmetic and operator precedence shape results. Learn string concatenation, type conversion with int, and handling non numeric strings.
Explore Python strings, using single or double quotes and escaping, then concatenate, cast numbers to strings, and repeat with the asterisk, while using methods like lower, upper, capitalize, and len.
Master zero-based indexing and slicing in Python to access and subset strings; learn that Python strings are immutable, so create new strings or split and concatenate as needed.
Learn Python list manipulation with append, extend, and concatenation; sort and reverse; and delete, remove, and pop to manage list items.
Learn to create Python dictionaries with curly braces, mapping keys to values and accessing items by key. Handle missing keys and inspect dictionary keys and values with dict_keys and dict_values.
Explore tuples as immutable sequences in Python, distinct from lists. Learn to create them with commas (and parentheses), index and slice, and store coordinates as pairs with lists.
Master equality, comparison operators, and boolean logic in Python, and implement if-else conditionals with the format function for variables x, y, and z.
Master python boolean logic with and, or, not, and control flow using if, elif, and else. Explore comparisons like greater than and equal to drive decisions.
Explore how to use for loops in Python to iterate over lists, strings, and multiple objects, print values, and combine zip and enumerate for city and population data.
Use while loops in Python to repeat until a condition is met, with break and continue to control flow, applying to user input and lists of city names and populations.
Define and call functions in Python, use built-in functions, and create functions with parameters, return values, and default arguments. See how to modify coordinates with simple arithmetic inside a function.
Build a Python country capital guessing game by using a dictionary of countries and capitals, the random module, and a simple user interface in Jupyter notebooks or other editors.
Implement a guess the capital game loop that tracks right and wrong counters, normalizes input to lower case, and prints the final score as right out of total.
Explore modular programming by building a capital city guessing game with two functions, one to run the game and one to display results, while managing randomness and avoiding repeats.
Create and combine shapely geometries: points, multipoints, line strings, multiline strings, polygons, and multipolygons, and assemble them into geometry collections for geospatial data science.
Explore Shapely geometry attributes to create and inspect polygons, including exterior rings, coordinates, area, length, and the central point, with attention to coordinate sequences and projection units.
Learn Shapely geometry functions by creating points, lines, and polygons, computing distances, applying buffers, and extracting centroids to convert polygons into representative points.
Explore reading and writing tabular data in Python using csv, including separators, appending lines, and creating new csv files. Use a cities population example to demonstrate read and write workflows.
Learn how to read spatial data with Fiona, inspect the driver, coordinates, and schema, and view properties and geometry for shapefiles.
Open and write a shapefile with Fiona, define the driver and schema, create point geometry from latitude and longitude, and write city features with properties to a shapefile.
Write spatial data with Shapely and Fiona by creating a simple polygon schema, mapping Shapely geometry to Balkan coordinates, and exporting a GeoJSON file named Netherlands.
Learn to read world countries data with fiona in python, export each country as an individual file in a countries folder, and prepare for geospatial visualization.
Explore tkinter basics to build a graphical user interface in Python, creating a main window, labels, and frames, configuring size and title, and running the main loop to display widgets.
Explore Tkinter widgets by building interactive elements like text entry and buttons, wiring commands to functions, displaying results in labels, and preparing for Matplotlib figure integration.
Build a tkinter-based geographic game solution in Python that uses Fiona to read the country dataset, selects a random country, and checks answers with a matplotlib compass plot.
Learn pandas basics in Python for loading datasets, handling encodings, and inspecting data frames with head, using the ancient cities dataset for geography context.
Explore pandas' two core data types—one-dimensional series and two-dimensional data frame—learn how columns and data types distinguish them, and prepare to use both throughout the course.
Explore reading geospatial data with geopandas, ingest varied formats, and examine geometry columns, geoseries, and geodataframes to inspect shapes, types, and basic statistics.
Explore geopandas by applying pandas functionality to geometry with shapely, including buffers and plotting. Filter by city, access geometry, and read files to plot country boundaries.
Create a geodataframe with a polygon geometry from Balkan coordinates, validate by indexing, and plot the result using a dictionary-based approach for Netherlands and Germany.
Save geospatial data by writing a geodataframe to a local file using to_file, choose a driver, and export shapefiles or other formats for easy use in GIS tools.
Learn to create a range of matplotlib charts—from bar and horizontal bar charts to pie and scatter plots—using dataframe columns for x, y, width, and height.
Explore plotting geospatial data with matplotlib by loading the Japan data set, visualizing continents with colors, and adding legends, subplots, and overlays.
Explore geopandas basemaps by projecting coordinates to Web Mercator (3857) and overlaying base maps for interactive, customizable maps using context basemap sources and matplotlib widget.
Examine indexing methods using dot lock for selecting by label and columns, filter cities by population greater than zero, and reset or sort indices to create a geospatial data view.
Use the coordinate index to slice geometry with a bounding box by x and y min/max values, filtering polygons. Apply it to select Australia and southern hemisphere cities.
Learn how to perform a spatial join that attaches attributes from one table to another based on spatial relationships, using a within operation on admin boundaries.
Group cities by region and count points within each subnational administrative boundary using spatial joins. Merge the results with administrative boundaries and compare inner joins to show areas with points.
Learn how to preprocess geospatial data with pandas by chaining operations with the pipe function, converting latitude to floats, dropping missing coordinates, building a GeoDataFrame, and exporting GeoJSON.
Build a geocoding hub using Streamlit, with examples from Banda Aceh and Japan, and learn to create, run, and deploy a Python geocoding app.
Geocoding converts addresses into coordinates using multiple providers, including open street map, and builds a data frame with latitude, longitude, and altitude for map visualization.
Learn to build a browser-based geocoding application using Tremlett, upload an address file, select the address column, run geocoding to produce latitude and longitude, and download the enhanced csv.
Build and explore a geocoding application that uploads a file, selects a column, and starts geocoding to produce a lat/long location column and a downloadable geocoded file.
Read raster data with multiple bands, inspect metadata such as height, width, and band count, read specific bands (red and green), and compute statistics while handling no-data values.
Discover why numpy arrays outperform lists for numeric data and learn to perform element-wise operations, indexing, slicing, and boolean comparisons on multidimensional arrays.
Manipulate raster data with numpy by indexing and boolean masks, subset 1000–4000 and 2000–4000 bands, and set zero values to none, with visualization of the sentinel-2 image.
Calculate ndvi from sentinel-2 imagery by normalizing the near infrared and red band difference, then visualize the results with color maps to map vegetation health.
Deriving statistics teaches how to compute mean and max vegetation index values per grid cell by masking and overlaying vector and raster data, then visualize and save results.
Learn the fundamentals and Grow your Geospatial data science programming skills.
Learning Programming for GIS and Geospatial data analysis can be overwhelming, especially learning from unorganized resources and tutorials. I know that because I have made the transition from GIS to geospatial data science earlier. It took me many years to grapple with different resources and materials for data science without having a tailored Geospatial data science course. That is why I have made this course to help you kickstart your geospatial data science career and learn the basics right.
I have structured the course to be beginner-friendly to make sure a smooth learning experience. I am starting with Python's fundamentals to create an Interactive Geography Trivia (Geo Quiz) and Web-based Geoapplications.
The Tools: We set up your environment quickly with few clicks, so you do not have to worry about missing libraries.
The Basics: Python Syntax and data structures explained in plain language with geography flavoring examples. By the end of this section, you will create a simple command-line game: guess the city.
Geometry: Learn and master the basics of all geospatial python processes - geometry. You will learn Shapely and Fiona libraries for handling geospatial data, and this will give you a low-level understanding of the underpinning of all other high geospatial libraries. By the end of this module, you will create a Tkinter Interface for Guess the Country Game.
Vector data with Geopandas: Learn the most widely used Geospatial library - Geopandas. Open up whole other geospatial functionality on top of the Geometry also using Pandas library, one of the most used data science libraries. By the end of this module, you will undertake a Geospatial Vector analysis project from a real-world job application scenario.
Raster Data with Rasterio: We introduce here the basics of Remote sensing in Python and help you master the ins and outs of satellite imagery processing in Python.
The course is a comprehensive course that teaches you the fundamentals of a career in Geospatial data science.