Skip to main content

Georeferenced Rasters of Nighttime Lights from NASA Black Marble data

Project description

BlackMarblePy

PyPI version docs GitHub Repo stars activity License: MIT

BlackMarblePy provides a simple and efficient way to retrieve and extract nighttime lights data from NASA's Black Marble project. Black Marble is a NASA Earth Observatory project that provides a product suite of daily, monthly and yearly global nighttime lights. This package automates the process of downloading all relevant tiles from the NASA LAADS archive to cover a region of interest, converting the raw files (in HDF5 format), to georeferenced rasters, and mosaicing rasters together when needed.

Features

  • Download daily, monthly, and yearly nighttime lights data for user-specified region of interest and time range.
  • Parallel downloading for faster data retrieval and automatic retry mechanism for handling network errors.
  • Access NASA Black Marble as a Xarray Dataset
    • Integrated data visualization with customization options
      • Choose between various plot types, including bar charts, line graphs, and heatmaps.
      • Customize plot appearance with color palettes, axes labels, titles, and legends.
      • Save visualizations as high-resolution images for presentations or reports.
    • Perform time series analysis on nighttime lights data.
      • Calculate zonal statistics like mean and sum.
      • Plot time series of nighttime lights data.

Installation

BlackMarblePy is available on PyPI as blackmarblepy and can installed using pip:

pip install blackmarblepy

Usage

Before downloading and extracting Black Marble data, define the NASA LAADS archive bearer token, and define a region of interest (i.e., gdf as a geopandas.GeoDataFrame).

from blackmarble.raster import bm_raster

# Raster stack of daily data
date_range = pd.date_range("2022-01-01", "2022-03-31", freq="D")

# Retrieve VNP46A2 for date range into a Xarray Dataset
daily = bm_raster(
    gdf,
    product_id="VNP46A2",
    date_range=date_range,
    bearer=bearer,
)

For more detailed information and examples, please refer to the documentation.

Contributing

Contributions are welcome! If you'd like to contribute, please follow our contribution guidelines.

License

This project is open-source - see the LICENSE file for details

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

blackmarblepy-0.2.0.tar.gz (23.0 kB view details)

Uploaded Source

Built Distribution

blackmarblepy-0.2.0-py3-none-any.whl (23.7 kB view details)

Uploaded Python 3

File details

Details for the file blackmarblepy-0.2.0.tar.gz.

File metadata

  • Download URL: blackmarblepy-0.2.0.tar.gz
  • Upload date:
  • Size: 23.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for blackmarblepy-0.2.0.tar.gz
Algorithm Hash digest
SHA256 1306d0f1a9cc0318f2fb51cfce6d972711fd2210cfcfd039a76f16ba07489f93
MD5 76fe1e0accb3436da2611b8b89a80e0e
BLAKE2b-256 6a8096a27f0ea5ff81df41bae6c6dbfeb0402a12713846f235ebcb36cc4aee3e

See more details on using hashes here.

File details

Details for the file blackmarblepy-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for blackmarblepy-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 35bbcaf7bd6c88d04fe470db45e64f7e266a0e0dd2ebe1aa2655e32b1f25fec9
MD5 11a55258f9339a5986889a63bdb025d7
BLAKE2b-256 172dd902dcf556d1a185d5ca5919adda72eebac1ceb64629f0659a1c0274891a

See more details on using hashes here.

Supported by

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