Sentinel-1¶
Overview¶
Sentinel-1 is a C-band synthetic aperture radar (SAR) mission supporting Copernicus land and marine monitoring services. It provides all-weather, day-and-night radar imagery with a spatial resolution ranging from 5m to 40m and a revisit time of 6 to 12 days, depending on the location and acquisition mode.
In GeeFetch, Sentinel-1 data is accessed via the Google Earth Engine collection COPERNICUS/S1_GRD (Ground Range Detected).
Processing¶
- Filtering by date range and area of interest
- Filtering by orbit availability (see configuration options)
- Mosaicking of overlapping acquisitions
- Resampling to target resolution
- Scaling to maximize precision within the requested data type. Pixels outside of the range \((-30, 0)\) saturate. For instance, if the requested datatype is
uint8, the image is scaled by \(x \mapsto (x + 30) \cdot 255/30\).
Available Bands for download¶
| Band | Description | Native resolution | Download by default |
|---|---|---|---|
| VV | Vertical transmit, vertical receive | 10m | yes |
| VH | Vertical transmit, horizontal receive | 10m | yes |
| HH | Horizontal transmit, horizontal receive | 10m | no |
| HV | Horizontal transmit, vertical receive | 10m | no |
Refer to COPERNICUS/S1_GRD for more details.
Configuration Options¶
See common configuration options for non Sentinel-1-specific configuration. Additionnally, you may provide the following options.
Attributes:
| Name | Type | Description |
|---|---|---|
orbit |
S1Orbit
|
Orbit direction to filter Sentinel-1 acquisitions. Can be ASCENDING, DESCENDING, BOTH, or AS_BANDS to download ascending and descending composites as separate bands. Defaults to BOTH. |
Example Usage¶
Command Line¶
Write the following config.yaml
data_dir: ~/satellite_data
satellite_default:
aoi:
spatial:
left: 2.2
bottom: 48.7
right: 2.5
top: 49
epsg: 4326
temporal:
start_date: "2023-06-01"
end_date: "2023-06-30"
gee:
ee_project_id: "your-gee-id"
tile_size: 2000
resolution: 10
s1:
orbit: ASCENDING
then download with
Python API¶
Though this is not geefetch main intended use, you can bypass the configuration and directly download Sentinel-1 data with the geefetch.data.get.download_s1 function.
For instance, the CLI command above is roughly equivalent to
import logging
from pathlib import Path
from geobbox import GeoBoundingBox
from geefetch.data.get import download_s1
from geefetch.utils.enums import S1Orbit
from geefetch.utils.gee import auth
from geefetch.utils.log import setup
setup(level=logging.INFO)
data_dir = Path("geefetch_data/")
data_dir.mkdir(exist_ok=True)
auth("your-gee-id")
download_s1(
data_dir,
bbox=GeoBoundingBox(2.2, 48.7, 2.5, 49),
start_date="2023-06-01",
end_date="2023-06-30",
tile_shape=2000,
orbit=S1Orbit.ASCENDING
)
See the API reference of geefetch.data.get.download_s1 for more details.