Package: lcmap-tap
AbstractThe Timeseries Analysis and Plotting (TAP) Tool is being developed to
provide exploratory data analysis for the Land Change Monitoring,
Assessment, and Projection
(LCMAP)
project atUSGS 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 ReflectanceLandsat 8 Bands 2-7 Surface ReflectanceLandsat 4-7 Band 6 Brightness TemperatureLandsat 8 Band 10 Brightness TemperaturePlot model parameters and curve-fits from the Continuous Change
Detection and Classification
(CCDC)
algorithmCalculate indices on the fly for plotting and visualizationNDVIMSAVISAVIEVINDMINBRNBR-2Display RGB visualizations of Landsat ARDExport plotted Landsat ARD surface reflectance, brightness
temperature, and index values to a .csv fileSave a plot figure as a .png fileSave a Landsat ARD RGB display as a .png fileSave ESRI point shapefile for plotted coordinatesThe tool currently requires the following data inputs:Landsat ARD (obtained via HTTP request).Serialized change and cover results generated byPyCCD(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.InstallationNote 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 EnvironmentInstall Miniconda3Create a Conda virtual environmentLinuxcondacreate--nametappython=3.6.7gdal=2.2.2poppler=0.60.1cythoncytoolzWindowscondacreate--nametappython=3.6.7gdal=2.2.2cythoncytoolzIf you experience SSL cert errors, disable ssl verification and try to create the env again.condaconfig--setssl_verifyfalseActivate the environmentcondaactivatetapInstall TAPEnsure the virtual environment is activated from previous creation steps.Use pip to install TAP’s latest standard release and the remaining dependenciespipinstalllcmap-tapIf you are having trusted host/certificate issues during pip install,
you can explicitly trust pypipipinstalllcmap-tap--trusted-hostpypi.org--trusted-hostfiles.pythonhosted.orgTo install a pre-release or another specific version instead of a standard release:pipinstalllcmap-tap==2.0.0rc2Create the configuration file required by tapNote: Location may differ depending on if it was installed for a single user vs system wide.Linux ExampleCreate and edit as neededcd$HOME/.conda/envs/tap/lib/python3.6/site-packages/lcmap_tap/cpconfig-example.yamlconfig.yamlWindows ExampleCreate and edit as neededcd$HOME\AppData\Local\Continuum\miniconda3\envs\tap\Lib\site-packages\lcmap_tapcpconfig-example.yamlconfig.yamlRun the ToolOnce 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.Linuxlcmap_tapWindowspython.exe$HOME\AppData\Local\Continuum\miniconda3\envs\tap\Scripts\lcmap_tap.exeUpgradesTo upgrade an already installed version of tap:Activate the environmentcondaactivatetapUpgrade to the latest standard releasepipinstall--upgradelcmap-tapAlternatively, upgrade to a specific releasepipinstall--upgradelcmap-tap==2.0.0rc2If 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 ExampleCreate and edit as neededcd$HOME/.conda/envs/tap/lib/python3.6/site-packages/lcmap_tap/cpconfig-example.yamlconfig.yamlWindows ExampleCreate and edit as neededcd$HOME\AppData\Local\Continuum\miniconda3\envs\tap\Lib\site-packages\lcmap_tapcpconfig-example.yamlconfig.yamlContributingBefore committing to this repository, run the following command.gitconfig--localcommit.template.gitmessageThis will add the LCMAP commit template togit commit.jira/lcmap-xxxx:TitleDescriptionVersioninglcmap-tap follows semantic versioning:http://semver.org/