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.

convert_dtype(im, dtype)

Convert the image to the specified data type, applying the pixel range.

Parameters:

Name Type Description Default
im Image

The image to convert.

required
dtype DType

The target data type.

required

Returns:

Type Description
Image

The converted (and optionally resampled) image.

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, resampling=ResamplingMethod.BILINEAR, resolution=10, **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
resampling ResamplingMethod

The resampling method to use when processing the image.

BILINEAR
resolution float

The resolution for the image.

10
**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, resampling=ResamplingMethod.BILINEAR, resolution=10, **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

The method to use for compositing.

MEDIAN
dtype DType

The data type for the image

Float32
resampling ResamplingMethod

The resampling method to use when processing the image.

BILINEAR
resolution float

The resolution for the image.

10
**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.

GEDIL2Araster

Bases: SatelliteABC

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

Get GEDI L2A image 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 L2A time series 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 L2A Image.

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_col DownloadableGeedimImage

The GEDI collection of the specified AOI and time range.

GEDIL2Avector

Bases: SatelliteABC

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

Get a downloadable collection of GEDI L2A vector 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.

GEDIL2Bvector

Bases: SatelliteABC

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

Get a downloadable collection of GEDI L2B vector 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_l2b_cols DownloadableGEECollection

A collection of GEDI L2B 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, resampling=ResamplingMethod.BILINEAR, resolution=30, **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
resampling ResamplingMethod

The resampling method to use when processing the image.

BILINEAR
resolution float

The resolution for the image.

30
**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, resampling=ResamplingMethod.BILINEAR, resolution=30, **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

The method to use for compositing the images.

MEDIAN
dtype DType

The data type for the image

Float32
resampling ResamplingMethod

The resampling method to use when processing the image.

BILINEAR
resolution float

The resolution for the image.

30
**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, resampling=ResamplingMethod.BILINEAR, resolution=30, **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
resampling ResamplingMethod

The resampling method to use when processing the image.

BILINEAR
resolution float

The resolution for the image.

30
**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, selected_bands=None)

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
selected_bands list[str] | None

The bands to be downloaded.

None

Returns:

Name Type Description
palsar2_col ImageCollection

get_time_series(aoi, start_date=None, end_date=None, dtype=DType.Float32, resampling=ResamplingMethod.BILINEAR, orbit=P2Orbit.DESCENDING, resolution=25, refined_lee=True, selected_bands=None, **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
resampling ResamplingMethod

The resampling method to use when processing the image.

BILINEAR
orbit P2Orbit

The orbit used to filter the collection before mosaicking.

DESCENDING
resolution float

The resolution for the image.

25
refined_lee bool

Whether to apply the Refined Lee filter to reduce speckle noise.

True
selected_bands list[str] | None

The bands to be downloaded.

None
**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, resampling=ResamplingMethod.BILINEAR, orbit=P2Orbit.DESCENDING, resolution=25, refined_lee=True, selected_bands=None, **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
resampling ResamplingMethod

The resampling method to use when processing the image.

BILINEAR
orbit P2Orbit

The orbit used to filter the collection before mosaicking

DESCENDING
resolution float

The resolution for the image.

25
refined_lee bool

Whether to apply the Refined Lee filter to reduce speckle noise.

True
selected_bands list[str] | None

The bands to be downloaded.

None
**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, resampling=ResamplingMethod.BILINEAR, resolution=10, speckle_filter_config=None, terrain_normalization_config=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
resampling ResamplingMethod

The resampling method to use when compositing images.

BILINEAR
resolution float

The resolution for the image.

10
speckle_filter_config SpeckleFilterConfig | None
None
terrain_normalization_config TerrainNormalizationConfig | None
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, resampling=ResamplingMethod.BILINEAR, resolution=10, speckle_filter_config=None, terrain_normalization_config=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
resampling ResamplingMethod

The resampling method to use when compositing images.

BILINEAR
resolution float

The resolution for the image.

10
speckle_filter_config SpeckleFilterConfig | None
None
terrain_normalization_config TerrainNormalizationConfig | None
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, resampling=ResamplingMethod.BILINEAR, cloudless_portion=60, cloud_prb_thresh=40, resolution=10, **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
resampling ResamplingMethod

The resampling method to use when processing the image.

BILINEAR
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
resolution float

The resolution for the image.

10
**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, resampling=ResamplingMethod.BILINEAR, cloudless_portion=60, cloud_prb_thresh=40, resolution=10, **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

The method to use for compositing.

MEDIAN
dtype DType

The data type for the image.

Float32
resampling ResamplingMethod

The resampling method to use when processing the image.

BILINEAR
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
resolution float

The resolution for the image.

10
**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, resampling=ResamplingMethod.BILINEAR, resolution=30, **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
resampling ResamplingMethod

The resampling method to use when processing the image.

BILINEAR
resolution float

The resolution for the image.

30
**kwargs Any

Accepted but ignored additional arguments.

{}

Returns:

Name Type Description
im DownloadableGeedimImage