https://github.com/aazuspan/sankee

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

https://github.com/aazuspan/sankee

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.9%) to scientific vocabulary

Keywords

earth-engine earth-observation gee interactive lulc sankey time-series visualization
Last synced: 6 months ago · JSON representation

Repository

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

Basic Info
Statistics
  • Stars: 106
  • Watchers: 5
  • Forks: 17
  • Open Issues: 2
  • Releases: 14
Topics
earth-engine earth-observation gee interactive lulc sankey time-series visualization
Created about 5 years ago · Last pushed 8 months ago
Metadata Files
Readme License

README.md

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

bash pip install sankee

Conda

bash 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.

```python import sankee import ee

ee.Initialize()

sankee.datasets.LCMSLC.sankify( years=[1990, 2000, 2010, 2020], region=ee.Geometry.Point([-122.192688, 46.25917]).buffer(2000), maxclasses=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.

```python import sankee import ee

ee.Initialize()

Load a set of classified images

imglist = [ ee.Image("GOOGLE/DYNAMICWORLD/V1/20210616T18591920210616T190431T10TEQ"), ee.Image("GOOGLE/DYNAMICWORLD/V1/20210706T18591920210706T190638_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( imagelist=imglist, 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

Owner

  • Name: Aaron Zuspan
  • Login: aazuspan
  • Kind: user
  • Location: California, United States

Code | Pixels | Coordinates

GitHub Events

Total
  • Create event: 8
  • Release event: 1
  • Issues event: 3
  • Watch event: 8
  • Delete event: 6
  • Issue comment event: 9
  • Push event: 10
  • Pull request review event: 10
  • Pull request review comment event: 8
  • Pull request event: 16
  • Fork event: 1
Last Year
  • Create event: 8
  • Release event: 1
  • Issues event: 3
  • Watch event: 8
  • Delete event: 6
  • Issue comment event: 9
  • Push event: 10
  • Pull request review event: 10
  • Pull request review comment event: 8
  • Pull request event: 16
  • Fork event: 1

Committers

Last synced: 11 months ago

All Time
  • Total Commits: 217
  • Total Committers: 1
  • Avg Commits per committer: 217.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Aaron Zuspan a****n@g****m 217

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 32
  • Total pull requests: 33
  • Average time to close issues: about 2 months
  • Average time to close pull requests: about 4 hours
  • Total issue authors: 5
  • Total pull request authors: 2
  • Average comments per issue: 1.13
  • Average comments per pull request: 0.24
  • Merged pull requests: 33
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 9
  • Average time to close issues: N/A
  • Average time to close pull requests: about 15 hours
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.56
  • Merged pull requests: 9
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • aazuspan (25)
  • giswqs (4)
  • martyclark (1)
  • davemlz (1)
  • Daniel-Trung-Nguyen (1)
Pull Request Authors
  • aazuspan (39)
  • cchowgule (2)
Top Labels
Issue Labels
bug (10) enhancement (9) documentation (3) performance (1)
Pull Request Labels
enhancement (11) bug (11) performance (2) documentation (2)

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 3,352 last-month
  • Total docker downloads: 163
  • Total dependent packages: 3
    (may contain duplicates)
  • Total dependent repositories: 49
    (may contain duplicates)
  • Total versions: 37
  • Total maintainers: 1
pypi.org: sankee

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

  • Versions: 15
  • Dependent Packages: 2
  • Dependent Repositories: 48
  • Downloads: 3,352 Last month
  • Docker Downloads: 163
Rankings
Dependent repos count: 2.1%
Docker downloads count: 2.2%
Dependent packages count: 3.2%
Average: 5.2%
Downloads: 5.9%
Stargazers count: 7.5%
Forks count: 10.2%
Maintainers (1)
Last synced: 7 months ago
proxy.golang.org: github.com/aazuspan/sankee
  • Versions: 15
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.7%
Last synced: 6 months ago
conda-forge.org: sankee
  • Versions: 7
  • Dependent Packages: 1
  • Dependent Repositories: 1
Rankings
Dependent repos count: 24.4%
Dependent packages count: 29.0%
Average: 33.5%
Stargazers count: 35.7%
Forks count: 45.0%
Last synced: 6 months ago

Dependencies

docs/requirements.txt pypi
  • ipython *
  • ipywidgets *
  • nbsphinx *
  • sphinx ==4.0.2
  • sphinx_rtd_theme *
.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • pre-commit/action v3.0.0 composite
pyproject.toml pypi
  • earthengine-api >=0.1.230
  • ipywidgets *
  • numpy *
  • pandas *
  • plotly >=5.2.2