
Learn geospatial data analysis with a data science approach using Python and open source tools. Compare this workflow with traditional desktop GIS, emphasizing documented steps in notebooks.
Compare geospatial data science and GIS, tracing the shift from proprietary desktop tools to open source and Python workflows.
Open source data science offers stable, scalable geospatial analysis with repeatable workflows and rich documentation through notebooks, enabling flexible tool selection for each task.
Explore the Python data science ecosystem for geospatial work, highlighting NumPy and Pandas, visualization tools like Matplotlib and Seaborn, and machine learning with scikit-learn while emphasizing vector analysis.
Explore the Python geospatial ecosystem, from open source raster and vector libraries to geopandas workflows, using Fiona, Shapely, and GEOS-backed operations to read, write, and analyze spatial data.
Explore how notebooks document geospatial analyses with interactive code cells, enabling step by step documentation, repeatable scientific workflows, and in memory, professional markdown based narratives.
Learn how to install the geospatial data science stack in python across Windows, Mac, and Linux using pip or conda within virtual environments.
Set up a macOS geospatial data science environment by creating a Python 3 virtual environment, upgrading pip, and installing core packages. Launch a Jupyter notebook to verify imports.
Install the geospatial data science stack on Windows using the Anaconda distribution or miniconda, create and activate a virtual environment, then install geopandas and run notebooks.
Learn to read a shapefile into a GeoPandas GeoDataFrame, inspect attributes, plot geospatial data by category, and convert coordinates between latitude-longitude and UTM on the fly.
Learn how to read various file types into GeoPandas, including shapefiles and GeoPackage layers, inspect available layers, read a specific layer, and store results in a dictionary for analysis.
Explore advanced read methods in GeoPandas, using bounding boxes and areas of interest to subset shapefiles, filter by counties, and efficiently read large geospatial data.
Learn how to read non-spatial tabular data and convert latitude/longitude into points, join with geospatial data, and handle common formats like CSV, Excel, and HTML.
Read tabular data from web pages using Python's read_html, handle multiple tables returning data frames, and manage secure connections with an SSL context.
Explore writing spatial and non-spatial data from a GeoDataFrame to formats like shapefile, geopackage, json, and csv, with subset selection and coordinate reference handling.
Explore basic dataframe operations in pandas for geopandas, refer to columns with dot and bracket notation, subset by columns and multiple conditions using & and |, and inspect unique values.
learn to subset geospatial data by coordinate bounding boxes in python, using slice notation to filter latitude and longitude, and create nine maps by dividing the data into thirds.
Explore referencing and slicing data frames with loc, iloc, at, and iat, and distinguish index labels from integer indices for accessing or updating specific cells.
Create and reference series, add new columns, and drop rows in a data frame using pandas. Explain in-place updates and multi-column sorting for organized, reusable geospatial data.
Project data to appropriate coordinate systems to compute accurate areas and lengths in GeoPandas. Explore how projection choice impacts measurements, including areas, perimeters, and related distortions.
Explore constructive methods in geospatial analysis with GeoPandas, including buffering, right-of-way polygon creation, convex hulls, envelopes, centroids, and representative points, with reprojecting to utm.
Learn how to use pandas apply to compute new fields on geospatial data, compare it with looping and lambdas, and build conditional buffers for different species.
Learn how to map one column to another in geospatial data using pandas map and apply methods, handle defaults with a default dictionary, and clean data with replace.
Apply low level intersection functions in geopandas to test buffer overlaps, create the actual intersection geometry, and compute the impacted polygon area in hectares for pipeline 296.
Explore the overlay function in GeoPandas to perform intersections, unions, and differences between two geo data frames, producing a new data frame with combined fields and geometry.
Explore additional spatial functions in GeoPandas, including distance calculations, predicates, and overlay operators. See how to use buffers, ring buffers, within relationships, and overlays for advanced spatial analysis.
Learn to summarize geospatial data with pandas groupby and aggregate methods in GeoPandas, using counts, sums, means, and describe to explore project impacts and nesting.
Explore the pivot_table method in pandas to summarize geospatial data, comparing it with group by, using index, values, margins, and optional multi-level indexing.
Learn to apply a function across multiple columns with extra parameters via a lambda, and compare standard apply to a numpy vectorized method for performance in geospatial data.
Learn to combine data frames from multiple sources using the concat method in pandas. If structures differ, align or rename columns and re-concatenate to create unified geo data frames.
Explore attribute joins in GeoPandas using the pandas merge method to combine data frames on a common key, covering inner, left, and right joins, one-to-many relationships, and lookup tables.
Join attributes across data frames using spatial relationships instead of values, using left, inner, or right joins with predicates like intersects, contains, and within to link geometries.
Explore the dissolve method in geopandas to combine geometries by category, using unary_union under the hood and applying aggregate functions to obtain meaningful statistics.
Explore clipping geometries in GeoPandas by using the intersection operator and clip method to retain nests within Boulder County, compare intersects and within predicates, and manage buffers.
Rename columns in GeoPandas using the columns property or the rename method, applying dictionaries, in-place changes, and optional prefixes or suffixes for clarity.
Explore advanced geometry calculations in GeoPandas, creating latitude and longitude fields from geometry, computing points along lines, handling multiline geometries, and converting coordinates to alternate coordinate reference systems.
Explore how the GeoPandas collect method merges a geo data series into a single multipoint geometry, shown on the Raptor active nest subset, with multiple=true to enforce consistency.
Explore exploratory data analysis with histograms and box plots to assess latitude, longitude, and attribute distributions using Pandas plotting tools and Matplotlib or Seaborn for maps and charts.
Explore how Python packages extend modules by organizing code into directories with __init__.py, manage imports from packages, and discover where Python searches for packages.
Explore third party packages via the Python package index, install and upgrade packages with pip, and manage dependencies and basic virtual environments for multiple projects.
Learn to create Python virtual environments with python -m venv, activate them with source bin/activate, and manage packages via pip within an isolated project space.
Activate a Python virtual environment to see the site-packages path switch to the virtual environment. Configure the project interpreter in the IDE and verify the Python search paths.
Learn how to install Jupiter notebook module, start the notebook server, and work with ipynb notebooks for geospatial data science, using markdown and code cells and latex formulas.
Learn to install and import NumPy, create and manipulate multi-dimensional arrays, apply indexing, slicing, boolean masking, map algebra, and vectorized math for geospatial data analysis.
Master the installation and import of matplotlib in Jupiter notebooks, and create plots, histograms, and pie charts from arrays and simple data, with inline visualization and legends.
Explore pandas essentials: install pandas, create data frames and series, read data from diverse sources, and sort, slice, index, describe statistics, and plot geospatial data with matplotlib.
Learn how GDAL and OGR power reading and writing geospatial data in Python, with Fiona, Shapely, and Rasterio for vector and raster analysis.
Install and use Fiona and Shapely to read, write, and analyze vector geospatial data in Python, converting Fiona rows to Shapely shapes and exploring layer metadata.
Explore GeoPandas, extending pandas with geo series and geo data frames built on Fiona and Shapely. Read from PostGIS, plot with matplotlib, and perform simple spatial analyses and OLS modeling.
Learn how to visualize population with GeoPandas using quintile color maps, legends, and bins, apply categorical fields and boolean indexing, and compute centroids, buffers, and areas.
Learn why the Geospatial Data Science tools are becoming so popular in the Geospatial sector. The combination of Jupyter Notebooks with Python and GeoPanda's allows you to analyze vector data quickly, repeatably, and with full documentation of every step along the way so your entire analysis can be repeated at the touch of a button in a notebook format that can be shared with colleagues.
If you ever get asked to explain your analysis, either for a scientific paper, to defend your results in a court, or simply to share what you've done with others so they can follow your steps than you will be glad that you conducted your analysis in Jupyter notebooks with GeoPanda's rather than in a traditional desktop GIS system.
If you ever get frustrated with limitations in desktop GIS software, some of which is still 32 bit, single core software that uses decades old technology under the hood then you will appreciate the performance that can be achieved with this approach.