Skip to main content

SPECTRAL TREND DATABASE

DSE’s Spectral Trends Database monitors uses data from NASA's Landsat satellites to track over 14,000 points in corn and soy fields in the midwestern United States. The database contains daily values for 36 different vegetation indices from the year 2000 to present, along with a number of derivative metrics that are useful for detecting crop planting and harvesting. The data will be useful for myriad agriculture applications, including the study and monitoring of yield, yield-stability, soil health, cover-cropping, and other sustainable agricultural practices.


DATABASE DESCRIPTION

The Spectral Trend Database lives on Google Big Query and can be accessed directly using big query. However, we've built a number of python tools to make accessing the data eaiser (docs, example). The database tables are listed in the table below. Detailed descriptions of the indvidual tables can be found in our api-docs (here).

Table Keys Dates Daily Description
SAMPLE_POINTS sample_id False False location information such as lat, lon and geohashes
ADMINISTRATIVE_BOUNDARIES sample_id False False administrative information such as state and county
QDANN_YIELD sample_id, year True False yield estimations for year
LANDSAT_RAW_MASKED sample_id, year True False masked landsat band values for year
RAW_INDICES_V1 sample_id, year True False spectral indices built from LANDSAT_RAW_MASKED
SMOOTHED_INDICES_V1 sample_id, year True True interpolated and smoothed daily values for indices contained in RAW_INDICES_V1
MACD_INDICES_V1 sample_id, year True True additional indices dervived from SMOOTHED_INDICES_V1 whose values are useful for detecting cover-croping and green-up dates
INDICES_STATS_V1 sample_id, year True False statistical (min, max, mean, median, skew, kurtosis) aggregation of SMOOTHED_INDICES_V1
INDICES_STATS_V1_GROWING_SEASON sample_id, year True False same as INDICES_STATS_V1 but restricted to the "growing season"
INDICES_STATS_V1_OFF_SEASON sample_id, year True False same as INDICES_STATS_V1 but restricted to the "off season"

INSTALL/REQUIREMENTS

  1. Clone Repo
git clone https://github.com/SchmidtDSE/spectral_trend_database.git
  1. Requirements

Requirements are managed through a Pixi "project" (similar to a conda environment). After pixi is installed use pixi run <cmd> to ensure the correct project is being used. For example,

# lauch jupyter
pixi run jupyter lab .

# run a script
pixi run python scripts/hello_world.py

The first time pixi run is executed the project will be installed (note this means the first run will be a bit slower). Any changes to the project will be updated on the subsequent pixi run. It is unnecessary, but you can run pixi install after changes - this will update your local environment, so that it does not need to be updated on the next pixi run.

Note, the repo's pyproject.toml, and pixi.lock files ensure pixi run will just work. No need to recreate an environment. Additionally, the pyproject.toml file includes fire_risk = { path = ".", editable = true }. This line is equivalent to pip install -e ., so there is no need to pip install this module.

The project was initially created using a package_names.txt and the following steps. Note that this should NOT be re-run as it will create a new project (potentially changing package versions).

#
# IMPORTANT: Do NOT run this unless you explicity want to create a new pixi project
#
# 1. initialize pixi project (in this case the pyproject.toml file had already existed)
pixi init . --format pyproject
# 2. add specified python version
pixi add python=3.11
# 3. add packages (note this will use pixi magic to determine/fix package version ranges)
pixi add $(cat package_names.txt)
pixi add --pypi $(cat pypi_package_names.txt)

Note that pixi is being used to install build/twine are part of the pixi-project so pushing to PYPI requires pixi run

pixi run python -m build
pixi run python -m twine upload --repository testpypi dist/*

USAGE & DOCUMENTATION

See API Documentation and accompanying notebooks for detailed examples on how access the database and use the spectral_trend_database module.


STYLE-GUIDE

Following PEP8. See setup.cfg for exceptions. Keeping honest with pycodestyle .

Metadata

Release files for spectral-trend-database 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spectral-trend-database 0.0.1
File Size Uploaded Provenance
spectral_trend_database-0.0.1.tar.gz 43.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for spectral-trend-database 0.0.1
File Interpreter ABI Platform
spectral_trend_database-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 89.7 kB

Release files / spectral_trend_database-0.0.1.tar.gz

Download URL spectral_trend_database-0.0.1.tar.gz
Size 43.2 kB
Tags Source
SHA-256 checksum
How to use checksums
d556c245fdc80fad9a4817dac91429e62a0192b8ae1eb132f1090ad04eca7181
BLAKE2b-256 checksum
How to use checksums
cb866ab2291b362529d5e027469ebc63aeefe35bc15567d2db45c74f7abca0a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.11

Release files / spectral_trend_database-0.0.1-py3-none-any.whl

Download URL spectral_trend_database-0.0.1-py3-none-any.whl
Size 46.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2faa3b8f4925624cf0e581cb8c4290b042390d59c1d89c81c92e95196ef2ac22
BLAKE2b-256 checksum
How to use checksums
f41dfa008f58677e06b36f0df856847d193288f80738dfaec5b2c3610d587d02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.11

Security for spectral-trend-database 0.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page