All Projects → GeoscienceAustralia → dea-coastlines

GeoscienceAustralia / dea-coastlines

Licence: Apache-2.0 License
Extracting tidally-constrained annual shorelines and robust rates of coastal change from freely available Earth observation data at continental scale

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language
QML
638 projects
shell
77523 projects

Projects that are alternatives of or similar to dea-coastlines

Geospatial Machine Learning
A curated list of resources focused on Machine Learning in Geospatial Data Science.
Stars: ✭ 289 (+1104.17%)
Mutual labels:  geospatial, remote-sensing, satellite-imagery
sits
Satellite image time series in R
Stars: ✭ 342 (+1325%)
Mutual labels:  geospatial, remote-sensing, satellite-imagery
eodag
Earth Observation Data Access Gateway
Stars: ✭ 183 (+662.5%)
Mutual labels:  geospatial, remote-sensing, satellite-imagery
eemont
A python package that extends Google Earth Engine.
Stars: ✭ 290 (+1108.33%)
Mutual labels:  remote-sensing, satellite-imagery
pylandtemp
Algorithms for computing global land surface temperature and emissivity from NASA's Landsat satellite images with Python.
Stars: ✭ 110 (+358.33%)
Mutual labels:  geospatial, remote-sensing
GoogleEarthEngine-side-projects
Google Earth Engine side projects and tutorial scripts
Stars: ✭ 23 (-4.17%)
Mutual labels:  remote-sensing, satellite-imagery
xarray-sentinel
Xarray backend to Copernicus Sentinel-1 satellite data products
Stars: ✭ 189 (+687.5%)
Mutual labels:  remote-sensing, satellite-imagery
Start maja
To process a Sentinel-2 time series with MAJA cloud detection and atmospheric correction processor
Stars: ✭ 47 (+95.83%)
Mutual labels:  remote-sensing, satellite-imagery
lightweight-temporal-attention-pytorch
A PyTorch implementation of the Light Temporal Attention Encoder (L-TAE) for satellite image time series. classification
Stars: ✭ 43 (+79.17%)
Mutual labels:  remote-sensing, satellite-imagery
georaster-layer-for-leaflet
Display GeoTIFFs and soon other types of raster on your Leaflet Map
Stars: ✭ 168 (+600%)
Mutual labels:  geospatial, satellite-imagery
awesome-spectral-indices
A ready-to-use curated list of Spectral Indices for Remote Sensing applications.
Stars: ✭ 357 (+1387.5%)
Mutual labels:  remote-sensing, satellite-imagery
earthengine-py-examples
A collection of 300+ examples for using Earth Engine and the geemap Python package
Stars: ✭ 76 (+216.67%)
Mutual labels:  geospatial, remote-sensing
aruco-geobits
geobits: ArUco Ground Control Point Targets and Detection for Aerial Imagery (UAV/MAV).
Stars: ✭ 32 (+33.33%)
Mutual labels:  geospatial, remote-sensing
spyndex
Awesome Spectral Indices in Python.
Stars: ✭ 56 (+133.33%)
Mutual labels:  remote-sensing, satellite-imagery
sentinel-util
A CLI for downloading, processing, and making a mosaic from Sentinel-1, -2 and -3 data
Stars: ✭ 22 (-8.33%)
Mutual labels:  remote-sensing, satellite-imagery
Python-for-Remote-Sensing
python codes for remote sensing applications will be uploaded here. I will try to teach everything I learn during my projects in here.
Stars: ✭ 20 (-16.67%)
Mutual labels:  remote-sensing, satellite-imagery
whiteboxgui
An interactive GUI for WhiteboxTools in a Jupyter-based environment
Stars: ✭ 94 (+291.67%)
Mutual labels:  geospatial, remote-sensing
gsky
Distributed Scalable Geospatial Data Server
Stars: ✭ 23 (-4.17%)
Mutual labels:  geospatial, remote-sensing
localtileserver
🌐 dynamic tile server for visualizing rasters in Jupyter with ipyleaflet or folium
Stars: ✭ 190 (+691.67%)
Mutual labels:  geospatial, satellite-imagery
deck.gl-raster
deck.gl layers and WebGL modules for client-side satellite imagery analysis
Stars: ✭ 60 (+150%)
Mutual labels:  remote-sensing, satellite-imagery

Note: This branch contains the Australia-specific implementation of DEA Coastlines. For a more flexible implementation adapted to USGS Collection 2 Level 2 Landsat data, we recommend using the DE Africa Coastlines branch instead.

Digital Earth Australia Coastlines

Digital Earth Australia Coastlines

DOI License

Access: Explore DEA Coastlines on the interactive Digital Earth Australia Maps platform

License: The code in this repository is licensed under the Apache License, Version 2.0. Digital Earth Australia data is licensed under the Creative Commons by Attribution 4.0 license.

Product description and metadata: For the most up-to-date information about this product, visit the official Geoscience Australia DEA Coastlines product description

Contact: For assistance with any of the Python code or Jupyter Notebooks in this repository, please post a Github issue. For questions or more information about this product, email [email protected] or sign up to the Open Data Cube Slack and post on the #dea-coastlines channel.

To cite:

Bishop-Taylor, R., Nanson, R., Sagar, S., Lymburner, L. (2021). Mapping Australia's dynamic coastline at mean sea level using three decades of Landsat imagery. Remote Sensing of Environment, 267, 112734. Available: https://doi.org/10.1016/j.rse.2021.112734

Nanson, R., Bishop-Taylor, R., Sagar, S., Lymburner, L., (2022). Geomorphic insights into Australia's coastal change using a national dataset derived from the multi-decadal Landsat archive. Estuarine, Coastal and Shelf Science, 265, p.107712. Available: https://doi.org/10.1016/j.ecss.2021.107712

Bishop-Taylor, R., Sagar, S., Lymburner, L., Alam, I., Sixsmith, J. (2019). Sub-pixel waterline extraction: characterising accuracy and sensitivity to indices and spectra. Remote Sensing, 11 (24):2984. Available: https://doi.org/10.3390/rs11242984


Digital Earth Australia Coastlines is a continental dataset that includes annual shorelines and rates of coastal change along the entire Australian coastline from 1988 to the present.

The product combines satellite data from Geoscience Australia's Digital Earth Australia program with tidal modelling to map the typical location of the coastline at mean sea level for each year. The product enables trends of coastal erosion and growth to be examined annually at both a local and continental scale, and for patterns of coastal change to be mapped historically and updated regularly as data continues to be acquired. This allows current rates of coastal change to be compared with that observed in previous years or decades.

The ability to map shoreline positions for each year provides valuable insights into whether changes to our coastline are the result of particular events or actions, or a process of more gradual change over time. This information can enable scientists, managers and policy makers to assess impacts from the range of drivers impacting our coastlines and potentially assist planning and forecasting for future scenarios.

Applications

  • Monitoring and mapping rates of coastal erosion along the Australian coastline
  • Prioritise and evaluate the impacts of local and regional coastal management based on historical coastline change
  • Modelling how coastlines respond to drivers of change, including extreme weather events, sea level rise or human development
  • Supporting geomorphological studies of how and why coastlines have changed across time

Table of contents


Repository code

The code in this repository is built on the Digital Earth Australia implementation of the Open Data Cube software for accessing, managing, and analyzing large quantities of Earth observation (EO) data. The code currently runs on the Digital Earth Australia Sandbox infrastructure.

Python modules

Code in this repository is included in the dea_coastlines Python package which contains three main modules. These are intended to be run in the following order:

  1. dea_coastlines.raster: This module conducts raster generation for DEA Coastlines. This analysis is processed on individual study area tiles to minimise peak memory usage.

    • Load stack of all available Landsat 5, 7 and 8 satellite imagery for a location using ODC Virtual Products
    • Convert each satellite image into a remote sensing water index (e.g. MNDWI)
    • For each satellite image, model ocean tides into a 2 x 2 km grid based on exact time of image acquisition
    • Interpolate tide heights into spatial extent of image stack
    • Mask out high and low tide pixels by removing all observations acquired outside of 50 percent of the observed tidal range centered over mean sea level
    • Combine tidally-masked data into annual median composites from 1988 to the present representing the shoreline at approximately mean sea level
  2. dea_coastlines.vector: This module conducts vector subpixel coastline extraction and rates of change statistics calculation. This analysis is processed on individual study area tiles to minimise peak memory usage.

    • Apply morphological extraction algorithms to mask annual median composite rasters to a valid coastal region
    • Extract shoreline vectors using subpixel waterline extraction (Bishop-Taylor et al. 2019b)
    • Compute rates of coastal change at every 30 m along Australia's non-rocky coastline using linear regression
  3. dea_coastlines.continental: This module combines tiled layers into seamless continental-scale vector files:

    • Combines multiple output shoreline and rates of change statistics point vectors into single continental datasets
    • Aggregates this data to produce a moving window coastal change hotspot dataset that summarises coastal change at regional and continental scale.

Command-line interface

These three modules have a command-line interface that can be used to automate each stage of the analysis. An example of these tools is provided in the following Jupyter Notebook:

For help using these command line tools, run:

python -m dea_coastlines.raster --help
python -m dea_coastlines.vector --help
python -m dea_coastlines.continental --help

Jupyter notebooks

An interactive walk-through of each step of the tiled raster and vector DEA Coastlines workflow is provided in the following Jupyter Notebooks. These notebooks can be used to assist in prototyping or troubleshooting:


DEA Coastlines dataset

For the most up-to-date product metadata, visit the official Geoscience Australia DEA Coastlines product description

Data access

Data download

To download DEA Coastlines data for the entire Australian coastline, visit the "Access" tab of the Geoscience Australia DEA Coastlines product description and follow the instructions under "Access notes". Data is available in two formats:

  • GeoPackage (recommended): suitable for QGIS; includes built-in symbology for easier interpretation
  • ESRI Shapefiles: suitable for ArcMap and QGIS

Interactive map

To explore DEA Coastlines on an interactive map, visit the Digital Earth Australia Maps platform.

Zooming to annual rates of change and plotting chart in DEA Maps

Loading DEA Coastlines data from the Web Feature Service (WFS) using Python

DEA Coastlines data can be loaded directly in a Python script or Jupyter Notebook using the DEA Coastlines Web Feature Service (WFS) and geopandas:

import geopandas as gpd

# Specify bounding box
ymax, xmin = -33.65, 115.28
ymin, xmax = -33.66, 115.30

# Set up WFS requests for annual coastlines & rates of change statistics
deacl_coastlines_wfs = f'https://geoserver.dea.ga.gov.au/geoserver/wfs?' \
                       f'service=WFS&version=1.1.0&request=GetFeature' \
                       f'&typeName=dea:coastlines&maxFeatures=1000' \
                       f'&bbox={ymin},{xmin},{ymax},{xmax},' \
                       f'urn:ogc:def:crs:EPSG:4326'
deacl_statistics_wfs = f'https://geoserver.dea.ga.gov.au/geoserver/wfs?' \
                       f'service=WFS&version=1.1.0&request=GetFeature' \
                       f'&typeName=dea:coastlines_statistics&maxFeatures=1000' \
                       f'&bbox={ymin},{xmin},{ymax},{xmax},' \
                       f'urn:ogc:def:crs:EPSG:4326'

# Load DEA Coastlines data from WFS using geopandas
deacl_coastlines_gdf = gpd.read_file(deacl_coastlines_wfs)
deacl_statistics_gdf = gpd.read_file(deacl_statistics_wfs)

# Ensure CRSs are set correctly
deacl_coastlines_gdf.crs = 'EPSG:3577'
deacl_statistics_gdf.crs = 'EPSG:3577'

Loading DEA Coastlines data from the Web Feature Service (WFS) using R

DEA Coastlines data can be loaded directly into R using the DEA Coastlines Web Feature Service (WFS) and sf:

library(magrittr)
library(glue)
library(sf)

# Specify bounding box
xmin = 115.28
xmax = 115.30
ymin = -33.66
ymax = -33.65

# Read in DEA Coastlines annual coastline data, using `glue` to insert our bounding
# box into the string, and `sf` to  load the spatial data from the Web Feature
# Service and set the Coordinate Reference System to Australian Albers (EPSG:3577)
deacl_coastlines = "https://geoserver.dea.ga.gov.au/geoserver/wfs?service=WFS&version=1.1.0&request=GetFeature&typeName=dea:coastlines&maxFeatures=1000&bbox={ymin},{xmin},{ymax},{xmax},urn:ogc:def:crs:EPSG:4326" %>% 
  glue::glue() %>%
  sf::read_sf() %>% 
  sf::st_set_crs(3577)

# Read in DEA Coastlines rates of change statistics data
deacl_statistics = "https://geoserver.dea.ga.gov.au/geoserver/wfs?service=WFS&version=1.1.0&request=GetFeature&typeName=dea:coastlines_statistics&maxFeatures=1000&bbox={ymin},{xmin},{ymax},{xmax},urn:ogc:def:crs:EPSG:4326" %>% 
  glue::glue() %>%
  sf::read_sf() %>% 
  sf::st_set_crs(3577)

Jupyter Notebook

An Introduction to DEA Coastlines Jupyter notebook providing additional useful tools for loading and analysing DEA Coastlines data can be found on the DEA Notebooks repository. This notebook is available on the interactive DEA Sandbox learning and analysis environment for easy access via a web browser.


References

Bishop-Taylor, R., Nanson, R., Sagar, S., Lymburner, L. (2021). Mapping Australia's dynamic coastline at mean sea level using three decades of Landsat imagery. Remote Sensing of Environment, 267, 112734. Available: https://doi.org/10.1016/j.rse.2021.112734

Bishop-Taylor, R., Sagar, S., Lymburner, L., & Beaman, R. J. (2019a). Between the tides: Modelling the elevation of Australia's exposed intertidal zone at continental scale. Estuarine, Coastal and Shelf Science, 223, 115-128. Available: https://doi.org/10.1016/j.ecss.2019.03.006

Bishop-Taylor, R., Sagar, S., Lymburner, L., Alam, I., & Sixsmith, J. (2019b). Sub-pixel waterline extraction: Characterising accuracy and sensitivity to indices and spectra. Remote Sensing, 11(24), 2984. Available: https://doi.org/10.3390/rs11242984

Sagar, S., Roberts, D., Bala, B., & Lymburner, L. (2017). Extracting the intertidal extent and topography of the Australian coastline from a 28 year time series of Landsat observations. Remote Sensing of Environment, 195, 153-169. Available: https://doi.org/10.1016/j.rse.2017.04.009

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].