Skip to content

Satellite Sources

GeeFetch provides pre-configured access to several satellite data sources from Google Earth Engine. This page documents the available satellite classes and their specific parameters.

Blueprint

Every satellite must conform to the following blueprint.

geefetch.data.satellites.SatelliteABC

Bases: ABC

Abstract base class for a satellite class, describing how to obtain data and various metadata about the satellite.

bands property

List of all satellite bands.

default_selected_bands abstractmethod property

List of default selected satellite bands.

name abstractmethod property

A string id of the satellite. Can be used in file names.

full_name abstractmethod property

A human readable string representation of the satellite.

pixel_range property

The minimum and maximum values that pixels can take.

When converting the image to another type, pixels outside of that value range will saturate. Can be given as a (min, max) tuple (for every band), or as band specific (min, max) tuples.

get(aoi, start_date=None, end_date=None, **kwargs) abstractmethod

Get downloadable data. It is up to the caller to make sure the computation will stay within the compute resource limit, e.g. if Google Earth Engine is used as a backend.

get_time_series(aoi, start_date=None, end_date=None, **kwargs) abstractmethod

Get downloadable data to fetch time series. It is up to the caller to make sure the computation will stay within the compute resource limit, e.g. if Google Earth Engine is used as a backend.

check_selected_bands(bands)

Check that a selection of bands is a subset of the satellite's bands.

Available Satellite Sources

DynWorld

Bases: SatelliteABC

get_col(aoi, start_date=None, end_date=None)

Get Dynamic World cloud free collection.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format.

None

Returns:

Name Type Description
dynworld_col ImageCollection

get_time_series(aoi, start_date=None, end_date=None, dtype=DType.Float32, **kwargs)

Get a downloabable time series of Dynamic World images.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format.

None
dtype DType

The data type for the image

Float32
**kwargs Any

Accepted but ignored additional arguments.

{}

Returns:

Name Type Description
dynworld_im DownloadableGeedimImageCollection

A Dynamic World time series collection of the specified AOI and time range.

get(aoi, start_date=None, end_date=None, composite_method=CompositeMethod.MEDIAN, dtype=DType.Float32, **kwargs)

Get a downloadable mosaic of Dynamic World images.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format.

None
composite_method CompositeMethod
MEDIAN
dtype DType

The data type for the image

Float32
**kwargs Any

Accepted but ignored additional arguments.

{}

Returns:

Name Type Description
dynworld_im DownloadableGeedimImage

A Dynamic World composite image of the specified AOI and time range, with clouds filtered out.

GEDIraster

Bases: SatelliteABC

get_col(aoi, start_date=None, end_date=None)

Get GEDI collection.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format.

None

Returns:

Name Type Description
gedi_col ImageCollection

A GEDI collection of the specified AOI and time range.

get_time_series(aoi, start_date=None, end_date=None, dtype=DType.Float32, **kwargs)

Get GEDI collection.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format.

None
dtype DType

The data type for the image.

Float32
**kwargs Any

Accepted but ignored additional arguments.

{}

Returns:

Name Type Description
gedi_im DownloadableGeedimImageCollection

A GEDI time series collection of the specified AOI and time range.

get(aoi, start_date=None, end_date=None, dtype=DType.Float32, **kwargs)

Get GEDI collection.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format. Percentage of cloud above which the whole image is filtered out.

None
dtype DType

The data type for the image.

Float32
**kwargs Any

Accepted but ignored additional arguments.

{}

Returns:

Name Type Description
gedi_col DownloadableGeedimImage

The GEDI collection of the specified AOI and time range.

GEDIvector

Bases: SatelliteABC

get(aoi, start_date=None, end_date=None, **kwargs)

Get a downloadable collection of GEDI points.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format.

None
**kwargs Any

Accepted but ignored additional arguments.

{}

Returns:

Name Type Description
gedi_cols DownloadableGEECollection

A collection of GEDI points over the specified AOI and time period.

Landsat8

Bases: SatelliteABC

get_col(aoi, start_date=None, end_date=None)

Get Landsat 8 collection.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format.

None

Returns:

Name Type Description
landsat_col ImageCollection

get_time_series(aoi, start_date=None, end_date=None, dtype=DType.UInt16, **kwargs)

Get a downloadable time series of Landsat 8 images.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format.

None
dtype DType

The data type for the image

UInt16
**kwargs Any

Accepted but ignored additional arguments.

{}

Returns:

Name Type Description
landsat_im DownloadableGeedimImageCollection

A Landsat 8 time series collection of the specified AOI and time range.

get(aoi, start_date=None, end_date=None, composite_method=CompositeMethod.MEDIAN, dtype=DType.Float32, **kwargs)

Get a downloadable mosaic of Landsat 8 images.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format.

None
composite_method CompositeMethod
MEDIAN
dtype DType

The data type for the image.

Float32
**kwargs Any

Accepted but ignored additional arguments.

{}

Returns:

Name Type Description
landsat_im DownloadableGeedimImage

A Landsat 8 composite image of the specified AOI and time range.

NASADEM

Bases: SatelliteABC

get_im()

Get NASADEM collection.

Returns:

Name Type Description
dem_im Image

get(aoi, start_date=None, end_date=None, composite_method=CompositeMethod.MEAN, dtype=DType.Float32, **kwargs)

Get a downloadable NASADEM composite image.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

(Unused) Included for compatibility.

None
end_date str | None

(Unused) Included for compatibility.

None
composite_method CompositeMethod

(Unused) NASADEM is a single static dataset.

MEAN
dtype DType

The data type for the image.

Float32
**kwargs Any

Accepted but ignored additional arguments.

{}

Returns:

Name Type Description
dem_im DownloadableGeedimImage

A NASADEM composite image.

Palsar2

Bases: SatelliteABC

get_col(aoi, start_date=None, end_date=None, orbit=P2Orbit.ASCENDING)

Get Palsar 2 collection.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format.

None
orbit P2Orbit

The orbit used to filter the collection before mosaicking.

ASCENDING

Returns:

Name Type Description
palsar2_col ImageCollection

get_time_series(aoi, start_date=None, end_date=None, dtype=DType.Float32, orbit=P2Orbit.DESCENDING, **kwargs)

Get a downloadable time series of Palsar-2 images.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format.

None
dtype DType

The data type for the image

Float32
orbit P2Orbit

The orbit used to filter the collection before mosaicking.

DESCENDING
**kwargs Any

Accepted but ignored additional arguments.

{}

Returns:

Name Type Description
p2_im DownloadableGeedimImageCollection

A Palsar-2 time series collection of the specified AOI and time range.

get(aoi, start_date=None, end_date=None, composite_method=CompositeMethod.MEAN, dtype=DType.Float32, orbit=P2Orbit.DESCENDING, **kwargs)

Get a downloadable mosaic of Palsar-2 images.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format.

None
composite_method CompositeMethod

The method use to do mosaicking.

MEAN
dtype DType

The data type for the image

Float32
orbit P2Orbit

The orbit used to filter the collection before mosaicking

DESCENDING
**kwargs Any

Accepted but ignored additional arguments.

{}

Returns:

Name Type Description
p2_im DownloadableGeedimImage

A Palsar-2 composite image of the specified AOI and time range.

S1

Bases: SatelliteABC

get_col(aoi, start_date=None, end_date=None, orbit=S1Orbit.ASCENDING, selected_bands=None)

Get Sentinel-1 collection.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format.

None
orbit S1Orbit

The orbit used to filter the collection.

ASCENDING
selected_bands list[str] | None

The bands to be downloaded.

None

Returns:

Name Type Description
s1_col ImageCollection

A Sentinel-1 collection of the specified AOI and time range.

get_time_series(aoi, start_date=None, end_date=None, dtype=DType.Float32, orbit=S1Orbit.ASCENDING, selected_bands=None, **kwargs)

Get a downloadable time series of Sentinel-1 images.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format.

None
dtype DType

The data type for the image

Float32
orbit S1Orbit

The orbit used to filter the collection before mosaicking

ASCENDING
selected_bands list[str] | None

The bands to be downloaded.

None
**kwargs Any

Accepted but ignored additional arguments.

{}

Returns:

Name Type Description
s1_im DownloadableGeedimImageCollection

A Sentinel-1 time series collection of the specified AOI and time range.

get(aoi, start_date=None, end_date=None, composite_method=CompositeMethod.MEAN, dtype=DType.Float32, orbit=S1Orbit.ASCENDING, selected_bands=None, **kwargs)

Get a downloadable mosaic of Sentinel-1 images.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format.

None
composite_method CompositeMethod

The method use to do mosaicking.

MEAN
dtype DType

The data type for the image

Float32
orbit S1Orbit

The orbit used to filter the collection before mosaicking

ASCENDING
selected_bands list[str] | None

The bands to be downloaded.

None
**kwargs Any

Accepted but ignored additional arguments.

{}

Returns:

Name Type Description
s1_im DownloadableGeedimImage

A Sentinel-1 composite image of the specified AOI and time range.

S2

Bases: SatelliteABC

get_col(aoi, start_date=None, end_date=None, cloudless_portion=60, cloud_prb_thresh=30)

Get Sentinel-2 cloud free collection.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format.

None
cloudless_portion int

Threshold for the portion of filled pixels that must be cloud/shadow free (%). Images that do not fullfill the requirement are filtered out. Defaults to 60.

60
cloud_prb_thresh int

Threshold for cloud probability above which a pixel is filtered out (%). Defaults to 30.

30

Returns:

Name Type Description
s2_cloudless ImageCollection

get_time_series(aoi, start_date=None, end_date=None, dtype=DType.Float32, cloudless_portion=60, cloud_prb_thresh=40, **kwargs)

Get a downloadable time series of Sentinel-2 images.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format.

None
dtype DType

The data type for the image.

Float32
cloudless_portion int

Threshold for the portion of filled pixels that must be cloud/shadow free (%). Images that do not fullfill the requirement are filtered out.

60
cloud_prb_thresh int

Threshold for cloud probability above which a pixel is filtered out (%).

40
**kwargs Any

Accepted but ignored additional arguments.

{}

Returns:

Name Type Description
s2_im DownloadableGeedimImageCollection

A Sentinel-2 time series collection of the specified AOI and time range.

get(aoi, start_date=None, end_date=None, composite_method=CompositeMethod.MEDIAN, dtype=DType.Float32, cloudless_portion=60, cloud_prb_thresh=40, **kwargs)

Get a downloadable mosaic of Sentinel-2 images.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format.

None
composite_method CompositeMethod
MEDIAN
dtype DType

The data type for the image.

Float32
cloudless_portion int

Threshold for the portion of filled pixels that must be cloud/shadow free (%). Images that do not fullfill the requirement are filtered out.

60
cloud_prb_thresh int

Threshold for cloud probability above which a pixel is filtered out (%).

40
**kwargs Any

Accepted but ignored additional arguments.

{}

Returns:

Name Type Description
s2_im DownloadableGeedimImage

A Sentinel-2 composite image of the specified AOI and time range, with clouds filtered out.

Custom Satellite

For data sources that are not built-in into geefetch, we have the following more generic implementation - albeit without fine tuned preprocessing - to download from any Google Earth Engine ImageCollection

geefetch.data.satellites.CustomSatellite

Bases: SatelliteABC

Satellite class to download from any Google Earth Engine Image Collection.

Parameters:

Name Type Description Default
url str

Google Earth Engine image collection id

required
pixel_range tuple[float, float] | dict[str, tuple[float, float]]

The range of pixels in all bands. Defaults to (0, 1).

(0, 1)
name str | None

The name for the custom satellite. If None, one is crafted from url. Defaults to None.

None
get_im(aoi)

Get collection.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required

Returns:

Name Type Description
col ImageCollection
get_col(aoi, start_date=None, end_date=None)

Get collection.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format.

None

Returns:

Name Type Description
col ImageCollection
get(aoi, start_date=None, end_date=None, composite_method=CompositeMethod.MEDIAN, dtype=DType.Float32, **kwargs)

Get an image from a custom dataset.

Parameters:

Name Type Description Default
aoi GeoBoundingBox

Area of interest.

required
start_date str | None

Start date in "YYYY-MM-DD" format.

None
end_date str | None

End date in "YYYY-MM-DD" format.

None
composite_method CompositeMethod

The method use to do mosaicking.

MEDIAN
dtype DType

The data type for the image

Float32
**kwargs Any

Accepted but ignored additional arguments.

{}

Returns:

Name Type Description
im DownloadableGeedimImage