Skip to main content

Check satellite imagery availability over any AOI by cloud cover — and find the data gaps

Project description

Clouds-Everywhere

Find out when cloud-free satellite imagery is available over your study area — and where the data gaps are.

You give it an area, a date range, and a cloud limit. It answers in plain language: which days, weeks, or months have usable imagery, and which tiles are missing.

Install

pip install clouds-everywhere

Or from source:

git clone https://github.com/mohammadanwarx/Clouds-Everywhere.git
cd Clouds-Everywhere
pip install -e .

Quick start

from clouds_everywhere import query

report = query(
    aoi        = "my_area.geojson",   # bbox, polygon, GeoJSON, or shapefile
    start_date = "2024-01-01",
    end_date   = "2024-02-29",
    max_cloud  = 20,                  # max cloud cover in %
    group_by   = "week",              # "day" | "week" | "month"
    satellites = ["sentinel2", "landsat"],
)

print(report)
  Sentinel-2  -  needs 9 tiles to fully cover your area
    [OK]  8-14 Jan 2024      All tiles have usable imagery  (15 images across 9 tiles)
    [GAP] 15-21 Jan 2024     Data gap - some tiles missing  (3/9 tiles; missing: 30SVJ, ...)
    [--]  5-11 Feb 2024      No usable imagery

    Summary: 3 fully-covered weeks, 5 with gaps, 1 empty  (of 9 weeks)

Each period gets one of three statuses:

Status Meaning
available every tile has at least one usable image
gap some tiles have imagery, but at least one is missing
missing no usable imagery at all

Usable means cloud cover is at or below your threshold.

Your area, any format

The AOI can be any of these — the CRS is handled for you (everything is reprojected to WGS84 automatically):

  • a bbox: [minX, minY, maxX, maxY]
  • polygon coordinates: [[lon, lat], ...]
  • a GeoJSON dict (Feature, FeatureCollection, or geometry)
  • a file: .geojson, .json, .shp, or .zip (zipped shapefile)

Tables and plots

report.to_dataframe()        # one row per period per satellite
report.tile_dataframe()      # one row per tile per period
report.available_periods()   # fully covered periods
report.gap_periods()         # periods with holes

from clouds_everywhere.viz import plot_availability_calendar
plot_availability_calendar(report)   # green / amber / red calendar

Lower-level functions

  • search_images(...) — flat list of matching scenes
  • check_coverage(...) — tile coverage per date
  • viz.plot_coverage_heatmap, plot_cloud_timeline, plot_satellite_comparison

Demos

Tests

pytest

Fast and offline — all API calls are mocked.

Data sources

Sentinel-2 and Landsat from the Element84 Earth Search STAC API. MODIS from NASA CMR STAC.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clouds_everywhere-0.1.0.tar.gz (22.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clouds_everywhere-0.1.0-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

Details for the file clouds_everywhere-0.1.0.tar.gz.

File metadata

  • Download URL: clouds_everywhere-0.1.0.tar.gz
  • Upload date:
  • Size: 22.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for clouds_everywhere-0.1.0.tar.gz
Algorithm Hash digest
SHA256 14e8c8cf33ea947fb70261b8412940af6afc26bffd0ba294c96879f8d8964f89
MD5 9fe9d95ff4ed81ae69a0c4c66e6fd59c
BLAKE2b-256 609076bc3d59f578bb9724fd288e4efe1aa9d2b91fcd130efcd6a57e42913f05

See more details on using hashes here.

File details

Details for the file clouds_everywhere-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for clouds_everywhere-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 62af5806ba61c9f096f099d6b9bef64a7a9dbe0312adfe6f8900ea68126c42a5
MD5 5aa6c901888d32791a584a7f9d908b83
BLAKE2b-256 39c464c4f0c88e1b7f73f92c18859a8d3f03fde31a7cf51d7c4ae3e1d8265e5f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page