diff --git a/README.md b/README.md index 34f0fa70ed32d91856f26682e5f1b1c955719ac9..ab53ce0abb18436b4ce66bd43c3617bc26a3e6ff 100644 --- a/README.md +++ b/README.md @@ -150,7 +150,7 @@ see new service in #7 * provides external service for OpenSearch, WMS, & WCS * renders WMS requests received from cache or seeder -## TODO: ELK stack +### TODO: ELK stack see #9 @@ -201,4 +201,23 @@ docker exec -it $(docker ps -qf "name=emg-pvs_renderer") python3 /var/www/pvs/de docker exec -it $(docker ps -qf "name=emg-pvs_renderer") mv Emergency.sqlite /cache-db/emg_mapcache_cache.sqlite ``` +# Documentation + +## Installation + +```bash +python3 -m pip install spinx recommonmark +``` + +## Generation + +```bash +make html + +# For pdf output run: +make latex +make latexpdf +``` + +The documentation is generated in the respective *_build/html* directory. diff --git a/documentation/.gitignore b/documentation/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..136ea96bb3e3375c9d6bbd02997a2a13dbd3d5b5 --- /dev/null +++ b/documentation/.gitignore @@ -0,0 +1 @@ +/*/_build/* diff --git a/documentation/operations-guide/Makefile b/documentation/operations-guide/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..d4bb2cbb9eddb1bb1b4f366623044af8e4830919 --- /dev/null +++ b/documentation/operations-guide/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/documentation/operations-guide/conf.py b/documentation/operations-guide/conf.py new file mode 100644 index 0000000000000000000000000000000000000000..24267b8877c0158ef0ff86568881451d8d30ac83 --- /dev/null +++ b/documentation/operations-guide/conf.py @@ -0,0 +1,66 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = u'View Server - Operations Guide' +copyright = u'2019, 2020, EOX IT Services GmbH' +author = u'EOX IT Services GmbH' + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'recommonmark', + +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'alabaster' + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +latex_documents = [( + 'index', + 'View-Server.tex', + u'View Server - Usage Guide', + u'EOX IT Services GmbH \\and Fabian Schindler \\and Lubomir Bucek \\and \ + Mussab Abdalla \\and Stephan Meißl', + 'manual', + True +)] +latex_elements = { + 'papersize': 'a4paper', +} diff --git a/documentation/operations-guide/index.rst b/documentation/operations-guide/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..b6c2586661fc69bf7dbc79675c9e0d12ab9cca5a --- /dev/null +++ b/documentation/operations-guide/index.rst @@ -0,0 +1,28 @@ +.. _contents: + +View Server - Operations Guide +============================== + +.. toctree:: + :maxdepth: 2 + :caption: Contents + + intro + + operations-guide + +.. + Indices and tables + ================== + + .. only:: builder_html + + * :ref:`genindex` + * :ref:`modindex` + * :ref:`search` + .. * :ref:`glossary` + + .. only:: not builder_html + + * :ref:`modindex` + -- * :ref:`glossary` diff --git a/documentation/operations-guide/intro.md b/documentation/operations-guide/intro.md new file mode 100644 index 0000000000000000000000000000000000000000..7ff54f106fe709c3cdd3221129385a8f7a20e88c --- /dev/null +++ b/documentation/operations-guide/intro.md @@ -0,0 +1,5 @@ +# Introduction + +operator + +TODO diff --git a/documentation/operations-guide/make.bat b/documentation/operations-guide/make.bat new file mode 100644 index 0000000000000000000000000000000000000000..2119f51099bf37e4fdb6071dce9f451ea44c62dd --- /dev/null +++ b/documentation/operations-guide/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=. +set BUILDDIR=_build + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/documentation/operations-guide/operations-guide.md b/documentation/operations-guide/operations-guide.md new file mode 100644 index 0000000000000000000000000000000000000000..e735a9c880dbf99ed64e08b2a1d3df6c88e257ff --- /dev/null +++ b/documentation/operations-guide/operations-guide.md @@ -0,0 +1,10 @@ +# Operations Guide + +TODO + + +## Admin + +* https://vhr18.pdas.prism.eox.at/admin +* https://emg.pdas.prism.eox.at/admin +* https://traefik.pdas.prism.eox.at/dashboard/ diff --git a/documentation/usage-guide/Makefile b/documentation/usage-guide/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..d4bb2cbb9eddb1bb1b4f366623044af8e4830919 --- /dev/null +++ b/documentation/usage-guide/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/documentation/usage-guide/conf.py b/documentation/usage-guide/conf.py new file mode 100644 index 0000000000000000000000000000000000000000..cd4aa38d9f11da3845c1f290f8980a4414d3eacf --- /dev/null +++ b/documentation/usage-guide/conf.py @@ -0,0 +1,66 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = u'View Server - Usage Guide' +copyright = u'2019, 2020, EOX IT Services GmbH' +author = u'EOX IT Services GmbH' + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'recommonmark', + +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'alabaster' + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +latex_documents = [( + 'index', + 'View-Server.tex', + u'View Server - Usage Guide', + u'EOX IT Services GmbH \\and Fabian Schindler \\and Lubomir Bucek \\and \ + Mussab Abdalla \\and Stephan Meißl', + 'manual', + True +)] +latex_elements = { + 'papersize': 'a4paper', +} diff --git a/documentation/usage-guide/downloading.md b/documentation/usage-guide/downloading.md new file mode 100644 index 0000000000000000000000000000000000000000..7377305357510849514525e43faf4901405ab4a2 --- /dev/null +++ b/documentation/usage-guide/downloading.md @@ -0,0 +1,2 @@ +# Downloading + diff --git a/documentation/usage-guide/images/client_start.png b/documentation/usage-guide/images/client_start.png new file mode 100644 index 0000000000000000000000000000000000000000..9abecaad2de0690c0bb9be5cdc30c663fe6af08e Binary files /dev/null and b/documentation/usage-guide/images/client_start.png differ diff --git a/documentation/usage-guide/index.rst b/documentation/usage-guide/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..50a41d48d5665a7510a68d5079b9c73ba0078f8b --- /dev/null +++ b/documentation/usage-guide/index.rst @@ -0,0 +1,33 @@ +.. _contents: + +View Server - Usage Guide +========================= + +.. toctree:: + :maxdepth: 2 + :caption: Contents + + intro + + web-client + searching + viewing + downloading + + sample-requests + +.. + Indices and tables + ================== + + .. only:: builder_html + + * :ref:`genindex` + * :ref:`modindex` + * :ref:`search` + .. * :ref:`glossary` + + .. only:: not builder_html + + * :ref:`modindex` + -- * :ref:`glossary` diff --git a/documentation/usage-guide/intro.md b/documentation/usage-guide/intro.md new file mode 100644 index 0000000000000000000000000000000000000000..8850a6ce2a057b298142408a34afbf0510fffdf6 --- /dev/null +++ b/documentation/usage-guide/intro.md @@ -0,0 +1,8 @@ +# Introduction + +This is the Usage Guide of the View Server (VS). The intended readers are users +of the web client and external services provided by the View Server. + +These provided external services are services for searching, viewing, and +downloading of Earth Observation (EO) data. Services optimized for performance +as well as for flexibility are provided alongside each other. diff --git a/documentation/usage-guide/make.bat b/documentation/usage-guide/make.bat new file mode 100644 index 0000000000000000000000000000000000000000..2119f51099bf37e4fdb6071dce9f451ea44c62dd --- /dev/null +++ b/documentation/usage-guide/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=. +set BUILDDIR=_build + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/documentation/usage-guide/sample-requests.md b/documentation/usage-guide/sample-requests.md new file mode 100644 index 0000000000000000000000000000000000000000..df3f6073588fb7e0e5ade5a9914f587c3651d3ba --- /dev/null +++ b/documentation/usage-guide/sample-requests.md @@ -0,0 +1,82 @@ +# Sample Service Requests + +some live samples. +login needed + +## Client + +TODO entry page listing collections at + * https://pdas.prism.eox.at + * https://pass.copernicus.eu + + +* https://vhr18.pdas.prism.eox.at +* https://emg.pdas.prism.eox.at + +* https://vhr18.pass.copernicus.eu +* https://emg.pass.copernicus.eu + +## Cache + +### WMTS + +* https://vhr18.pdas.prism.eox.at/cache/ows/wmts/1.0.0/WMTSCapabilities.xml +* https://vhr18.pdas.prism.eox.at/cache/ows/wmts/1.0.0/VHR_IMAGE_2018__TRUE_COLOR/default/2018-06-01T00%3A00%3A00Z--2018-07-01T00%3A00%3A00Z/WGS84/11/524/2224.xxx +* https://vhr18.pdas.prism.eox.at/cache/ows/wmts/1.0.0/VHR_IMAGE_2018__FALSE_COLOR/default/2018-06-01T00%3A00%3A00Z--2018-07-01T00%3A00%3A00Z/WGS84/11/524/2224.xxx +* https://vhr18.pdas.prism.eox.at/cache/ows/wmts/1.0.0/VHR_IMAGE_2018__NDVI/default/2018-06-01T00%3A00%3A00Z--2018-07-01T00%3A00%3A00Z/WGS84/11/524/2224.xxx + +### WMS + +* https://vhr18.pdas.prism.eox.at/cache/ows?service=wms&request=getcapabilities +* https://vhr18.pdas.prism.eox.at/cache/ows?SERVICE=WMS&VERSION=1.1.0&REQUEST=GetMap&FORMAT=image%2Fpng&TRANSPARENT=true&LAYERS=VHR_IMAGE_2018__TRUE_COLOR&STYLES=&time=2018-06-01T00%3A00%3A00Z%2F2018-07-01T00%3A00%3A00Z&WIDTH=256&HEIGHT=256&SRS=EPSG%3A4326&BBOX=15.46875%2C43.857421875%2C15.556640625%2C43.9453125 + +## Renderer + +### OpenSearch + +* 1st step OSDD https://vhr18.pdas.prism.eox.at/opensearch +* 1st step search for collections https://vhr18.pdas.prism.eox.at/opensearch/atom/ +* 2nd step OSDD https://vhr18.pdas.prism.eox.at/opensearch/collections/VHR_IMAGE_2018/ +* 2nd step search https://vhr18.pdas.prism.eox.at/opensearch/collections/VHR_IMAGE_2018/atom/ +* For one product https://vhr18.pdas.prism.eox.at/opensearch/collections/VHR_IMAGE_2018/atom/?uid=urn:eop:DOVE:MULTISPECTRAL_4m:20180811_081455_1054_3be7 + +### WMS + +#### Capabilities + +* https://vhr18.pdas.prism.eox.at/ows?service=wms&request=getcapabilities +* Limited to one product https://vhr18.pdas.prism.eox.at/ows?service=wms&request=GetCapabilities&cql=identifier='urn:eop:DOVE:MULTISPECTRAL_4m:20180811_081455_1054_3be7' + +#### GetMap + +* Quicklook https://vhr18.pdas.prism.eox.at/ows?service=WMS&version=1.3.0&request=GetMap&layers=urn:eop:DOVE:MULTISPECTRAL_4m:20180811_081455_1054_3be7&format=image/png&TRANSPARENT=true&width=463&height=500&CRS=EPSG:4326&STYLES=&BBOX=47.297788,25.978201,47.372606,26.047511 +* False color https://vhr18.pdas.prism.eox.at/ows?service=WMS&version=1.3.0&request=GetMap&layers=urn:eop:DOVE:MULTISPECTRAL_4m:20180811_081455_1054_3be7__FALSE_COLOR&format=image/png&TRANSPARENT=true&width=463&height=500&CRS=EPSG:4326&STYLES=&BBOX=47.297788,25.978201,47.372606,26.047511 +* NDVI including style https://vhr18.pdas.prism.eox.at/ows?service=WMS&version=1.3.0&request=GetMap&layers=urn:eop:DOVE:MULTISPECTRAL_4m:20180811_081455_1054_3be7__NDVI&format=image/png&TRANSPARENT=true&width=463&height=500&CRS=EPSG:4326&STYLES=coolwarm&BBOX=47.297788,25.978201,47.372606,26.047511 +* Custom color stretch https://vhr18.pdas.prism.eox.at/ows?service=WMS&version=1.3.0&request=GetMap&layers=urn:eop:DOVE:MULTISPECTRAL_4m:20180811_081455_1054_3be7&format=image/png&TRANSPARENT=true&width=463&height=500&CRS=EPSG:4326&STYLES=&BBOX=47.297788,25.978201,47.372606,26.047511&dim_range=1000%205000 +* CQL filtering on Cloud Coverage https://vhr18.pdas.prism.eox.at/ows?service=WMS&version=1.3.0&request=GetMap&layers=VHR_IMAGE_2018&format=image/png&TRANSPARENT=true&width=392&height=500&CRS=EPSG:4326&STYLES=&BBOX=44.196369,14.849791,44.554918,15.131223&cql=cloudCover%3C1 +* Clouds mask validity https://vhr18.pdas.prism.eox.at/ows?SERVICE=WMS&VERSION=1.1.0&REQUEST=GetMap&FORMAT=image%2Fpng&TRANSPARENT=true&LAYERS=VHR_IMAGE_2018__validity&STYLES=&time=2017-04-14T13%3A49%3A45Z%2F2018-09-05T00%3A00%3A00Z&WIDTH=256&HEIGHT=256&SRS=EPSG%3A4326&BBOX=15.78727912902832,43.005756378173835,16.976377487182617,44.05855560302735 +* Clouds masked https://vhr18.pdas.prism.eox.at/ows?SERVICE=WMS&VERSION=1.1.0&REQUEST=GetMap&FORMAT=image%2Fpng&TRANSPARENT=true&LAYERS=VHR_IMAGE_2018__masked_validity&STYLES=&time=2017-04-14T13%3A49%3A45Z%2F2018-09-05T00%3A00%3A00Z&WIDTH=256&HEIGHT=256&SRS=EPSG%3A4326&BBOX=15.78727912902832,43.005756378173835,16.976377487182617,44.05855560302735 + +### WCS + +#### Capabilities + +* https://vhr18.pdas.prism.eox.at/ows?service=wcs&request=getcapabilities + +#### Coverage Description + +* https://vhr18.pdas.prism.eox.at/ows?service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoId=urn:eop:DOVE:MULTISPECTRAL_4m:20180811_081455_1054_3be7 +* https://vhr18.pdas.prism.eox.at/ows?service=WCS&version=2.0.1&request=DescribeCoverage&coverageId=urn:eop:DOVE:MULTISPECTRAL_4m:20180811_081455_1054_3be7__coverage + +#### Coverage + +* Full in default format, projection, etc. https://vhr18.pdas.prism.eox.at/ows?service=WCS&version=2.0.1&request=GetCoverage&coverageId=urn:eop:DOVE:MULTISPECTRAL_4m:20180811_081455_1054_3be7__coverage +* Spatial subset https://vhr18.pdas.prism.eox.at/ows?service=WCS&version=2.0.1&request=GetCoverage&coverageid=urn:eop:DOVE:MULTISPECTRAL_4m:20180811_081455_1054_3be7__coverage&subset=long(26.004538536944892,26.016211510577705)&subset=lat(47.326254844665534,47.33495235268493)&subsettingCRS=http://www.opengis.net/def/crs/EPSG/0/4326 +* Range subset https://vhr18.pdas.prism.eox.at/ows?service=WCS&version=2.0.1&request=GetCoverage&coverageid=urn:eop:DOVE:MULTISPECTRAL_4m:20180811_081455_1054_3be7__coverage&rangesubset=nir +* Scale down https://vhr18.pdas.prism.eox.at/ows?service=WCS&version=2.0.1&request=GetCoverage&coverageid=urn:eop:DOVE:MULTISPECTRAL_4m:20180811_081455_1054_3be7__coverage&scaleFactor=0.1 +* Format, interpolation https://vhr18.pdas.prism.eox.at/ows?service=WCS&version=2.0.1&request=GetCoverage&coverageid=urn:eop:DOVE:MULTISPECTRAL_4m:20180811_081455_1054_3be7__coverage&format=image/jp2&interpolation=http://www.opengis.net/def/interpolation/OGC/1/nearest-neighbour +* Projection https://vhr18.pdas.prism.eox.at/ows?service=WCS&version=2.0.1&request=GetCoverage&coverageid=urn:eop:DOVE:MULTISPECTRAL_4m:20180811_081455_1054_3be7__coverage&outputCRS=http://www.opengis.net/def/crs/EPSG/0/4326 + +## DSEO + +* https://vhr18.pdas.prism.eox.at/ows?service=DSEO&version=1.0.0&request=GetProduct&ProductURI=urn:eop:DOVE:MULTISPECTRAL_4m:20180811_081455_1054_3be7 diff --git a/documentation/usage-guide/searching.md b/documentation/usage-guide/searching.md new file mode 100644 index 0000000000000000000000000000000000000000..73d0e05d83302e7881fc81b3540ce2dc228591f7 --- /dev/null +++ b/documentation/usage-guide/searching.md @@ -0,0 +1 @@ +# Searching diff --git a/documentation/usage-guide/viewing.md b/documentation/usage-guide/viewing.md new file mode 100644 index 0000000000000000000000000000000000000000..63df48ae00abb3427be8aba25e1fb4763ed9d6c4 --- /dev/null +++ b/documentation/usage-guide/viewing.md @@ -0,0 +1 @@ +# Viewing diff --git a/documentation/usage-guide/web-client.md b/documentation/usage-guide/web-client.md new file mode 100644 index 0000000000000000000000000000000000000000..f7ed71a54ecec353d5aecb173899e101d5beb02e --- /dev/null +++ b/documentation/usage-guide/web-client.md @@ -0,0 +1,6 @@ +# Web Client + +using via GUI + + +