A data visualization tool for PyCCD time-series model results and Landsat ARD
Project description
Abstract
The Timeseries Analysis and Plotting (TAP) Tool is being developed to provide exploratory data analysis for the Land Change Monitoring, Assessment, and Projection (LCMAP) project at USGS EROS. TAP is an open-source project written in python that uses PyQt5 and matplotlib for generating interactive GUIs and plots. Currently, it provides the following functionality:
Plot a timeseries of Landsat Analysis Ready Data (ARD)
Landsat 4-7 Bands 1, 2, 3, 4, 5, 7 Surface Reflectance
Landsat 8 Bands 2-7 Surface Reflectance
Landsat 4-7 Band 6 Brightness Temperature
Landsat 8 Band 10 Brightness Temperature
Plot model parameters and curve-fits from the Continuous Change Detection and Classification (CCDC) algorithm
Calculate indices on the fly for plotting and visualization
NDVI
MSAVI
SAVI
EVI
NDMI
NBR
NBR-2
Display RGB visualizations of Landsat ARD
Export plotted Landsat ARD surface reflectance, brightness temperature, and index values to a .csv file
Save a plot figure as a .png file
Save a Landsat ARD RGB display as a .png file
Save ESRI point shapefile for plotted coordinates
The tool currently requires the following data inputs:
Landsat ARD (obtained via HTTP request).
Serialized change and cover results generated by PyCCD (obtained via HTTP request).
Landsat ARD and the PyCCD algorithm are publicly available.
However, TAP requires access to ARD and PyCCD results via web-services that are available to on-site personnel at USGS EROS only.
For those reasons, TAP is not intended for general public use until the datasets become widely available at a future date.
Installation
Note on PyQt5: It is recommended to use PyQt5==5.10.1 because of an issue in later versions in which Qtwebengineprocess does not close on TAP exit.
Create a Virtual Environment
Create a Conda virtual environment
Linux
conda create --name tap python=3.6.7 gdal=2.2.2 poppler=0.60.1 cython cytoolz
Windows
conda create --name tap python=3.6.7 gdal=2.2.2 cython cytoolz
If you experience SSL cert errors, disable ssl verification and try to create the env again.
conda config --set ssl_verify false
Activate the environment
conda activate tap
Install TAP
Ensure the virtual environment is activated from previous creation steps.
Use pip to install TAP’s latest standard release and the remaining dependencies
pip install lcmap-tap
If you are having trusted host/certificate issues during pip install, you can explicitly trust pypi
pip install lcmap-tap --trusted-host pypi.org --trusted-host files.pythonhosted.org
To install a pre-release or another specific version instead of a standard release:
pip install lcmap-tap==2.0.0rc2
Create the configuration file required by tap
Note: Location may differ depending on if it was installed for a single user vs system wide.
Linux Example
Create and edit as needed
cd $HOME/.conda/envs/tap/lib/python3.6/site-packages/lcmap_tap/ cp config-example.yaml config.yaml
Windows Example
Create and edit as needed
cd $HOME\AppData\Local\Continuum\miniconda3\envs\tap\Lib\site-packages\lcmap_tap cp config-example.yaml config.yaml
Run the Tool
Once installed, lcmap_tap can be executed directly from the command line if the virtual environment is activated:
Note: Location may differ depending on if it was installed for a single user vs system wide.
Linux
lcmap_tap
Windows
python.exe $HOME\AppData\Local\Continuum\miniconda3\envs\tap\Scripts\lcmap_tap.exe
Upgrades
To upgrade an already installed version of tap:
Activate the environment
conda activate tap
Upgrade to the latest standard release
pip install --upgrade lcmap-tap
Alternatively, upgrade to a specific release
pip install --upgrade lcmap-tap==2.0.0rc2
If configuration parameters have changed in a new release, copy the config example:
Note: Location may differ depending on if it was installed for a single user vs system wide.
Linux Example
Create and edit as needed
cd $HOME/.conda/envs/tap/lib/python3.6/site-packages/lcmap_tap/ cp config-example.yaml config.yaml
Windows Example
Create and edit as needed
cd $HOME\AppData\Local\Continuum\miniconda3\envs\tap\Lib\site-packages\lcmap_tap cp config-example.yaml config.yaml
Contributing
Before committing to this repository, run the following command.
git config --local commit.template .gitmessage
This will add the LCMAP commit template to git commit.
jira/lcmap-xxxx: Title
Description
Versioning
lcmap-tap follows semantic versioning: http://semver.org/
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file lcmap_tap-2.0.1.tar.gz
.
File metadata
- Download URL: lcmap_tap-2.0.1.tar.gz
- Upload date:
- Size: 131.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.1.post20201107 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cda6768b31f4828a35f9e47cc6200cd36f4c6093edbd5d67c63f9074aa003fe1 |
|
MD5 | f677340f7fd4d21920889442868867eb |
|
BLAKE2b-256 | ab620b128ed74265b4c19d11e1a62d5e6c17cefcafab2f7c566fce877a94728d |
File details
Details for the file lcmap_tap-2.0.1-py3-none-any.whl
.
File metadata
- Download URL: lcmap_tap-2.0.1-py3-none-any.whl
- Upload date:
- Size: 155.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.1.post20201107 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53ff547b13b04fcbd3105a181b7ea4d17b8931d04544948e866f207d66f799a5 |
|
MD5 | 4c4563c147b33e75a6ed9bbc1fe7f387 |
|
BLAKE2b-256 | 32d82e1be78a84a46c65ccf2b0ece597f1870a5168753f23ebc726b07fba4bf4 |