All Tutorial Notebooks

An example showing how to pass every pixel of an image through a user defined method
A notebook that shows how to histogram match RDA imagery that is native to GBDX Notebooks to DigitalGlobe's Maps API using rio_hist. This method will help provide consistent color balanced imagery that is aesthetically pleasing for viewing.
Learn how to find satellite imagery and pull it in to the GBDX system for display in a notebook.
In the previous Notebook, we demonstrated two different strategies for scaling our coastline extraction algorithm to run over a full image strip. The result was a Python function that we can point at any (coastal) image and efficiently delineate the coastlines, either in downsampled resolution or full resolution. The execution of that function was conducted within our Notebook, which is convenient for hands-on development and testing, but not necessarily ideal for production-level analysis. For example, what if we wanted to run the analysis over multiple strips at the same time? Or set up a recurring job that runs on every new strip that comes in over a given area? Handling production of coastline features from the Notebook in these cases would be relatively cumbersome. At this point in the development process, it's important to consider moving our algorithm from the Notebook environment to the GBDX Platform by deploying it as a GBDX Task. A GBDX Task is simply a stored version of an algorithm (or tool, or methodology, or really any operation) that we can execute on the GBDX Platform. The code itself isn't run locally; instead, it runs as part of a Workflow in the cloud. This means we can execute the same Task against multiple images all at the same time: each will be kicked off as a separate, parallel workflow, without being constrained to the computational limits of a single machine (or GBDX Notebook Kernel). In this Notebook, we provide a walkthrough of how to deploy our coastline extraction algorithm as a GBDX Task, using some helpful tools built right into the GBDX Notebooks interface. We also do a quick test of our new task and review the results to make sure it works.
An introduction to various image classes supported by gbdxtools
In this Notebook, we will extend the simple methodology for extracting coastlines that we built in the previous tutorial. Our goal in this Notebook is to be able to run the same methodology over a much bigger geographic area. Specifically, we are going to show two different approaches to running the algorithm over an entire image rather than just one small part of that image, like we used last time.
In this Notebook, we walk through a simple methodology for extracting coastlines from 8-band multispectral imagery. This tutorial demonstrates how to link together several concepts from remote sensing, image science, and GIS to produce a complete geospatial analysis. The steps in the workflow include: (1) calculating a Normalized Difference Water Index; (2) thresholding the water index into a binary image; (3) cleaning up small features; and (4) converting the land/water boundaries into vector polylines representing coastlines. This tutorial is the first in a series that will demonstrate how to progress from prototyping an algorithm in GBDX Notebooks to deploying and running that algorithm at production scale over large geographic regions.
This notebook is the third in a series of beginner tutorial to introduce news users to Jupyter Notebooks, working with satellite imagery and performing basic analytics. Specifically this notebook introduces the concepts of multispectral bands found in satellite imagery and how they can be used for analytics using "band math".
An example of comparing changes in imagery over time in Dubai. This notebook explores ways to collect several images, compute water indices from each, extract vector features, and compare changes to land area over time.
Using SWIR data to explore and extract the location of active fires in Southern California.
This notebook leverages a Single Shot Detector (SSD) model to detect buildings in Las Vegas, NV.
In the previous Notebook, we walked through how to deploy our coastline extraction algorithm as a GBDX Task, enabling us to run it on the GBDX platform instead of inside of our Notebook. In this final Notebook, we are going to use the GBDX Task we created to run coastline extraction over multiple images, in parallel, using GBDX Workflows. Using this approach, we'll be able to extract a highly detailed coastline for the entire island of Kauai, in less than 10 minutes.
This Notebook demonstrates a simple workflow for identifying standing water in an image, extracting and rasterizing roads vectors from OpenStreetMap, and assessing the extent of road flooding.
This notebook is a detailed introduction to ways to access DG imagery via the gbdxtools python package.
This notebooks shows how to work with various types of AOIs for indexing and cropping imagery via gbdxtools.
Animating imagery over time from a list of CatalogIDs
In this tutorial we'll cover how to find SWIR imagery and use it for creating a Normalized Difference Built-Up Index for analysis of Central Park in Manhattan. This work includes discussion of the difference between VNIR and SWIR data as well as using downsampling techniques to enable the use of band math on imagery products with different resolutions.
Rechunking PDAP images for input into Tensorflow
This notebook provides a basic introduction to using Dask with satellite imagery. It covers a brief overview of Dask arrays, chunks and map_blocks to scale out an NDVI analysis for a entire strip of imagery over Sydney, Australia.
Exploring training data (Embassies) based on OSM geometries in VectorServices and Imagery in PDAP via RADD
Exploring ways to leverage DigitalGlobe imagery and OSM data for training ML models
Yo images, whats up!