Earth Observation made easy.
Project description
An Earth Observation Platform
Earth Observation made easy.
Report Bug
|
Request Feature
About
eoplatform is a Python package that aims to simplify Remote Sensing Earth Observation by providing actionable information on a wide swath of RS platforms and provide a simple API for downloading and visualizing RS imagery. Made for scientists, educators, and hobbiests alike.
- Easy to access information on RS platforms
- Band information
- Orbit regimes
- Scene statistics
- etc
metadata
module for extracting platform metadata- supports
.txt
and.xml
files
- supports
composites
modules for creating and learning about popular RS band composites- Included so far - NDVI, SR, DVI, EVI, EVI2, NDWI, NBR, NDSI, NDBI
Coming soon:
- Data downloading
- Landsat 8
- Sentinel-2
- Raster tools
- Raster IO functions
Installation
eoplatform
can be installed by running pip install eoplatform
. It requires Python 3.7 or above to run.
Example
Usage
eoplatform is accessible through the command line (CLI) and as a module import.
Querying platform info
CLI
PLATFORM
argument is case-insensitive
Usage: eoplatform info [OPTIONS] PLATFORM
Arguments:
PLATFORM [required]
Options:
-d, --description / -nd, --no-description
[default: description]
--help Show this message and exit.
EX:
eoplatform info landsat8
show all info eoplatform has on Landsat8
eoplatform info landsat8 -b
shows only Landsat8
's bands
Module import
You can import your desired platform
from eoplatform import landsat8
landsat8.info() # OR print(landsat8)
or search from the eoplatform module itself
import eoplatform as eop
eop.info("Landsat8") # case insensitive
Downloading platform scenes
CLI
in-progress
Usage: eoplatform download [OPTIONS] PLATFORM
Arguments:
PLATFORM [required]
Options:
--help Show this message and exit.
Module import
in-progress
from eoplatform import landsat8
landsat8.download()
import eoplatform as eop
eop.download("landsat8")
both methods accept the full range of search keword arguments
Band composites
Implemented composites:
- Normalized Difference Vegetation Index (NDVI)
- Simple Ratio (SR)
- Difference Vegetation Index (DVI)
- Enhanced Vegetation Index (EVI)
- Enhanced Vegetation Index 2 (EVI2)
- Normalized Difference Water Index (NDWI)
- Normalized Burn Ratio (NBR)
- Normalized Difference Snow Index (NDSI)
- Normalized DIfference Built-Up Index (NDBI)
Composite information
from eoplatform.composites import NDVI # DVI, etc
NDVI.info()
Creating composite
from eoplatform.composites import NDVI
red_array: np.ndarray = ...
nir_array: np.ndarray = ...
ndvi: np.ndarray = NDVI.create(nir_array, red_array)
Metadata extraction
Supports .txt
and .xml
files through extract_XML_metadata
and extract_TXT_metadata
.
from eoplatform.metadata import extract_XML_metadata
file_path: str = ...
target_attributes: List[str] = ...
values: Dict[str, str] = extract_XML_metadata(file_path, target_attributes)
Roadmap
See the open issues for a list of proposed features (and known issues).
- download support
Contributing
Contributions are welcome. Currently, eoplatform is undergoing rapid development and contribution opportunities may be scarce.
- If you have suggestions for adding or removing features, feel free to open an issue to discuss it, or directly create a pull request with the proposed changes.
- Create individual PR for each suggestion.
- Use pre-commit hooks -
pre-commit install
- Code style is
black
,mypy --strict
License
Distributed under the GNU GPL-3.0 License. See LICENSE for more information.
Built With
Authors
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
Built Distribution
Hashes for eoplatform-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3328e446034cb96b21ff2be7b0708eafc9c32f37c7ded5dab4c5cb4fbbbbe9ff |
|
MD5 | 2001ff7322cd5e7a06ea3a707994a3c3 |
|
BLAKE2b-256 | 0b51eed37f90cb3a488c96c36d922c06d92ac96d8e8369f46979bd4d214b6b25 |