Skip to main content

No project description provided

Project description

pygeofilter-aeronet

Documentation License

pygeofilter-aeronet provides a pygeofilter extension for querying NASA’s AERONET aerosol optical depth datasets through the AERONET Web Service v3 API.

It enables filtering AERONET observations using the same spatial and temporal operators as OGC APIs (CQL2 filters), making it easier to integrate AERONET data in geospatial workflows, data lakes, and cloud pipelines.

Features

  • Evaluate CQL2 expressions (spatial, temporal, and attribute filters) directly on AERONET datasets
  • Parse and normalize AERONET text responses into GeoPandas DataFrames
  • Support for:
    • AOD10, AOD15, AOD20 — Aerosol Optical Depth (Levels 1.0–2.0)
    • SDA10, SDA15, SDA20 — Size Distribution Analysis
    • TOT10, TOT15, TOT20 — Total Optical Depth
  • Simple API for combining AERONET product types and date ranges
  • Compatible with pygeofilter, pandas, and geopandas

Installation

pip install pygeofilter-aeronet

or directly from GitHub:

pip install git+https://github.com/Terradue/pygeofilter-aeronet.git

Quick example

import pandas as pd
from io import StringIO
from pygeofilter_aeronet.evaluator import (
    to_aeronet_api_querystring,
    http_invoke
)

cql2_filter = {
            "op": "and",
            "args": [
                {"op": "eq", "args": [{"property": "site"}, "Cart_Site"]},
                {"op": "eq", "args": [{"property": "data_type"}, "AOD10"]},
                {"op": "eq", "args": [{"property": "format"}, "csv"]},
                {"op": "eq", "args": [{"property": "data_format"}, "daily-average"]},
                {
                    "op": "t_after",
                    "args": [
                        {"property": "time"},
                        {"timestamp": "2023-02-01T00:00:00Z"},
                    ],
                },
                {
                    "op": "t_before",
                    "args": [
                        {"property": "time"},
                        {"timestamp": "2023-02-28T23:59:59Z"},
                    ],
                },
            ],
        }

# print the AERONET API querystring:
print(to_aeronet_api(cql2_filter=cql2_filter))

# dry-run the HTTP request:
http_invoke(cql2_filter=cql2_filter, dry_run=True)

# query the AERONET API
raw_data = http_invoke(cql2_filter=cql2_filter, dry_run=False)
df = pd.read_csv(StringIO(raw_data), skiprows=5)

print(df.head(5))

Documentation

User guide and examples available at: https://terradue.github.io/pygeofilter-aeronet/

Development

git clone https://github.com/Terradue/pygeofilter-aeronet.git
cd pygeofilter-aeronet
hatch shell

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

pygeofilter_aeronet-0.11.0.tar.gz (291.3 kB view details)

Uploaded Source

Built Distribution

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

pygeofilter_aeronet-0.11.0-py3-none-any.whl (26.7 kB view details)

Uploaded Python 3

File details

Details for the file pygeofilter_aeronet-0.11.0.tar.gz.

File metadata

  • Download URL: pygeofilter_aeronet-0.11.0.tar.gz
  • Upload date:
  • Size: 291.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pygeofilter_aeronet-0.11.0.tar.gz
Algorithm Hash digest
SHA256 3f4120a202b92a0e9e33117b91739dc3a74ce1f5da5fc8f65a5133ddcd0f68a0
MD5 77778c2b648b7cadfe6175f8af27b43b
BLAKE2b-256 b482023c0c19e5d7e8e5f97097e51ef6c869bfb29d00cdee485bd46734b2a579

See more details on using hashes here.

Provenance

The following attestation bundles were made for pygeofilter_aeronet-0.11.0.tar.gz:

Publisher: package.yaml on Terradue/pygeofilter-aeronet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pygeofilter_aeronet-0.11.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pygeofilter_aeronet-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 38a02b116d741e6a49ad3a7a950bd7b26104e0d01d1c7dfa5de2eeecf8599475
MD5 dcd19e40d6528aabf96d2aedd6ca0457
BLAKE2b-256 3c5959af73186baa94445da220f6add3b8e93eecc0078a8b15c46a539a0bf8aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for pygeofilter_aeronet-0.11.0-py3-none-any.whl:

Publisher: package.yaml on Terradue/pygeofilter-aeronet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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