Skip to main content

Visualize classified time series data with interactive Sankey plots in Google Earth Engine.

Project description

sankee

Earth Engine Python Binder conda-forge link conda-forge link Testing workflow codecov Read the Docs Downloads

Visualize changes in classified time series data with interactive Sankey plots in Google Earth Engine

Sankee example showing grassland expansion in the Nile Delta

Description

Use Earth Engine to visualize changes in land cover, plant health, burn severity, or any other time series of classified imagery with interactive Sankey plots. Use a library of built-in datasets for convenience or define your own custom datasets for flexibility.

Installation

Pip

pip install sankee

Conda

conda install -c conda-forge sankee

Quickstart

Premade Datasets

Visualize annual changes in land cover using popular LULC datasets with a couple lines of code. Just choose a dataset, an area of interest, and a list of years to generate a Sankey diagram from a premade dataset. Below, we can look at 30 years of vegetation recovery in the area devastated by the Mt. St. Helens eruption.

import sankee
import ee

ee.Initialize()

sankee.datasets.LCMS_LC.sankify(
  years=[1990, 2000, 2010, 2020],
  region=ee.Geometry.Point([-122.192688, 46.25917]).buffer(2000),
  max_classes=3,
  title="Mt. St. Helens Recovery"
)

Proportions of land cover over 4 periods increase from barren to grass and tree cover in a Sankey diagram

Check out the example notebook for an interactive demo.

Custom Datasets

Any classified images can be used by defining the dataset parameters (which pixel values correspond to which labels and colors). For example, we can look at classified Dynamic World scenes just two weeks apart that show substantial snow loss on Mountain Jefferson during the 2021 Heat Dome in the Pacific Northwest.

import sankee
import ee

ee.Initialize()

# Load a set of classified images
img_list = [
    ee.Image("GOOGLE/DYNAMICWORLD/V1/20210616T185919_20210616T190431_T10TEQ"),
    ee.Image("GOOGLE/DYNAMICWORLD/V1/20210706T185919_20210706T190638_T10TEQ")
]

# Which band contains the classified data?
band = "label"

# What labels correspond to which pixel values?
labels = {
    0: "Water", 1: "Trees", 2: "Grass", 3: "Flooded", 4: "Crops",
    5: "Shrub / Scrub", 6: "Build", 7: "Bare", 8: "Snow / Ice",
}

# What colors should be applied to which pixel values?
palette = {
    0: "#419BDF", 1: "#397D49", 2: "#88B053", 3: "#7A87C6", 4: "#E49635",
    5: "#DFC35A", 6: "#C4281B", 7: "#A59B8F", 8: "#B39FE1"
}

plot = sankee.sankify(
    image_list=img_list, 
    band=band, 
    labels=labels,
    palette=palette,
    region=ee.Geometry.Point([-121.80183, 44.67655]).buffer(3000), 
    max_classes=3,
    title="Mt. Jefferson Snow Loss - June 2021"
)

Integration with geemap

sankee premade datasets are usable through the geemap interactive GUI. Check out the documentation and video tutorials by @giswqs.

Contributing

If you find bugs or have feature requests, please open an issue!


Top

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sankee-0.2.5.tar.gz (16.4 kB view details)

Uploaded Source

Built Distribution

sankee-0.2.5-py3-none-any.whl (18.9 kB view details)

Uploaded Python 3

File details

Details for the file sankee-0.2.5.tar.gz.

File metadata

  • Download URL: sankee-0.2.5.tar.gz
  • Upload date:
  • Size: 16.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.26.0

File hashes

Hashes for sankee-0.2.5.tar.gz
Algorithm Hash digest
SHA256 a65b82f9a6ed75c8e6409387a762d12e02e642325d1d77f6f52c82782b71b511
MD5 b5488994309b4efd8bea1d8f335edb2b
BLAKE2b-256 4b26d905378e7b554aa19276d3ee1af462498a3de661d513b0b15bfb14a57673

See more details on using hashes here.

File details

Details for the file sankee-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: sankee-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 18.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.26.0

File hashes

Hashes for sankee-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6b880ba88d9dea4cb1dc51b5b6d132a788f8a5141fbddde87c529cb15955b756
MD5 feb865d2e1cc21d7d9da9c0dbc6f957f
BLAKE2b-256 f0757bf32bb7b7482d57e783f688b47f3b21683fa85c96298bd96de8b3689d99

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page