├── LICENSE
├── OSM_LandCover
└── OSM_LandCover_Mask
├── README.md
├── baobab
├── README.md
├── modulefiles
│ └── dc_utils.own
└── py_src
│ ├── __init__.py
│ ├── opendc_utils
│ ├── __init__.py
│ └── data_cube_utilities
│ │ ├── __init__.py
│ │ ├── data_access_api.py
│ │ ├── dc_display_map.py
│ │ ├── dc_fractional_coverage_classifier.py
│ │ ├── dc_mosaic.py
│ │ ├── dc_rgb.py
│ │ ├── dc_time.py
│ │ ├── dc_utilities.py
│ │ ├── dc_water_classifier.py
│ │ ├── dc_water_quality.py
│ │ ├── import_export.py
│ │ └── wasard.py
│ ├── swiss_utils
│ ├── __init__.py
│ ├── data_cube_utilities
│ │ ├── __init__.py
│ │ ├── sdc_advutils.py
│ │ ├── sdc_devtools.py
│ │ ├── sdc_monit.py
│ │ └── sdc_utilities.py
│ └── define_mod_locs.py
│ └── utils
│ └── data_cube_utilities
│ ├── aggregate.py
│ ├── clean_mask.py
│ ├── curve_fitting.py
│ ├── dask.py
│ ├── data_access_api.py
│ ├── data_stats.py
│ ├── dc_baseline.py
│ ├── dc_ccd.py
│ ├── dc_chunker.py
│ ├── dc_clustering.py
│ ├── dc_coastal_change.py
│ ├── dc_display_map.py
│ ├── dc_displayutil.py
│ ├── dc_fractional_coverage_classifier.py
│ ├── dc_load.py
│ ├── dc_mosaic.py
│ ├── dc_ndvi_anomaly.py
│ ├── dc_rgb.py
│ ├── dc_sar_utils.py
│ ├── dc_slip.py
│ ├── dc_time.py
│ ├── dc_utilities.py
│ ├── dc_water_classifier.py
│ ├── dc_water_quality.py
│ ├── endmembers_landsat.csv
│ ├── import_export.py
│ ├── plotter_utils.py
│ ├── plotter_utils_consts.py
│ ├── raster_filter.py
│ ├── scale.py
│ ├── shapefile_mask.py
│ ├── sort.py
│ ├── transect
│ ├── __init__.py
│ ├── interpolate.py
│ ├── line_scan.py
│ ├── ordered_set.py
│ ├── tests
│ │ ├── test_interpolate.py
│ │ └── test_linescan.py
│ └── xarraypath.py
│ ├── trend.py
│ ├── unique.py
│ ├── urbanization.py
│ ├── vegetation.py
│ ├── wasard.py
│ └── xarray_bokeh_plotting.py
├── docs
├── assets
│ ├── frameworks-77c3b874f32e71b14cded5a120f42f5c7288fa52e0a37f2d5919fbd8bcfca63c.css
│ ├── github-9127cf9ba467dad0fd4917a7a402ad6cfa7b939bc149519d28b564124c740f3f.css
│ └── site-955690c4e09b2eeb3627ae6048471522eb98b42054150bd855ad4183db364816.css
├── bug_fix
│ ├── fix_SLIP_tool.md
│ └── fix_fractional_cover_tool.md
├── customization
│ ├── adapt_scale_to_custom_mosaic_product.md
│ ├── changing_collection_1_mask_options.md
│ ├── changing_pre-collection_mask_options.md
│ ├── create_and_ingest_new_product.md
│ ├── datacube_ui_cores
│ └── remove_dont_have_an_account.md
├── docs.md
├── installation
│ ├── arcsi_installation.md
│ ├── ows_addon.md
│ └── sen2cor_installation.md
├── media
│ ├── admin_C1_product.png
│ └── ordering_ESPA.png
└── notes
│ ├── restart.md
│ └── usage.md
├── hackathon
├── README.md
└── results
│ └── README.md
├── ingestors
├── Landsat
│ ├── ls5_c1_ard_scene.yaml
│ ├── ls5_ledaps_switzerland.yaml
│ ├── ls7_c1_ard_scene.yaml
│ ├── ls7_ledaps_switzerland.yaml
│ ├── ls8_c1_ard_scene.yaml
│ ├── ls8_lasrc_switzerland.yaml
│ └── usgs_ls_c1_ard_prepare.py
├── S1
│ ├── s1_l3comp_scenes.yaml
│ ├── s1_l3comp_switzerland.yaml
│ └── uzh_s1_l3comp_prepare.py
└── S2
│ ├── gee_s2_ard_prepare.py
│ ├── s2_ard_scene.yaml
│ └── s2_l2a_switzerland.yaml
├── notebooks
├── README.md
├── demo_FUN_draw_map.ipynb
├── demo_FUN_easy_export.ipynb
├── demo_FUN_easy_map.ipynb
├── demo_FUN_monit_sys.ipynb
├── demo_FUN_printandlog.ipynb
├── diagrams
│ └── documentation
│ │ ├── MS_netcdf_in_QGIS.png
│ │ ├── aspect_comparo.png
│ │ ├── landscape_water_demo.png
│ │ ├── mask_bands_table.png
│ │ ├── monit_sys_demo.png
│ │ ├── monthy_anomaly_figures.png
│ │ ├── ndvi_anomaly_products.png
│ │ ├── printandlog_figure.png
│ │ └── s2_monthly_anomaly_veg_only.png
├── land_degradation
│ ├── landcover.ipynb
│ ├── landproductivity.ipynb
│ └── soc.ipynb
├── log_notebook_activity.ipynb
├── monthly_anomaly.ipynb
└── swiss_utils
│ ├── __pycache__
│ └── sdc_utilities.cpython-35.pyc
│ └── sdc_utilities.py
├── scripts
└── README.md
└── viewer
├── .Rhistory
├── CHANGELOG.md
├── README.md
├── assets
├── css
│ ├── app.css
│ └── primer.css
├── img
│ ├── clippy.svg
│ ├── favicon-120.png
│ ├── favicon-152.png
│ ├── favicon-196.png
│ ├── favicon-76.png
│ ├── favicon.ico
│ ├── globe.png
│ └── metadata.png
└── js
│ └── app.js
├── config.js
├── index.html
├── leaflet
├── images
│ ├── layers-2x.png
│ ├── layers.png
│ ├── marker-icon-2x.png
│ ├── marker-icon.png
│ └── marker-shadow.png
├── leaflet-src.js
├── leaflet-src.js.map
├── leaflet.css
├── leaflet.js
├── leaflet.js.map
└── plugin
│ ├── clipboard
│ ├── .babelrc
│ ├── .editorconfig
│ ├── .github
│ │ └── issue_template.md
│ ├── .gitignore
│ ├── .npmignore
│ ├── .travis.yml
│ ├── demo
│ │ ├── constructor-node.html
│ │ ├── constructor-nodelist.html
│ │ ├── constructor-selector.html
│ │ ├── function-target.html
│ │ ├── function-text.html
│ │ ├── target-div.html
│ │ ├── target-input.html
│ │ └── target-textarea.html
│ └── dist
│ │ ├── clipboard.js
│ │ └── clipboard.min.js
│ ├── coordinates
│ ├── L.Control.MousePosition.css
│ └── L.Control.MousePosition.js
│ ├── extent
│ ├── leaflet.defaultextent.css
│ ├── leaflet.defaultextent.js
│ ├── leaflet.defaultextent.png
│ └── leaflet.defaultextent@2X.png
│ ├── fullscreen
│ ├── .eslintrc
│ ├── .mversionrc
│ ├── Control.FullScreen.css
│ ├── Control.FullScreen.js
│ ├── LICENSE
│ ├── README.md
│ ├── bower.json
│ ├── icon-fullscreen-2x.png
│ ├── icon-fullscreen.png
│ ├── index.html
│ └── package.json
│ ├── leaflet-easyPrint
│ ├── .eslintrc
│ ├── .gitignore
│ ├── .npmignore
│ └── dist
│ │ ├── bundle.js
│ │ └── bundle.js.map
│ ├── leaflet-fullHash
│ └── leaflet-fullHash.js
│ ├── leaflet-groupedlayercontrol
│ ├── MIT-LICENSE.txt
│ ├── leaflet.groupedlayercontrol.css
│ └── leaflet.groupedlayercontrol.js
│ ├── leaflet-side-by-side
│ ├── .gitignore
│ ├── .npmignore
│ ├── index.js
│ ├── layout.css
│ ├── leaflet-side-by-side.js
│ ├── leaflet-side-by-side.min.js
│ ├── range-icon.png
│ └── range.css
│ ├── leaflet-sidebar
│ ├── .gitignore
│ ├── .travis.yml
│ ├── .travis
│ │ ├── deploy.sh
│ │ └── deploy_key.pem.enc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── bower.json
│ ├── examples
│ │ ├── bootstrap.html
│ │ ├── index.html
│ │ ├── listing-markers.html
│ │ └── two-sidebars.html
│ ├── gulpfile.js
│ ├── leaflet-sidebar.gif
│ ├── package.json
│ └── src
│ │ ├── L.Control.Sidebar.css
│ │ ├── L.Control.Sidebar.js
│ │ └── L.Control.Sidebar.scss
│ ├── leaflet-storymap
│ ├── README.md
│ ├── img
│ │ ├── 1847-HPHS-Catalog1904p164.jpg
│ │ ├── 1905-HPHS-postcard.jpg
│ │ ├── BradleyAirport.jpg
│ │ └── TrinityCollege.jpg
│ ├── index.html
│ ├── map.csv
│ ├── map.geojson
│ ├── markers
│ │ ├── images
│ │ │ ├── markers_default.png
│ │ │ ├── markers_default@2x.png
│ │ │ ├── markers_shadow.png
│ │ │ └── markers_shadow@2x.png
│ │ ├── leaflet.extra-markers.min.css
│ │ └── leaflet.extra-markers.min.js
│ ├── script.js
│ └── style.css
│ ├── leaflet-sync
│ ├── .eslintrc
│ ├── .gitignore
│ ├── .mversionrc
│ ├── .travis.yml
│ └── L.Map.Sync.js
│ └── storymap-master
│ ├── index.html
│ ├── license.txt
│ ├── readme.md
│ ├── storymap.js
│ └── style.css
└── versions
├── 0.9.9
├── CHANGELOG.md
├── README.md
├── assets
│ ├── css
│ │ └── app.css
│ ├── img
│ │ ├── favicon-120.png
│ │ ├── favicon-152.png
│ │ ├── favicon-196.png
│ │ ├── favicon-76.png
│ │ ├── favicon.ico
│ │ ├── globe.png
│ │ └── metadata.png
│ └── js
│ │ └── app.js
├── config.js
├── index.html
└── leaflet
│ ├── images
│ ├── layers-2x.png
│ ├── layers.png
│ ├── marker-icon-2x.png
│ ├── marker-icon.png
│ └── marker-shadow.png
│ ├── leaflet-src.js
│ ├── leaflet-src.js.map
│ ├── leaflet.css
│ ├── leaflet.js
│ ├── leaflet.js.map
│ └── plugin
│ ├── coordinates
│ ├── L.Control.MousePosition.css
│ └── L.Control.MousePosition.js
│ ├── extent
│ ├── leaflet.defaultextent.css
│ ├── leaflet.defaultextent.js
│ ├── leaflet.defaultextent.png
│ └── leaflet.defaultextent@2X.png
│ ├── fullscreen
│ ├── .eslintrc
│ ├── .mversionrc
│ ├── Control.FullScreen.css
│ ├── Control.FullScreen.js
│ ├── LICENSE
│ ├── README.md
│ ├── bower.json
│ ├── icon-fullscreen-2x.png
│ ├── icon-fullscreen.png
│ ├── index.html
│ └── package.json
│ ├── leaflet-easyPrint
│ ├── .eslintrc
│ ├── .gitignore
│ ├── .npmignore
│ └── dist
│ │ ├── bundle.js
│ │ └── bundle.js.map
│ ├── leaflet-fullHash
│ └── leaflet-fullHash.js
│ └── leaflet-groupedlayercontrol
│ ├── MIT-LICENSE.txt
│ ├── leaflet.groupedlayercontrol.css
│ └── leaflet.groupedlayercontrol.js
├── 1.0.0
├── CHANGELOG.md
├── README.md
├── assets
│ ├── css
│ │ └── app.css
│ ├── img
│ │ ├── favicon-120.png
│ │ ├── favicon-152.png
│ │ ├── favicon-196.png
│ │ ├── favicon-76.png
│ │ ├── favicon.ico
│ │ ├── globe.png
│ │ └── metadata.png
│ └── js
│ │ └── app.js
├── config.js
├── index.html
└── leaflet
│ ├── images
│ ├── layers-2x.png
│ ├── layers.png
│ ├── marker-icon-2x.png
│ ├── marker-icon.png
│ └── marker-shadow.png
│ ├── leaflet-src.js
│ ├── leaflet-src.js.map
│ ├── leaflet.css
│ ├── leaflet.js
│ ├── leaflet.js.map
│ └── plugin
│ ├── coordinates
│ ├── L.Control.MousePosition.css
│ └── L.Control.MousePosition.js
│ ├── extent
│ ├── leaflet.defaultextent.css
│ ├── leaflet.defaultextent.js
│ ├── leaflet.defaultextent.png
│ └── leaflet.defaultextent@2X.png
│ ├── fullscreen
│ ├── .eslintrc
│ ├── .mversionrc
│ ├── Control.FullScreen.css
│ ├── Control.FullScreen.js
│ ├── LICENSE
│ ├── README.md
│ ├── bower.json
│ ├── icon-fullscreen-2x.png
│ ├── icon-fullscreen.png
│ ├── index.html
│ └── package.json
│ ├── leaflet-easyPrint
│ ├── .eslintrc
│ ├── .gitignore
│ ├── .npmignore
│ └── dist
│ │ ├── bundle.js
│ │ └── bundle.js.map
│ ├── leaflet-fullHash
│ └── leaflet-fullHash.js
│ └── leaflet-groupedlayercontrol
│ ├── MIT-LICENSE.txt
│ ├── leaflet.groupedlayercontrol.css
│ └── leaflet.groupedlayercontrol.js
├── 1.1.0
├── CHANGELOG.md
├── README.md
├── assets
│ ├── css
│ │ └── app.css
│ ├── img
│ │ ├── favicon-120.png
│ │ ├── favicon-152.png
│ │ ├── favicon-196.png
│ │ ├── favicon-76.png
│ │ ├── favicon.ico
│ │ ├── globe.png
│ │ └── metadata.png
│ └── js
│ │ └── app.js
├── config.js
├── index.html
└── leaflet
│ ├── images
│ ├── layers-2x.png
│ ├── layers.png
│ ├── marker-icon-2x.png
│ ├── marker-icon.png
│ └── marker-shadow.png
│ ├── leaflet-src.js
│ ├── leaflet-src.js.map
│ ├── leaflet.css
│ ├── leaflet.js
│ ├── leaflet.js.map
│ └── plugin
│ ├── coordinates
│ ├── L.Control.MousePosition.css
│ └── L.Control.MousePosition.js
│ ├── extent
│ ├── leaflet.defaultextent.css
│ ├── leaflet.defaultextent.js
│ ├── leaflet.defaultextent.png
│ └── leaflet.defaultextent@2X.png
│ ├── fullscreen
│ ├── .eslintrc
│ ├── .mversionrc
│ ├── Control.FullScreen.css
│ ├── Control.FullScreen.js
│ ├── LICENSE
│ ├── README.md
│ ├── bower.json
│ ├── icon-fullscreen-2x.png
│ ├── icon-fullscreen.png
│ ├── index.html
│ └── package.json
│ ├── leaflet-easyPrint
│ ├── .eslintrc
│ ├── .gitignore
│ ├── .npmignore
│ └── dist
│ │ ├── bundle.js
│ │ └── bundle.js.map
│ ├── leaflet-fullHash
│ └── leaflet-fullHash.js
│ └── leaflet-groupedlayercontrol
│ ├── MIT-LICENSE.txt
│ ├── leaflet.groupedlayercontrol.css
│ └── leaflet.groupedlayercontrol.js
├── 1.1.1
├── CHANGELOG.md
├── README.md
├── assets
│ ├── css
│ │ └── app.css
│ ├── img
│ │ ├── favicon-120.png
│ │ ├── favicon-152.png
│ │ ├── favicon-196.png
│ │ ├── favicon-76.png
│ │ ├── favicon.ico
│ │ ├── globe.png
│ │ └── metadata.png
│ └── js
│ │ └── app.js
├── config.js
├── index.html
└── leaflet
│ ├── images
│ ├── layers-2x.png
│ ├── layers.png
│ ├── marker-icon-2x.png
│ ├── marker-icon.png
│ └── marker-shadow.png
│ ├── leaflet-src.js
│ ├── leaflet-src.js.map
│ ├── leaflet.css
│ ├── leaflet.js
│ ├── leaflet.js.map
│ └── plugin
│ ├── coordinates
│ ├── L.Control.MousePosition.css
│ └── L.Control.MousePosition.js
│ ├── extent
│ ├── leaflet.defaultextent.css
│ ├── leaflet.defaultextent.js
│ ├── leaflet.defaultextent.png
│ └── leaflet.defaultextent@2X.png
│ ├── fullscreen
│ ├── .eslintrc
│ ├── .mversionrc
│ ├── Control.FullScreen.css
│ ├── Control.FullScreen.js
│ ├── LICENSE
│ ├── README.md
│ ├── bower.json
│ ├── icon-fullscreen-2x.png
│ ├── icon-fullscreen.png
│ ├── index.html
│ └── package.json
│ ├── leaflet-easyPrint
│ ├── .eslintrc
│ ├── .gitignore
│ ├── .npmignore
│ └── dist
│ │ ├── bundle.js
│ │ └── bundle.js.map
│ ├── leaflet-fullHash
│ └── leaflet-fullHash.js
│ └── leaflet-groupedlayercontrol
│ ├── MIT-LICENSE.txt
│ ├── leaflet.groupedlayercontrol.css
│ └── leaflet.groupedlayercontrol.js
└── 1.3.0
├── CHANGELOG.md
├── README.md
├── assets
├── css
│ ├── app.css
│ └── primer.css
├── img
│ ├── clippy.svg
│ ├── favicon-120.png
│ ├── favicon-152.png
│ ├── favicon-196.png
│ ├── favicon-76.png
│ ├── favicon.ico
│ ├── globe.png
│ └── metadata.png
└── js
│ └── app.js
├── config.js
├── index.html
└── leaflet
├── images
├── layers-2x.png
├── layers.png
├── marker-icon-2x.png
├── marker-icon.png
└── marker-shadow.png
├── leaflet-src.js
├── leaflet-src.js.map
├── leaflet.css
├── leaflet.js
├── leaflet.js.map
└── plugin
├── clipboard
├── .babelrc
├── .editorconfig
├── .github
│ └── issue_template.md
├── .gitignore
├── .npmignore
├── .travis.yml
├── demo
│ ├── constructor-node.html
│ ├── constructor-nodelist.html
│ ├── constructor-selector.html
│ ├── function-target.html
│ ├── function-text.html
│ ├── target-div.html
│ ├── target-input.html
│ └── target-textarea.html
└── dist
│ ├── clipboard.js
│ └── clipboard.min.js
├── coordinates
├── L.Control.MousePosition.css
└── L.Control.MousePosition.js
├── extent
├── leaflet.defaultextent.css
├── leaflet.defaultextent.js
├── leaflet.defaultextent.png
└── leaflet.defaultextent@2X.png
├── fullscreen
├── .eslintrc
├── .mversionrc
├── Control.FullScreen.css
├── Control.FullScreen.js
├── LICENSE
├── README.md
├── bower.json
├── icon-fullscreen-2x.png
├── icon-fullscreen.png
├── index.html
└── package.json
├── leaflet-easyPrint
├── .eslintrc
├── .gitignore
├── .npmignore
└── dist
│ ├── bundle.js
│ └── bundle.js.map
├── leaflet-fullHash
└── leaflet-fullHash.js
├── leaflet-groupedlayercontrol
├── MIT-LICENSE.txt
├── leaflet.groupedlayercontrol.css
└── leaflet.groupedlayercontrol.js
├── leaflet-side-by-side
├── .gitignore
├── .npmignore
├── index.js
├── layout.css
├── leaflet-side-by-side.js
├── leaflet-side-by-side.min.js
├── range-icon.png
└── range.css
├── leaflet-sidebar
├── .gitignore
├── .travis.yml
├── .travis
│ ├── deploy.sh
│ └── deploy_key.pem.enc
├── CHANGELOG.md
├── LICENSE
├── README.md
├── bower.json
├── examples
│ ├── bootstrap.html
│ ├── index.html
│ ├── listing-markers.html
│ └── two-sidebars.html
├── gulpfile.js
├── leaflet-sidebar.gif
├── package.json
└── src
│ ├── L.Control.Sidebar.css
│ ├── L.Control.Sidebar.js
│ └── L.Control.Sidebar.scss
├── leaflet-storymap
├── README.md
├── img
│ ├── 1847-HPHS-Catalog1904p164.jpg
│ ├── 1905-HPHS-postcard.jpg
│ ├── BradleyAirport.jpg
│ └── TrinityCollege.jpg
├── index.html
├── map.csv
├── map.geojson
├── markers
│ ├── images
│ │ ├── markers_default.png
│ │ ├── markers_default@2x.png
│ │ ├── markers_shadow.png
│ │ └── markers_shadow@2x.png
│ ├── leaflet.extra-markers.min.css
│ └── leaflet.extra-markers.min.js
├── script.js
└── style.css
├── leaflet-sync
├── .eslintrc
├── .gitignore
├── .mversionrc
├── .travis.yml
└── L.Map.Sync.js
└── storymap-master
├── index.html
├── license.txt
├── readme.md
├── storymap.js
└── style.css
/README.md:
--------------------------------------------------------------------------------
1 | # Swiss Data Cube
2 | Welcome tho the Swiss Data Cube (SDC) repository.
3 | The SDC is using the CEOS Open Data Cube technology to provide access and analysis capabilities to all Landsat (5,7,8), Sentinel 1, and Sentinel 2 data covering Switzerland from 1984 to present days.
4 |
5 | * [Documentation](docs/docs.md) and [Wiki](wiki) to get useuful information for installing, managing, and using a Data Cube.
6 | * The SDC [Viewer](viewer) is a web-based application used to visualize, query, and download products generated with the Swiss Data Cube. It uses [GeoServer](http://www.geoserver.org) to serve EO data.
7 | * Jupyter [Notebooks](notebooks) to interact with the Swiss Data Cube
8 |
--------------------------------------------------------------------------------
/baobab/modulefiles/dc_utils.own:
--------------------------------------------------------------------------------
1 | #%Module########################################################################
2 | #
3 | # ODC and SDC utilities module file
4 |
5 | proc ModulesHelp { } {
6 | puts stderr "Adds Open datacube and Swiss datacube utilities to the Python environment"
7 | }
8 |
9 | module-whatis "Loads Open and Swiss datacube utilities"
10 |
11 | # put here your path to SwissDataCube/baobab/py_src/, e.g.
12 | # prepend-path PYTHONPATH /home/my_username/my_libs/SwissDataCube/baobab/py_src/
13 | prepend-path PYTHONPATH REPLACE_THIS_BY_YOUR_PATH
14 |
--------------------------------------------------------------------------------
/baobab/py_src/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/baobab/py_src/__init__.py
--------------------------------------------------------------------------------
/baobab/py_src/opendc_utils/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/baobab/py_src/opendc_utils/__init__.py
--------------------------------------------------------------------------------
/baobab/py_src/opendc_utils/data_cube_utilities/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/baobab/py_src/opendc_utils/data_cube_utilities/__init__.py
--------------------------------------------------------------------------------
/baobab/py_src/opendc_utils/data_cube_utilities/dc_time.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 |
3 | def dt_to_str(date, fmt='%Y-%m-%d'):
4 | """
5 | Converts a datetime object to a string.
6 | """
7 | return date.strftime(fmt)
8 |
9 | def _n64_to_datetime(n64):
10 | """
11 | Converts Numpy 64 bit timestamps to datetime objects. Units in seconds
12 | """
13 | return datetime.utcfromtimestamp(n64.tolist() / 1e9)
14 |
15 | def _n64_datetime_to_scalar(dt64):
16 | """
17 | Converts a NumPy datetime64 object to the number of seconds since
18 | midnight, January 1, 1970, as a NumPy float64.
19 |
20 | Returns
21 | -------
22 | scalar: numpy.float64
23 | The number of seconds since midnight, January 1, 1970, as a NumPy float64.
24 | """
25 | return (dt64 - np.datetime64('1970-01-01T00:00:00Z')) / np.timedelta64(1, 's')
26 |
27 | def _scalar_to_n64_datetime(scalar):
28 | """
29 | Converts a floating point number to a NumPy datetime64 object.
30 |
31 | Returns
32 | -------
33 | dt64: numpy.datetime64
34 | The NumPy datetime64 object representing the datetime of the scalar argument.
35 | """
36 | return (scalar * np.timedelta64(1, 's')) + np.datetime64('1970-01-01T00:00:00Z')
--------------------------------------------------------------------------------
/baobab/py_src/opendc_utils/data_cube_utilities/import_export.py:
--------------------------------------------------------------------------------
1 | import time
2 | import numpy as np
3 | from . import dc_utilities
4 |
5 | ## Export ##
6 |
7 | def export_slice_to_geotiff(ds, path):
8 | """
9 | Exports a single slice of an xarray.Dataset as a GeoTIFF.
10 |
11 | ds: xarray.Dataset
12 | The Dataset to export.
13 | path: str
14 | The path to store the exported GeoTIFF.
15 | """
16 | kwargs = dict(tif_path=path, dataset=ds.astype(np.float32), bands=list(ds.data_vars.keys()))
17 | if 'crs' in ds.attrs:
18 | kwargs['crs'] = str(ds.attrs['crs'])
19 | dc_utilities.write_geotiff_from_xr(**kwargs)
20 |
21 | def export_xarray_to_geotiff(ds, path):
22 | """
23 | Exports an xarray.Dataset as individual time slices.
24 |
25 | Parameters
26 | ----------
27 | ds: xarray.Dataset
28 | The Dataset to export.
29 | path: str
30 | The path prefix to store the exported GeoTIFFs. For example, 'geotiffs/mydata' would result in files named like
31 | 'mydata_2016_12_05_12_31_36.tif' within the 'geotiffs' folder.
32 | """
33 | def time_to_string(t):
34 | return time.strftime("%Y_%m_%d_%H_%M_%S", time.gmtime(t.astype(int)/1000000000))
35 |
36 | for t in ds.time:
37 | time_slice_xarray = ds.sel(time = t)
38 | export_slice_to_geotiff(time_slice_xarray,
39 | path + "_" + time_to_string(t) + ".tif")
40 |
41 | ## End export ##
--------------------------------------------------------------------------------
/baobab/py_src/swiss_utils/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/baobab/py_src/swiss_utils/__init__.py
--------------------------------------------------------------------------------
/baobab/py_src/swiss_utils/data_cube_utilities/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/baobab/py_src/swiss_utils/data_cube_utilities/__init__.py
--------------------------------------------------------------------------------
/baobab/py_src/swiss_utils/define_mod_locs.py:
--------------------------------------------------------------------------------
1 | import sys
2 | sys.path.append("..")
3 | sys.path.append("../..")
4 | # sys.path.append("/home/jovyan/notebooks/dcal")
--------------------------------------------------------------------------------
/baobab/py_src/utils/data_cube_utilities/data_stats.py:
--------------------------------------------------------------------------------
1 | import xarray as xr
2 |
3 | ## Data Availability ##
4 |
5 | def find_gaps(data_arr, aggregation_method):
6 | """
7 | Finds the minimum, mean, median, or maximum time difference between True values
8 | in a boolean xarray.DataArray. This should be a faster implementation.
9 |
10 | Parameters
11 | ----------
12 | data_arr: xarray.DataArray of bool
13 | DataArray of boolean values denoting which elements are desired.
14 | Examples of desired elements include clear views (or "non-cloud pixels").
15 | This DataArray must have a 'time' dimension.
16 | aggregation_method: str
17 | The aggregation method to use. Can be any of ['min', 'mean', 'median', 'max'].
18 |
19 | Returns
20 | -------
21 | gaps: xarray.DataArray of float64
22 | The time gaps between True values in `data_arr`. Due to limitations of the numpy.datetime64 data type,
23 | the time differences are in seconds, stored as np.float64.
24 | """
25 | from .dc_time import _n64_datetime_to_scalar
26 |
27 | # 1. Convert time from numpy.datetime64 to scalars and broadcast along latitude and longitude.
28 | time = _n64_datetime_to_scalar(data_arr.time)
29 | time, _, _ = xr.broadcast(time, data_arr.latitude, data_arr.longitude)
30 | # 2. Fill each undesired point with its previous desired point's time and find the time differences.
31 | mask = data_arr == 1
32 | time = time.where(mask)
33 | time = time.ffill(dim='time')
34 | time_diff = time.diff('time')
35 | # A time difference is only 0 because of differencing after the forward fill.
36 | time_diff = time_diff.where(time_diff != 0)
37 | # 3. Calculate the desired statistic for the time differences.
38 | if aggregation_method == 'min': return time_diff.min('time')
39 | if aggregation_method == 'mean': return time_diff.mean('time')
40 | if aggregation_method == 'median': return time_diff.median('time')
41 | if aggregation_method == 'max': return time_diff.max('time')
42 |
43 | ## End Data Availability ##
--------------------------------------------------------------------------------
/baobab/py_src/utils/data_cube_utilities/dc_sar_utils.py:
--------------------------------------------------------------------------------
1 | import xarray as xr
2 | import numpy as np
3 |
4 |
5 | #db is given by 10*log10(DN) + CF. for ALOS this is apparently -83, 0 for s1
6 | #modifies in place.
7 | def dn_to_db(dataset_in, data_vars=['hh', 'hv'], cf=-83):
8 | for data_var in data_vars:
9 | dataset_in[data_var] = (
10 | 10 * xr.ufuncs.log10(xr.ufuncs.square(dataset_in[data_var].astype('float64'))) + cf).astype('float32')
11 |
--------------------------------------------------------------------------------
/baobab/py_src/utils/data_cube_utilities/dc_time.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | from datetime import datetime
3 |
4 | def dt_to_str(date, fmt='%Y-%m-%d'):
5 | """
6 | Converts a datetime object to a string.
7 | """
8 | return date.strftime(fmt)
9 |
10 | def _n64_to_datetime(n64):
11 | """
12 | Converts Numpy 64 bit timestamps to datetime objects. Units in seconds
13 | """
14 | return datetime.utcfromtimestamp(n64.tolist() / 1e9)
15 |
16 | def _n64_datetime_to_scalar(dt64):
17 | """
18 | Converts a NumPy datetime64 object to the number of seconds since
19 | midnight, January 1, 1970, as a NumPy float64.
20 |
21 | Returns
22 | -------
23 | scalar: numpy.float64
24 | The number of seconds since midnight, January 1, 1970, as a NumPy float64.
25 | """
26 | return (dt64 - np.datetime64('1970-01-01T00:00:00Z')) / np.timedelta64(1, 's')
27 |
28 | def _scalar_to_n64_datetime(scalar):
29 | """
30 | Converts a floating point number to a NumPy datetime64 object.
31 |
32 | Returns
33 | -------
34 | dt64: numpy.datetime64
35 | The NumPy datetime64 object representing the datetime of the scalar argument.
36 | """
37 | return (scalar * np.timedelta64(1, 's')) + np.datetime64('1970-01-01T00:00:00Z')
--------------------------------------------------------------------------------
/baobab/py_src/utils/data_cube_utilities/endmembers_landsat.csv:
--------------------------------------------------------------------------------
1 | 0.221278,0.194657,0.185084
2 | 0.158646,0.124426,0.133194
3 | 0.318769,0.353266,0.351759
4 | 0.27837,0.205394,0.219051
5 | 0.110084,0.207552,0.195807
6 | 0.240117,0.313152,0.372525
7 | -0.00350365,-0.0136971,-0.0252406
8 | -0.45829,-0.489322,-0.451449
9 | 0.00336074,0.0565252,0.026707
10 | -0.102095,-0.214333,-0.191102
11 | -0.431983,-0.343912,-0.3986
12 | -0.120435,-0.186504,-0.130198
13 | -0.356991,-0.349285,-0.34865
14 | -0.273501,-0.258459,-0.264982
15 | -0.369887,-0.35342,-0.332965
16 | -0.308914,-0.294818,-0.285217
17 | -0.41083,-0.276556,-0.243608
18 | -0.47814,-0.319201,-0.259104
19 | 0.0471296,0.00541363,-0.0144294
20 | 0.0672315,0.0330578,0.0134346
21 | 0.0961602,0.0463529,0.0250543
22 | 0.0553179,0.0345365,0.014565
23 | 0.0537376,0.0266596,0.0184105
24 | 0.0513707,0.0216845,0.00962467
25 | 0.0734568,0.0192625,0.00656426
26 | 0.00159656,-0.00577743,-0.0140936
27 | 0.0118977,-0.00509826,0.00269739
28 | 0.14005,0.107032,0.0912866
29 | 0.0297587,0.0760549,0.0730475
30 | 0.0366517,0.0648199,0.0852012
31 | 0.0796892,0.0702537,0.0586763
32 | 0.0983765,0.0713539,0.085325
33 | -0.0920991,0.0392889,0.0796964
34 | -0.00286206,-0.0310567,-0.0308064
35 | 0.00332116,0.0176412,0.00479461
36 | -0.0183138,-0.0417001,-0.0202645
37 | -0.0826381,-0.0597683,-0.0815997
38 | 0.0910667,0.114301,0.123672
39 | -0.0413266,-0.00853333,-0.0110451
40 | -0.266485,-0.243911,-0.208223
41 | -0.11121,-0.0795158,-0.0885339
42 | 0.0248843,-0.0103428,0.00376874
43 | 0.413122,0.41799,0.362451
44 | -0.20743,-0.193644,-0.19598
45 | 0.125396,0.0725202,0.0962061
46 | 0.153951,0.153932,0.175212
47 | -0.213856,-0.271798,-0.269369
48 | -0.0451829,-0.0389898,-0.0567644
49 | -0.204545,-0.21806,-0.196447
50 | 0.028604,0.0448428,0.0379768
51 | 0.100117,0.0171461,0.0262317
52 | -0.181644,-0.133052,-0.169625
53 | -0.100321,-0.152294,-0.0979239
54 | 0.218034,0.251028,0.218154
55 | 0.263396,0.205769,0.192002
56 | 0.0144514,0.0765301,0.00908153
57 | 0.121607,0.0628187,0.0826527
58 | 0.0858304,-0.0312874,-0.00785044
59 | -0.27968,-0.290508,-0.304775
60 | -0.119071,-0.218026,-0.159731
61 | -0.133257,-0.0817596,-0.132507
62 | 0.112391,0.0352191,0.0184495
63 | 0.217303,0.131567,0.181877
64 |
--------------------------------------------------------------------------------
/baobab/py_src/utils/data_cube_utilities/plotter_utils_consts.py:
--------------------------------------------------------------------------------
1 | # The number of points to use in smooth curve fits.
2 | n_pts_smooth = 2000
3 | default_fourier_n_harm = 10
--------------------------------------------------------------------------------
/baobab/py_src/utils/data_cube_utilities/sort.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 |
3 | def xarray_sortby_coord(dataset, coord):
4 | """
5 | Sort an xarray.Dataset by a coordinate. xarray.Dataset.sortby() sometimes fails, so this is an alternative.
6 | Credit to https://stackoverflow.com/a/42600594/5449970.
7 | """
8 | return dataset.loc[{coord:np.sort(dataset.coords[coord].values)}]
--------------------------------------------------------------------------------
/baobab/py_src/utils/data_cube_utilities/transect/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/baobab/py_src/utils/data_cube_utilities/transect/__init__.py
--------------------------------------------------------------------------------
/baobab/py_src/utils/data_cube_utilities/transect/interpolate.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | from itertools import islice
3 |
4 | nan = np.nan
5 |
6 | def window(seq, n=2):
7 | "Returns a sliding window (of width n) over data from the iterable"
8 | " s -> (s0,s1,...s[n-1]), (s1,s2,...,sn), ... "
9 | it = iter(seq)
10 | result = tuple(islice(it, n))
11 | if len(result) == n:
12 | yield result
13 | for elem in it:
14 | result = result[1:] + (elem,)
15 | yield result
16 |
17 | def hex_to_rgb(rgbstr):
18 | rgbstr= rgbstr.replace('#','')
19 | hex_prefix = '0x'
20 |
21 | r = hex_prefix + rgbstr[:2]
22 | g = hex_prefix + rgbstr[2:4]
23 | b = hex_prefix + rgbstr[4:]
24 |
25 | return np.array([int(r, 16),
26 | int(g, 16),
27 | int(b, 16)])
28 |
29 | def _bin_and_index(value, size):
30 | '''Takes two arguments. value and size. value is a float between 0 and 1, size is the number of bins into which
31 | we divide the range 0 and 1. An index is returned denoting which of these bins value falls into
32 | '''
33 | for i in range(size):
34 | if value > i/size and value <= (i + 1)/size:
35 | return i
36 | return 0
37 |
38 | def get_gradient(colors, value):
39 | ''' make sure the value is between 0 and 1. If the value is between 0 and 1, you will get interpolated values in between.
40 | This displays gradients with quadruple digit precision
41 | '''
42 |
43 | if np.isnan(value):
44 | return np.array([nan,nan,nan])
45 |
46 | colors = [np.array(hex_to_rgb(color)) for color in colors]
47 | color_pairs = list(window(colors))
48 |
49 | size = len(color_pairs)
50 | index = _bin_and_index(value,size)
51 | color1,color2 = color_pairs[index]
52 |
53 | direction = (color2 - color1).astype(float)
54 |
55 | v = value * size - index
56 | return (v * direction) + color1
57 |
58 |
--------------------------------------------------------------------------------
/baobab/py_src/utils/data_cube_utilities/transect/line_scan.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 |
3 | def _reformat(xs, ys):
4 | '''Zips a list of xs and a list of ys. Converts to np.array. Casts to int'''
5 | return np.array(list(zip(xs, ys))).astype(int)
6 |
7 | def line_scan(c1, c2):
8 | '''
9 | Accepts two integer coordinate pairs, c1 and c2.
10 | Returns a list of integer coordinate pairs representing all points on the line drawn between c1 and c2.
11 | '''
12 |
13 | c1 = np.array(c1)
14 | c2 = np.array(c2)
15 | x_direction = int( 2 * (int(c1[0] < c2[0]) - .5))
16 | y_direction = int( 2 * (int(c1[1] < c2[1]) - .5))
17 |
18 | if c1[0] == c2[0]:
19 | range_of_ys = list(range(c1[1], c2[1] + 1, y_direction))
20 | range_of_xs = [c1[0] for x in range_of_ys]
21 | return _reformat(range_of_xs, range_of_ys)
22 |
23 | if c1[1] == c2[1]:
24 | range_of_xs = list(range(c1[0], c2[0] + 1, x_direction))
25 | range_of_ys = [c1[1] for x in range_of_xs]
26 | return _reformat(range_of_xs, range_of_ys)
27 |
28 | dy = c2[1] - c1[1]
29 | dx = c2[0] - c1[0]
30 |
31 | m = dy/dx
32 | _y = c1[1]
33 | _x = c1[0]
34 |
35 | sign = 1 if m > 0 else -1
36 |
37 | if abs(m) >= 1:
38 |
39 | range_of_ys = list(range(c1[1], c2[1] + sign, sign*x_direction))
40 | range_of_xs = [ (((y-_y)/m) + _x)//1 for y in range_of_ys]
41 | return _reformat(range_of_xs, range_of_ys)
42 |
43 | elif abs(m) < 1:
44 |
45 | range_of_xs = list(range(c1[0], c2[0] + 1, x_direction))
46 | range_of_ys = [ (m * (x-_x))//1 + _y for x in range_of_xs]
47 |
48 | return _reformat(range_of_xs, range_of_ys)
--------------------------------------------------------------------------------
/baobab/py_src/utils/data_cube_utilities/transect/ordered_set.py:
--------------------------------------------------------------------------------
1 | import collections
2 |
3 | class OrderedSet(collections.MutableSet):
4 |
5 | def __init__(self, iterable=None):
6 | self.end = end = []
7 | end += [None, end, end] # sentinel node for doubly linked list
8 | self.map = {} # key --> [key, prev, next]
9 | if iterable is not None:
10 | self |= iterable
11 |
12 | def __len__(self):
13 | return len(self.map)
14 |
15 | def __contains__(self, key):
16 | return key in self.map
17 |
18 | def add(self, key):
19 | if key not in self.map:
20 | end = self.end
21 | curr = end[1]
22 | curr[2] = end[1] = self.map[key] = [key, curr, end]
23 |
24 | def discard(self, key):
25 | if key in self.map:
26 | key, prev, next = self.map.pop(key)
27 | prev[2] = next
28 | next[1] = prev
29 |
30 | def __iter__(self):
31 | end = self.end
32 | curr = end[2]
33 | while curr is not end:
34 | yield curr[0]
35 | curr = curr[2]
36 |
37 | def __reversed__(self):
38 | end = self.end
39 | curr = end[1]
40 | while curr is not end:
41 | yield curr[0]
42 | curr = curr[1]
43 |
44 | def pop(self, last=True):
45 | if not self:
46 | raise KeyError('set is empty')
47 | key = self.end[1][0] if last else self.end[2][0]
48 | self.discard(key)
49 | return key
50 |
51 | def __repr__(self):
52 | if not self:
53 | return '%s()' % (self.__class__.__name__,)
54 | return '%s(%r)' % (self.__class__.__name__, list(self))
55 |
56 | def __eq__(self, other):
57 | if isinstance(other, OrderedSet):
58 | return len(self) == len(other) and list(self) == list(other)
59 | return set(self) == set(other)
60 |
61 |
62 |
--------------------------------------------------------------------------------
/baobab/py_src/utils/data_cube_utilities/transect/xarraypath.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 |
3 | def get_index_at(coords, ds):
4 | lat = coords[0]
5 | lon = coords[1]
6 |
7 | nearest_lat = ds.sel(latitude = lat, method = 'nearest').latitude.values
8 | nearest_lon = ds.sel(longitude = lon, method = 'nearest').longitude.values
9 |
10 | lat_index = np.where(ds.latitude.values == nearest_lat)[0]
11 | lon_index = np.where(ds.longitude.values == nearest_lon)[0]
12 |
13 | return (int(lat_index), int(lon_index))
14 |
15 | def create_pixel_trail(start, end, ds):
16 | a = get_index_at(start, ds)
17 | b = get_index_at(end, ds)
18 |
19 | indices = line_scan(a, b)
20 |
21 | pixels = [ ds.isel(latitude = x, longitude = y) for x, y in indices]
22 | return pixels
23 |
24 |
25 |
--------------------------------------------------------------------------------
/baobab/py_src/utils/data_cube_utilities/unique.py:
--------------------------------------------------------------------------------
1 | def dask_array_uniques(arr):
2 | """
3 | Returns the unique values for a Dask Array object.
4 |
5 | Parameters
6 | ----------
7 | arr: dask.array.core.Array
8 |
9 | Returns
10 | -------
11 | uniques: numpy.ndarray
12 | """
13 | import dask
14 |
15 | return dask.dataframe.from_dask_array(arr.flatten())\
16 | .drop_duplicates().to_dask_array(lengths=True).compute()
--------------------------------------------------------------------------------
/docs/bug_fix/fix_SLIP_tool.md:
--------------------------------------------------------------------------------
1 | # Fix SLIP tool
2 | Using https://earthexplorer.usgs.gov/ > Data Sets > Digital Elevation > ASTER GLOBAL DEM.
3 | Download tiles and unzip them on the server in */original_data/* folder.
4 | ```
5 | cd ~/Datacube/agdc-v2
6 | source ~/Datacube/datacube_env/bin/activate
7 | datacube product add ingest/dataset_types/aster_gdem/aster_gdem_product_definition.yaml # DO IT ONLY THE 1ST TIME
8 | datacube product list # just to check
9 | python ./ingest/prepare_scripts/aster_gdem/aster_gdem2_prepare_bc.py -p /datacube/original_data/ASTGTM2_N42E042/ # modified by BC: ASTGTM2_N??W???_ -> ASTGTM2_???????_
10 | datacube dataset add /datacube/original_data/*/*.yaml --auto-match
11 | datacube -v ingest -c ./ingest/ingestion_configs/aster_gdem_wgs84_georgia.yaml --executor multiproc 3
12 | deactivate
13 | ```
14 |
--------------------------------------------------------------------------------
/docs/bug_fix/fix_fractional_cover_tool.md:
--------------------------------------------------------------------------------
1 | # Fix fractional cover tool
2 | Rename 'localuser' to 'sdcuser' in *data_cube_ui/utils/dc_fractional_coverage_classifier.py*
3 | ```python
4 | end_members = np.loadtxt(
5 | '/home/sdcuser/Datacube/data_cube_ui/utils/endmembers_landsat.csv', delimiter=',')
6 | ```
7 | If the change is not effective, type:
8 | ```
9 | sudo /etc/init.d/data_cube_ui restart
10 | sudo /etc/init.d/celerybeat restart
11 | ```
12 |
--------------------------------------------------------------------------------
/docs/customization/adapt_scale_to_custom_mosaic_product.md:
--------------------------------------------------------------------------------
1 | # Adapt scale to custom mosaic product
2 | In the case the datacube contains products with large values range difference (for example USGS SR values are ~10x the values of GRID made SR).
3 | * Modify lines 390 and 455 *data_cube_ui/apps/custom_mosaic_tool/tasks.py* into (the range need to be adapted)
4 | ```python
5 | scale = (0, 4096) if "C1" in task.platform else (0, 500),
6 | ```
7 | * Then via ssh:
8 | ```
9 | sudo /etc/init.d/data_cube_ui restart
10 | sudo /etc/init.d/celerybeat restart
11 | ```
12 |
--------------------------------------------------------------------------------
/docs/customization/changing_collection_1_mask_options.md:
--------------------------------------------------------------------------------
1 | # Changing collection 1 mask options
2 |
3 | Identify the bit values using the appropriate *yaml* in *agdc-v2/ingest/dataset_types*
4 |
5 | ```yaml
6 | - name: 'pixel_qa'
7 | aliases: [pixel_qa]
8 | dtype: uint16
9 | nodata: 1
10 | units: 'bit_index'
11 | flags_definition:
12 | pixel_qa:
13 | bits: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
14 | description: Level 2 Pixel Quality Band
15 | values:
16 | 1: Fill
17 | 2: Clear
18 | 4: Water
19 | 8: Cloud shadow
20 | 16: Snow
21 | 32: Cloud
22 | 64: Cloud Confidence Low Bit
23 | 128: Cloud Confidence High Bit
24 | 256: Unused
25 | 512: Unused
26 | 1024: Unused
27 | 2048: Unused
28 | 4096: Unused
29 | 8192: Unused
30 | 16384: Unused
31 | 32786: Unused
32 | ```
33 |
34 | Then adapt the *create_cfmask_clean_mask* function in the appropriate task.py (in our case *data_cube_ui/apps/custom_mosaic_tool/tasl.py*):
35 | ```python
36 | clear_mask = create_cfmask_clean_mask(data.cf_mask) if 'cf_mask' in data else create_bit_mask(data.pixel_qa,
37 | [1, 2, 4])
38 | ```
39 | Be careful as you can have several fucntion called several time in a single python script.
40 |
41 | Another radical option is to bypass the *valid_bits* list in the script *data_cube_ui/utils/dc_utilities*:
42 | ```python
43 | def create_bit_mask(data_array, valid_bits, no_data=-9999):
44 | valid_bits = [1, 2, 4]
45 | ```
46 | If the change is not effective, type:
47 | ```
48 | sudo /etc/init.d/data_cube_ui restart
49 | sudo /etc/init.d/celerybeat restart
50 | ```
51 |
--------------------------------------------------------------------------------
/docs/customization/changing_pre-collection_mask_options.md:
--------------------------------------------------------------------------------
1 | # Changing pre-collection mask options
2 | Adapt the clean_mask values in *data_cube_ui/utils/dc_utilities.py*
3 | ```python
4 | #########################
5 | # cfmask values: #
6 | # 0 - clear #
7 | # 1 - water #
8 | # 2 - cloud shadow #
9 | # 3 - snow #
10 | # 4 - cloud #
11 | # 255 - fill #
12 | #########################
13 |
14 | clean_mask = (cfmask == 0) | (cfmask == 1)
15 | ```
16 |
--------------------------------------------------------------------------------
/docs/customization/datacube_ui_cores:
--------------------------------------------------------------------------------
1 | # Number of Workers
2 |
3 | Depending the number of CPU and amount of RAM the number of parallel process has to be adapted.
4 |
5 | Thi operation can be done in /etc/default/data_cube_ui
6 |
7 | Default value in place from CEOS is 10 workers:
8 | #CELERYD_OPTS="-c 10 -Ofair"
9 |
10 | Around 2Go is necessary by worker. For 50Go RAM for Swiss DC
11 | CELERYD_OPTS="-c 25 -Ofair"
12 |
--------------------------------------------------------------------------------
/docs/customization/remove_dont_have_an_account.md:
--------------------------------------------------------------------------------
1 | # Remove "Don't have an account? Register here." from Login screen
2 | In *data_cube_ui/apps/accounts/templates/registration/login.html*, comment the part:
3 | ```html
4 |
5 |
9 | {% endblock %}
10 | ```
11 | Finally rename the registration.py file
12 |
--------------------------------------------------------------------------------
/docs/docs.md:
--------------------------------------------------------------------------------
1 | # Documentation
2 | ## installation
3 | [ARCSI installation](installation/arcsi_installation.md)
4 |
5 | [SEN2COR installation](installation/sen2cor_installation.md)
6 |
7 | [OWS Addon installation](installation/ows_addon.md)
8 |
9 | ## bug fix
10 | [Fix fractional cover tool](bug_fix/fix_fractional_cover_tool.md)
11 |
12 | [Fix SLIP tool](bug_fix/fix_SLIP_tool.md)
13 |
14 | ## customization
15 | [Adapt scale to custom mosaic product](customization/adapt_scale_to_custom_mosaic_product.md)
16 |
17 | [Changing collection 1 mask options](customization/changing_collection_1_mask_options.md)
18 |
19 | [Changing pre-collection mask options](customization/changing_pre-collection_mask_options.md)
20 |
21 | [Create and ingest a new product (e.g. Landsat 7 Collection 1)](customization/create_and_ingest_new_product.md)
22 |
23 | [Remove "Don't have an account? Register here." from Login screen](customization/remove_dont_have_an_account.md)
24 |
25 | ## notes
26 | [Usage](notes/usage.md)
27 |
28 | [Restart datacube procedure](notes/restart.md)
29 |
--------------------------------------------------------------------------------
/docs/installation/arcsi_installation.md:
--------------------------------------------------------------------------------
1 | # ARCSI installation
2 | ## Install anaconda
3 | ```
4 | wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
5 | bash Miniconda3-latest-Linux-x86_64.sh
6 | source ~/.bashrc
7 | rm Miniconda3-latest-Linux-x86_64.sh
8 | conda update conda --yes
9 | ```
10 | ## Install ARCSI
11 | ```
12 | conda create --name osgeoenv python=3.5 --yes
13 | source activate osgeoenv
14 | conda install -c conda-forge arcsi --yes
15 | conda update -c conda-forge --all
16 | arcsi.py -h # To test installation
17 | source deactivate
18 | ```
19 |
--------------------------------------------------------------------------------
/docs/installation/sen2cor_installation.md:
--------------------------------------------------------------------------------
1 | # SEN2COR installation
2 | ```
3 | wget http://step.esa.int/thirdparties/sen2cor/2.5.5/Sen2Cor-02.05.05-Linux64.run
4 | bash Sen2Cor-02.05.05-Linux64.run --target ./aux/sen2cor205
5 | /home/localuser/aux/sen2cor205/bin/L2A_Process # To test installation
6 | rm Sen2Cor-02.05.05-Linux64.run
7 | ```
8 |
--------------------------------------------------------------------------------
/docs/media/admin_C1_product.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/docs/media/admin_C1_product.png
--------------------------------------------------------------------------------
/docs/media/ordering_ESPA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/docs/media/ordering_ESPA.png
--------------------------------------------------------------------------------
/docs/notes/restart.md:
--------------------------------------------------------------------------------
1 | # Restart datacube procedure
2 |
3 | ```
4 | sudo swapon /swap-1G.img
5 | sudo /etc/init.d/data_cube_ui restart
6 | sudo /etc/init.d/celerybeat restart
7 | cd /home/sdcuser/Datacube/data_cube_notebooks/
8 | source /home/sdcuser/Datacube/datacube_env/bin/activate
9 | export XDG_RUNTIME_DIR=""
10 | jupyter notebook --no-browser --ip='*' --port='8080'
11 | ctrl-z
12 | bg
13 | disown
14 | ```
15 |
--------------------------------------------------------------------------------
/hackathon/results/README.md:
--------------------------------------------------------------------------------
1 | # Group results
2 | Please upload your code, documentation etc...
3 |
--------------------------------------------------------------------------------
/ingestors/S1/s1_l3comp_scenes.yaml:
--------------------------------------------------------------------------------
1 | name: s1_l3comp_scene
2 | description: Sentinel 1 Gamma0 L3 12 day backscatter composite
3 | metadata_type: eo
4 |
5 | metadata:
6 | format: {name: GeoTIFF}
7 | instrument: {name: SAR}
8 | platform: {code: SENTINEL_1_L3C}
9 | product_type: gamma0
10 |
11 | measurements:
12 | - name: 'vh_gamma0'
13 | aliases: [band_01, B01, Band1, vh, VH]
14 | units: '1'
15 | dtype: float32
16 | nodata: -9999
17 |
18 | - name: 'vv_gamma0'
19 | aliases: [band_02, B02, Band2, vv, VV]
20 | units: '1'
21 | dtype: float32
22 | nodata: -9999
23 |
--------------------------------------------------------------------------------
/notebooks/README.md:
--------------------------------------------------------------------------------
1 | # Notebooks
2 | Jupyter notebooks
3 |
--------------------------------------------------------------------------------
/notebooks/diagrams/documentation/MS_netcdf_in_QGIS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/notebooks/diagrams/documentation/MS_netcdf_in_QGIS.png
--------------------------------------------------------------------------------
/notebooks/diagrams/documentation/aspect_comparo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/notebooks/diagrams/documentation/aspect_comparo.png
--------------------------------------------------------------------------------
/notebooks/diagrams/documentation/landscape_water_demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/notebooks/diagrams/documentation/landscape_water_demo.png
--------------------------------------------------------------------------------
/notebooks/diagrams/documentation/mask_bands_table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/notebooks/diagrams/documentation/mask_bands_table.png
--------------------------------------------------------------------------------
/notebooks/diagrams/documentation/monit_sys_demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/notebooks/diagrams/documentation/monit_sys_demo.png
--------------------------------------------------------------------------------
/notebooks/diagrams/documentation/monthy_anomaly_figures.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/notebooks/diagrams/documentation/monthy_anomaly_figures.png
--------------------------------------------------------------------------------
/notebooks/diagrams/documentation/ndvi_anomaly_products.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/notebooks/diagrams/documentation/ndvi_anomaly_products.png
--------------------------------------------------------------------------------
/notebooks/diagrams/documentation/printandlog_figure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/notebooks/diagrams/documentation/printandlog_figure.png
--------------------------------------------------------------------------------
/notebooks/diagrams/documentation/s2_monthly_anomaly_veg_only.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/notebooks/diagrams/documentation/s2_monthly_anomaly_veg_only.png
--------------------------------------------------------------------------------
/notebooks/swiss_utils/__pycache__/sdc_utilities.cpython-35.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/notebooks/swiss_utils/__pycache__/sdc_utilities.cpython-35.pyc
--------------------------------------------------------------------------------
/scripts/README.md:
--------------------------------------------------------------------------------
1 | # Scripts
2 | Python processing scripts
3 |
--------------------------------------------------------------------------------
/viewer/.Rhistory:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/.Rhistory
--------------------------------------------------------------------------------
/viewer/README.md:
--------------------------------------------------------------------------------
1 | # SwissDataCube - Viewer
2 | This is the repository for the SwissDataCUbe - Viewer.
3 | The aim is to develop an application to visualize, query, and download time-series data produced by the SwissDataCube.
4 | It is based on bootleaf (https://github.com/bmcbride/bootleaf) providing a simple, responsive template for building web mapping applications with [Bootstrap](http://getbootstrap.com/), [Leaflet](http://leafletjs.com/), and [typeahead.js](http://twitter.github.io/typeahead.js/).
5 |
6 | Data are published using GeoServer (http://www.geoserver.org) to provide an interoperable access to data using OGC WMS & WCS standards.
7 |
8 | The viewer allows:
9 | - Visualizing and Downloading single raster product layers
10 | - Visualizing and Downloading time-series raster product layers
11 | - Generating graph for a given pixel of a time-series raster product layer
12 | - Access products in your own client with WMS & WCS standards
13 | - Metadata support
14 |
--------------------------------------------------------------------------------
/viewer/assets/img/clippy.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/viewer/assets/img/favicon-120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/assets/img/favicon-120.png
--------------------------------------------------------------------------------
/viewer/assets/img/favicon-152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/assets/img/favicon-152.png
--------------------------------------------------------------------------------
/viewer/assets/img/favicon-196.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/assets/img/favicon-196.png
--------------------------------------------------------------------------------
/viewer/assets/img/favicon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/assets/img/favicon-76.png
--------------------------------------------------------------------------------
/viewer/assets/img/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/assets/img/favicon.ico
--------------------------------------------------------------------------------
/viewer/assets/img/globe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/assets/img/globe.png
--------------------------------------------------------------------------------
/viewer/assets/img/metadata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/assets/img/metadata.png
--------------------------------------------------------------------------------
/viewer/config.js:
--------------------------------------------------------------------------------
1 | var appConfig={
2 | 'appVersion' : '1.3.1',
3 | 'appVersionDate' : '[23.09.2019]',
4 | 'gsHost' : 'https://geoserver.swissdatacube.org/geoserver/ows?',
5 | 'mapZoom' : '8',
6 | 'mapMinZoom' : '7',
7 | 'mapMaxZoom' : '15',
8 | 'mapCenter' : [46.78, 8.22],
9 | 'cswLayer1' : 'https://geoserver.swissdatacube.org/geoserver/ows?request=GetRecordById&service=CSW&version=2.0.2&elementSetName=full&id=sdc:L8_CHmosaic_2016&outputSchema=http://www.isotc211.org/2005/gmd',
10 | 'cswLayer2' : 'https://geoserver.swissdatacube.org/geoserver/ows?request=GetRecordById&service=CSW&version=2.0.2&elementSetName=full&id=sdc:clipch_95_051&outputSchema=http://www.isotc211.org/2005/gmd',
11 | 'cswLayer3' : 'https://geoserver.swissdatacube.org/geoserver/ows?request=GetRecordById&service=CSW&version=2.0.2&elementSetName=full&id=sdc:clipch_05_171&outputSchema=http://www.isotc211.org/2005/gmd',
12 | 'cswLayer4' : 'https://geoserver.swissdatacube.org/geoserver/ows?request=GetRecordById&service=CSW&version=2.0.2&elementSetName=full&id=sdc:diff_all_CH&outputSchema=http://www.isotc211.org/2005/gmd',
13 | 'cswLayer5' : 'https://geoserver.swissdatacube.org/geoserver/ows?request=GetRecordById&service=CSW&version=2.0.2&elementSetName=full&id=atlas:sites&outputSchema=http://www.isotc211.org/2005/gmd',
14 | };
--------------------------------------------------------------------------------
/viewer/leaflet/images/layers-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/leaflet/images/layers-2x.png
--------------------------------------------------------------------------------
/viewer/leaflet/images/layers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/leaflet/images/layers.png
--------------------------------------------------------------------------------
/viewer/leaflet/images/marker-icon-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/leaflet/images/marker-icon-2x.png
--------------------------------------------------------------------------------
/viewer/leaflet/images/marker-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/leaflet/images/marker-icon.png
--------------------------------------------------------------------------------
/viewer/leaflet/images/marker-shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/leaflet/images/marker-shadow.png
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/clipboard/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["es2015"],
3 | "plugins": ["transform-es2015-modules-umd"]
4 | }
5 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/clipboard/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig helps developers define and maintain consistent
2 | # coding styles between different editors and IDEs
3 | # http://editorconfig.org
4 |
5 | root = true
6 |
7 | [*]
8 | # Change these settings to your own preference
9 | indent_style = space
10 | indent_size = 4
11 |
12 | # We recommend you to keep these unchanged
13 | end_of_line = lf
14 | charset = utf-8
15 | trim_trailing_whitespace = true
16 | insert_final_newline = true
17 |
18 | [*.md]
19 | trim_trailing_whitespace = false
20 |
21 | [{package.json,bower.json}]
22 | indent_size = 2
23 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/clipboard/.github/issue_template.md:
--------------------------------------------------------------------------------
1 | ### Minimal example
2 |
3 | > Fork this [JSFiddle](https://jsfiddle.net/zenorocha/5kk0eysw/) and reproduce your issue.
4 |
5 | ### Expected behaviour
6 |
7 | I thought that by going to the page '...' and pressing the button '...' then '...' would happen.
8 |
9 | ### Actual behaviour
10 |
11 | Instead of '...', what I saw was that '...' happened instead.
12 |
13 | ### Browsers affected
14 |
15 | I tested on all major browsers and only IE 11 does not work.
16 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/clipboard/.gitignore:
--------------------------------------------------------------------------------
1 | lib
2 | npm-debug.log
3 | bower_components
4 | node_modules
5 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/clipboard/.npmignore:
--------------------------------------------------------------------------------
1 | /.*/
2 | /demo/
3 | /test/
4 | /.*
5 | /bower.json
6 | /karma.conf.js
7 | /src
8 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/clipboard/.travis.yml:
--------------------------------------------------------------------------------
1 | sudo: false
2 | language: node_js
3 | node_js:
4 | - stable
5 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/clipboard/demo/constructor-node.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | constructor-node
6 |
7 |
8 |
9 |
10 |
11 | Copy
12 |
13 |
14 |
15 |
16 |
17 |
18 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/clipboard/demo/constructor-nodelist.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | constructor-nodelist
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/clipboard/demo/constructor-selector.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | constructor-selector
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/clipboard/demo/function-target.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | function-target
6 |
7 |
8 |
9 |
10 |
11 | hello
12 |
13 |
14 |
15 |
16 |
17 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/clipboard/demo/function-text.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | function-text
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/clipboard/demo/target-div.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | target-div
6 |
7 |
8 |
9 |
10 | hello
11 |
12 |
13 |
14 |
15 |
16 |
17 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/clipboard/demo/target-input.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | target-input
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/clipboard/demo/target-textarea.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | target-textarea
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/coordinates/L.Control.MousePosition.css:
--------------------------------------------------------------------------------
1 | .leaflet-container .leaflet-control-mouseposition {
2 | background-color: rgba(255, 255, 255, 0.7);
3 | box-shadow: 0 0 5px #bbb;
4 | padding: 0 5px;
5 | margin:0;
6 | color: #333;
7 | font: 11px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
8 | }
9 |
10 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/coordinates/L.Control.MousePosition.js:
--------------------------------------------------------------------------------
1 | L.Control.MousePosition = L.Control.extend({
2 | options: {
3 | position: 'bottomleft',
4 | separator: ' : ',
5 | emptyString: 'Unavailable',
6 | lngFirst: false,
7 | numDigits: 5,
8 | lngFormatter: undefined,
9 | latFormatter: undefined,
10 | prefix: ""
11 | },
12 |
13 | onAdd: function (map) {
14 | this._container = L.DomUtil.create('div', 'leaflet-control-mouseposition');
15 | L.DomEvent.disableClickPropagation(this._container);
16 | map.on('mousemove', this._onMouseMove, this);
17 | this._container.innerHTML=this.options.emptyString;
18 | return this._container;
19 | },
20 |
21 | onRemove: function (map) {
22 | map.off('mousemove', this._onMouseMove)
23 | },
24 |
25 | _onMouseMove: function (e) {
26 | var lng = this.options.lngFormatter ? this.options.lngFormatter(e.latlng.lng) : L.Util.formatNum(e.latlng.lng, this.options.numDigits);
27 | var lat = this.options.latFormatter ? this.options.latFormatter(e.latlng.lat) : L.Util.formatNum(e.latlng.lat, this.options.numDigits);
28 | var value = this.options.lngFirst ? lng + this.options.separator + lat : lat + this.options.separator + lng;
29 | var prefixAndValue = this.options.prefix + ' ' + value;
30 | this._container.innerHTML = prefixAndValue;
31 | }
32 |
33 | });
34 |
35 | L.Map.mergeOptions({
36 | positionControl: false
37 | });
38 |
39 | L.Map.addInitHook(function () {
40 | if (this.options.positionControl) {
41 | this.positionControl = new L.Control.MousePosition();
42 | this.addControl(this.positionControl);
43 | }
44 | });
45 |
46 | L.control.mousePosition = function (options) {
47 | return new L.Control.MousePosition(options);
48 | };
49 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/extent/leaflet.defaultextent.css:
--------------------------------------------------------------------------------
1 | .leaflet-control-defaultextent {
2 |
3 | }
4 |
5 | .leaflet-control-defaultextent-toggle {
6 | text-indent: -9999px;
7 | white-space: nowrap;
8 | background-image: url('leaflet.defaultextent.png');
9 | width: 26px;
10 | height: 26px;
11 | display: block;
12 | }
13 |
14 | /* CSS for high-resolution devices */
15 | @media only screen and (-Webkit-min-device-pixel-ratio: 1.5),
16 | only screen and (-moz-min-device-pixel-ratio: 1.5),
17 | only screen and (-o-min-device-pixel-ratio: 3/2),
18 | only screen and (min-device-pixel-ratio: 1.5) {
19 | .leaflet-control-defaultextent-toggle {
20 | background-image: url('leaflet.defaultextent@2X.png');
21 | background-size: 26px 26px;
22 | background-repeat: no-repeat;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/extent/leaflet.defaultextent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/leaflet/plugin/extent/leaflet.defaultextent.png
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/extent/leaflet.defaultextent@2X.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/leaflet/plugin/extent/leaflet.defaultextent@2X.png
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/fullscreen/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "camelcase": 0,
4 | "quotes": [2, "single", "avoid-escape"],
5 | "no-mixed-spaces-and-tabs": [2, "smart-tabs"],
6 | "space-before-function-paren": 2,
7 | "space-in-parens": 2,
8 | "object-curly-spacing": [2, "never"],
9 | "array-bracket-spacing": 2,
10 | "computed-property-spacing": 2,
11 | "space-before-blocks": 2,
12 | "keyword-spacing": 2,
13 | "no-lonely-if": 2,
14 | "comma-style": 2,
15 | "no-underscore-dangle": 0,
16 | "no-constant-condition": 0,
17 | "no-multi-spaces": 0,
18 | "strict": 0,
19 | "key-spacing": 0,
20 | "no-shadow": 0,
21 | "no-unused-vars": 2
22 | },
23 | "globals": {
24 | "L": true,
25 | "module": false,
26 | "define": false,
27 | "require": true
28 | },
29 | "env": {
30 | "browser": true
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/fullscreen/.mversionrc:
--------------------------------------------------------------------------------
1 | {
2 | "commitMessage": "version %s",
3 | "tagName": "%s",
4 | "scripts": {
5 | "postcommit": "git push && git push --tags && npm publish"
6 | }
7 | }
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/fullscreen/Control.FullScreen.css:
--------------------------------------------------------------------------------
1 | .fullscreen-icon { background-image: url(icon-fullscreen.png); }
2 | .leaflet-retina .fullscreen-icon { background-image: url(icon-fullscreen-2x.png); background-size: 26px 26px; }
3 | /* one selector per rule as explained here : http://www.sitepoint.com/html5-full-screen-api/ */
4 | .leaflet-container:-webkit-full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
5 | .leaflet-container:-ms-fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
6 | .leaflet-container:full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
7 | .leaflet-container:fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
8 | .leaflet-pseudo-fullscreen { position: fixed !important; width: 100% !important; height: 100% !important; top: 0px !important; left: 0px !important; z-index: 99999; }
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/fullscreen/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2013, Bruno Bergot
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/fullscreen/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "leaflet.fullscreen",
3 | "version": "1.4.4",
4 | "homepage": "https://github.com/brunob/leaflet.fullscreen",
5 | "license": "MIT",
6 | "authors": [
7 | "brunob "
8 | ],
9 | "description": "Leaflet.Control.FullScreen for Leaflet",
10 | "main": [
11 | "Control.FullScreen.js",
12 | "Control.FullScreen.css",
13 | "icon-fullscreen.png",
14 | "icon-fullscreen-2x.png"
15 | ],
16 | "devDependencies": {
17 | "eslint": "2.3.0"
18 | },
19 | "keywords": [
20 | "leaflet",
21 | "plugins",
22 | "maps",
23 | "fullscreen"
24 | ],
25 | "ignore": [
26 | "**/.*",
27 | "node_modules",
28 | "bower_components",
29 | "test",
30 | "tests",
31 | "index.html"
32 | ]
33 | }
34 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/fullscreen/icon-fullscreen-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/leaflet/plugin/fullscreen/icon-fullscreen-2x.png
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/fullscreen/icon-fullscreen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/leaflet/plugin/fullscreen/icon-fullscreen.png
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/fullscreen/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Leaflet.Control.FullScreen Demo
6 |
7 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/fullscreen/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "leaflet.fullscreen",
3 | "version": "1.4.4",
4 | "description": "Simple plugin for Leaflet that adds fullscreen button to your maps.",
5 | "main": "Control.FullScreen.js",
6 | "scripts": {
7 | "test": "eslint --config .eslintrc Control.FullScreen.js"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "git://github.com/brunob/leaflet.fullscreen.git"
12 | },
13 | "keywords": [
14 | "leaflet",
15 | "plugins",
16 | "maps",
17 | "fullscreen"
18 | ],
19 | "devDependencies": {
20 | "eslint": "2.3.0"
21 | },
22 | "author": "b_b",
23 | "license": "MIT License",
24 | "readmeFilename": "README.md"
25 | }
26 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-easyPrint/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "mourner",
3 | rules: {
4 | "globals": {
5 | "L": false,
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-easyPrint/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | npm-debug.log
3 |
4 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-easyPrint/.npmignore:
--------------------------------------------------------------------------------
1 | src/
2 |
3 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-groupedlayercontrol/MIT-LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright 2013 Ishmael Smyrnow
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining
4 | a copy of this software and associated documentation files (the
5 | "Software"), to deal in the Software without restriction, including
6 | without limitation the rights to use, copy, modify, merge, publish,
7 | distribute, sublicense, and/or sell copies of the Software, and to
8 | permit persons to whom the Software is furnished to do so, subject to
9 | the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be
12 | included in all copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-groupedlayercontrol/leaflet.groupedlayercontrol.css:
--------------------------------------------------------------------------------
1 | .leaflet-control-layers-group-name {
2 | font-weight: bold;
3 | margin-bottom: .2em;
4 | display: block;
5 | }
6 |
7 | .leaflet-control-layers-group {
8 | margin-bottom: .5em;
9 | }
10 |
11 | .leaflet-control-layers-group label {
12 | padding-left: .5em;
13 | }
14 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-side-by-side/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-side-by-side/.npmignore:
--------------------------------------------------------------------------------
1 | leaflet-side-by-side.js
2 | leaflet-side-by-side.min.js
3 | screencast.gif
4 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-side-by-side/layout.css:
--------------------------------------------------------------------------------
1 | .leaflet-sbs-range {
2 | position: absolute;
3 | top: 50%;
4 | width: 100%;
5 | z-index: 999;
6 | }
7 | .leaflet-sbs-divider {
8 | position: absolute;
9 | top: 0;
10 | bottom: 0;
11 | left: 50%;
12 | margin-left: -2px;
13 | width: 4px;
14 | background-color: #fff;
15 | pointer-events: none;
16 | z-index: 999;
17 | }
18 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-side-by-side/range-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/leaflet/plugin/leaflet-side-by-side/range-icon.png
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-sidebar/.gitignore:
--------------------------------------------------------------------------------
1 | lib-cov
2 | *.seed
3 | *.log
4 | *.csv
5 | *.dat
6 | *.out
7 | *.pid
8 | *.gz
9 |
10 | pids
11 | logs
12 | results
13 |
14 | npm-debug.log
15 | node_modules
16 |
17 | dist
18 | build
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-sidebar/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 |
3 | sudo: false
4 |
5 | after_success:
6 | - if [[ "$TRAVIS_BRANCH" == "master" ]]; then bash .travis/deploy.sh; fi
7 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-sidebar/.travis/deploy.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | eval "$(ssh-agent -s)"
6 |
7 | openssl aes-256-cbc -K $encrypted_f72e501d769d_key -iv $encrypted_f72e501d769d_iv -in .travis/deploy_key.pem.enc -out .travis/deploy_key.pem -d
8 | chmod 600 .travis/deploy_key.pem
9 | ssh-add .travis/deploy_key.pem
10 |
11 | mkdir gh-pages
12 | cd gh-pages
13 | cp -R ../examples ../src .
14 |
15 | git init
16 | git config user.name "Travis"
17 | git config user.email "noreply@travis-ci.org"
18 | git add .
19 | git commit -m "Deploy to GitHub Pages"
20 | git push --force --quiet git@github.com:Turbo87/leaflet-sidebar.git master:gh-pages > /dev/null 2>&1
21 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-sidebar/.travis/deploy_key.pem.enc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/leaflet/plugin/leaflet-sidebar/.travis/deploy_key.pem.enc
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-sidebar/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | ## v0.1.9 (2016-01-19)
4 |
5 | - Fix unresolved variable error in `removeFrom()` method (see #38)
6 |
7 |
8 | ## v0.1.8 (2015-09-10)
9 |
10 | - Fix text selection on sidebar (see #31)
11 |
12 |
13 | ## v0.1.7 (2015-09-09)
14 |
15 | - Catch context menu events on sidebar (#23)
16 | - Fix jQuery event handlers/Bootstrap controls on sidebar (#31)
17 |
18 |
19 | ## v0.1.6 (2014-08-23)
20 |
21 | - Added support for [bower.io](http://bower.io/search/) (#21)
22 |
23 |
24 | ## v0.1.5 (2014-04-15)
25 |
26 | - Added support for [component.io](http://component.io/) (#17, thanks @zedd45)
27 | - Added `shown` and `hidden` events (#18)
28 |
29 |
30 | ## v0.1.4 (2014-02-16)
31 |
32 | - Adjusted CSS for touch devices (#12)
33 | - Converted build system to [gulp.js](http://gulpjs.com/)
34 | - Added [TravisCI](http://travis-ci.org/) support for CI linting
35 |
36 |
37 | ## v0.1.3 (2014-02-06)
38 |
39 | - Added `autoPan` option
40 |
41 |
42 | ## v0.1.2 (2013-12-28)
43 |
44 | - Fixed broken `stopPropagation()` call (#2)
45 | - Fire `show` and `hide` events on sidebar instances
46 | - Added `getCloseButton()` method
47 | - Several memory leaks related to event handlers fixed (#7)
48 | Thanks to Jerroyd Moore!
49 |
50 |
51 | ## v0.1.1 (2013-11-03)
52 |
53 | - Fixed close button event handler (#1)
54 |
55 |
56 | ## v0.1.0 (2013-10-30)
57 |
58 | - First official release
59 | - `position` option
60 | - `closeButton` option
61 | - `getContainer()` and `setContent()` methods
62 | - two more examples
63 |
64 |
65 | ## v0.0.0 (2013-10-29)
66 |
67 | - Preview release
68 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-sidebar/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2013 Tobias Bieniek
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-sidebar/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "leaflet-sidebar",
3 | "version": "0.2.0",
4 | "homepage": "https://github.com/turbo87/leaflet-sidebar",
5 | "authors": [
6 | "Tobias Bieniek "
7 | ],
8 | "description": "A responsive sidebar plugin for Leaflet",
9 | "main": [
10 | "src/L.Control.Sidebar.js",
11 | "src/L.Control.Sidebar.css"
12 | ],
13 | "keywords": [
14 | "gis",
15 | "leaflet",
16 | "map"
17 | ],
18 | "license": "MIT",
19 | "dependencies": {
20 | "leaflet": "~0.7"
21 | },
22 | "ignore": [
23 | "node_modules"
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-sidebar/leaflet-sidebar.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/leaflet/plugin/leaflet-sidebar/leaflet-sidebar.gif
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-sidebar/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "leaflet-sidebar",
3 | "version": "0.2.0",
4 | "description": "A responsive sidebar plugin for Leaflet",
5 | "keywords": [
6 | "gis",
7 | "leaflet",
8 | "map"
9 | ],
10 | "homepage": "https://github.com/turbo87/leaflet-sidebar",
11 | "bugs": "https://github.com/turbo87/leaflet-sidebar/issues",
12 | "license": "MIT",
13 | "author": "Tobias Bieniek ",
14 | "main": "src/L.Control.Sidebar.js",
15 | "repository": {
16 | "type": "git",
17 | "url": "https://github.com/turbo87/leaflet-sidebar.git"
18 | },
19 | "scripts": {
20 | "test": "gulp lint"
21 | },
22 | "dependencies": {
23 | },
24 | "devDependencies": {
25 | "gulp": "~3.6.0",
26 | "gulp-clean": "~0.2.4",
27 | "gulp-concat": "~2.1.7",
28 | "gulp-csslint": "~0.1.3",
29 | "gulp-header": "~0.4.0",
30 | "gulp-jshint": "~1.3.4",
31 | "gulp-minify-css": "~0.1.0",
32 | "gulp-sass": "2.0.4",
33 | "gulp-rename": "~0.2.2",
34 | "gulp-uglify": "~0.1.0",
35 | "gulp-zip": "~0.1.2"
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-storymap/img/1847-HPHS-Catalog1904p164.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/leaflet/plugin/leaflet-storymap/img/1847-HPHS-Catalog1904p164.jpg
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-storymap/img/1905-HPHS-postcard.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/leaflet/plugin/leaflet-storymap/img/1905-HPHS-postcard.jpg
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-storymap/img/BradleyAirport.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/leaflet/plugin/leaflet-storymap/img/BradleyAirport.jpg
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-storymap/img/TrinityCollege.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/leaflet/plugin/leaflet-storymap/img/TrinityCollege.jpg
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-storymap/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | leaflet-storymap
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
Insert your title here
24 | Scroll
25 |
26 |
27 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-storymap/markers/images/markers_default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/leaflet/plugin/leaflet-storymap/markers/images/markers_default.png
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-storymap/markers/images/markers_default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/leaflet/plugin/leaflet-storymap/markers/images/markers_default@2x.png
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-storymap/markers/images/markers_shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/leaflet/plugin/leaflet-storymap/markers/images/markers_shadow.png
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-storymap/markers/images/markers_shadow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/leaflet/plugin/leaflet-storymap/markers/images/markers_shadow@2x.png
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-storymap/markers/leaflet.extra-markers.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Leaflet.extra-markers
3 | * Custom Markers for Leaflet JS based on Awesome Markers
4 | * Leaflet ExtraMarkers
5 | * https://github.com/coryasilva/Leaflet.ExtraMarkers/
6 | * @author coryasilva
7 | * @version 1.1.0
8 | */
9 | !function(a,b){"use strict";L.ExtraMarkers={},L.ExtraMarkers.version="1.0.1",L.ExtraMarkers.Icon=L.Icon.extend({options:{iconSize:[35,45],iconAnchor:[17,42],popupAnchor:[1,-32],shadowAnchor:[10,12],shadowSize:[36,16],className:"extra-marker",prefix:"",extraClasses:"",shape:"circle",icon:"",markerColor:"red",iconColor:"#fff",number:""},initialize:function(a){a=L.Util.setOptions(this,a)},createIcon:function(){var a=b.createElement("div"),c=this.options;return c.icon&&(a.innerHTML=this._createInner()),c.bgPos&&(a.style.backgroundPosition=-c.bgPos.x+"px "+-c.bgPos.y+"px"),this._setIconStyles(a,c.shape+"-"+c.markerColor),a},_createInner:function(){var a="",b="",c=this.options;return c.iconColor&&(a="style='color: "+c.iconColor+"' "),c.number&&(b="number='"+c.number+"' "),""},_setIconStyles:function(a,b){var c,d,e=this.options,f=L.point(e["shadow"===b?"shadowSize":"iconSize"]);"shadow"===b?(c=L.point(e.shadowAnchor||e.iconAnchor),d="shadow"):(c=L.point(e.iconAnchor),d="icon"),!c&&f&&(c=f.divideBy(2,!0)),a.className="leaflet-marker-"+d+" extra-marker-"+b+" "+e.className,c&&(a.style.marginLeft=-c.x+"px",a.style.marginTop=-c.y+"px"),f&&(a.style.width=f.x+"px",a.style.height=f.y+"px")},createShadow:function(){var a=b.createElement("div");return this._setIconStyles(a,"shadow"),a}}),L.ExtraMarkers.icon=function(a){return new L.ExtraMarkers.Icon(a)}}(this,document);
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-sync/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "camelcase": 2,
4 | "quotes": [2, "single", "avoid-escape"],
5 | "indent": ["error", 4, {
6 | "MemberExpression": "off"
7 | }],
8 | "space-before-function-paren": 2,
9 | "space-in-parens": 2,
10 | "object-curly-spacing": 2,
11 | "space-before-blocks": 2,
12 | "keyword-spacing": 2,
13 | "no-lonely-if": 2,
14 | "comma-spacing": [2, {"after": true}],
15 | "comma-style": 2,
16 | "no-underscore-dangle": 0,
17 | "no-constant-condition": 0,
18 | "no-multi-spaces": 2,
19 | "strict": 0,
20 | "key-spacing": 2,
21 | "no-shadow": 0,
22 | "no-console": 2,
23 | "semi": 2,
24 | "curly": 2
25 | },
26 | "globals": {
27 | "L": true,
28 | "module": true,
29 | "define": true
30 | },
31 | "plugins": [
32 | "html"
33 | ],
34 | "settings": {
35 | "html/report-bad-indent": 2,
36 | "html/indent": "space"
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-sync/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-sync/.mversionrc:
--------------------------------------------------------------------------------
1 | {
2 | "commitMessage": "Bumped version to %s",
3 | "tagName": "%s",
4 | "scripts": {
5 | "preupdate": "npm run test",
6 | "postupdate": "git push && git push --tags && npm publish"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/leaflet-sync/.travis.yml:
--------------------------------------------------------------------------------
1 | ---
2 | language: node_js
3 | node_js:
4 | - "node"
5 | notifications:
6 | email: false
7 | git:
8 | depth: 10
9 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/storymap-master/license.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2014 Atle Frenvik Sveen
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4 |
5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6 |
7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/storymap-master/readme.md:
--------------------------------------------------------------------------------
1 | Storymap
2 | ========
3 |
4 | Storymap is a jQuery-plugin to create a map that follows your text. Annotate each paragraph and place a map alongside it. Then you can zoom/pan/add marker etc to the map as the reader reads through the text.
5 |
6 | Demo
7 | ----
8 | See http://atlefren.github.io/storymap/
9 |
10 | Known issues
11 | ------------
12 | Will not work well on mobile (map gets removed on small screens)
13 |
14 | Requirements
15 | ------------
16 | Storymap expects some (rather common) js libs to be available:
17 |
18 | - jQuery (as it is a jQuery plugin)
19 | - underscore.js (as it makes js easier to work with)
20 | - Leaflet (because we need a map)
21 |
22 | In addition the markup is based on Bootstrap 3.
23 |
24 | Configuration
25 | -------------
26 | Should be rather simple. Setup a html page like the one in index.html, include dependencies and do a
27 |
28 | el.storymap({markers: dict_with_data});
29 |
30 | on the element you wish to add a storymap to. By default, the plugin looks for elements that has a "data-place" attribute, sets the breakpoint 33% from the top of the page. This can be overridden by setting some options, like this:
31 |
32 | el.storymap({
33 | markers: dict_with_data,
34 | selector: '[data-place]', //jquery for selectors to trigger an event
35 | breakpointPos: '33.333%', //position of the breakpoint
36 | createMap: function () { //function that creates a map
37 | // create a map in the "map" div, set the view to a given place and zoom
38 | var map = L.map('map').setView([65, 18], 5);
39 | // add an OpenStreetMap tile layer
40 | L.tileLayer(
41 | 'http://{s}.tile.osm.org/{z}/{x}/{y}.png',
42 | {attribution: '© OpenStreetMap contributors'}
43 | ).addTo(map);
44 | return map;
45 | }
46 | });
47 |
48 | License
49 | -------
50 | Storymap is licensed under the MIT license.
51 |
52 | Contributions
53 | -------------
54 | Yes please!
55 |
--------------------------------------------------------------------------------
/viewer/leaflet/plugin/storymap-master/style.css:
--------------------------------------------------------------------------------
1 |
2 | .sidebar {
3 | /* display: none;*/
4 | }
5 | @media (min-width: 768px) {
6 | .sidebar {
7 | position: fixed;
8 | top: 0;
9 | bottom: 0;
10 | right: 0;
11 | z-index: 1000;
12 | display: block;
13 | padding: 20px;
14 | overflow-x: hidden;
15 | overflow-y: hidden;
16 | background-color: #f5f5f5;
17 | border-right: 1px solid #eee;
18 | }
19 | }
20 |
21 | .main {
22 | padding: 20px;
23 |
24 | padding-bottom: 500px;
25 | }
26 | @media (min-width: 768px) {
27 | .main {
28 | padding-right: 40px;
29 | padding-left: 40px;
30 | }
31 | }
32 | .main .page-header {
33 | margin-top: 0;
34 | }
35 |
36 | .breakpoint-current {
37 | left: 0;
38 | margin-top: -10px;
39 | position: fixed;
40 | /* top: 33.3333%; */
41 | width: 3px;
42 | height: 3px;
43 | background: red;;
44 | }
45 |
46 | .viewing {
47 | background: #eee;
48 | }
49 |
50 | section {
51 | padding: 5px 10px 10px 10px;
52 | border-radius: 10px;
53 | }
54 |
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 | All notable changes to this project will be documented in this file.
3 |
4 | ## [0.9.9] - 2018-08-16
5 | ### Added
6 | - URL Hash to easily share [Issue #8](https://github.com/GRIDgva/SwissDataCube/issues/8)
7 | - Time-slider to visualize time-enabled maps; activated following the type of products published [Issue #6](https://github.com/GRIDgva/SwissDataCube/issues/6)
8 | - Opacity slider [Issue #4](https://github.com/GRIDgva/SwissDataCube/issues/4)
9 | - maxBounds to restrict the view on Switzerland [Issue #3](https://github.com/GRIDgva/SwissDataCube/issues/3)
10 | - Zoom to default extent
11 | - Full screen mode
12 | - About section
13 | - Data Download through WCS requests
14 | - Help section
15 | - Mouse Position
16 | - Scale Bar
17 | - Webservices; relevant links for Discovery (CSW, OpenSearch EO); View (WMS, WMTS, TMS, WMS-C); Download (WCS, WFS) services
18 | - Basic print module [Issue #9](https://github.com/GRIDgva/SwissDataCube/issues/9)
19 | - Query (with mouse pointer) a pixel and get a pop with time-series values & graph [Issue #5](https://github.com/GRIDgva/SwissDataCube/issues/5)
20 | - Initial implementation of a config file [Issue #7](https://github.com/GRIDgva/SwissDataCube/issues/7)
21 |
22 | ### Changed
23 | - N/A.
24 |
25 |
26 | ### Removed
27 | - N/A.
28 |
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/README.md:
--------------------------------------------------------------------------------
1 | # SwissDataCube - Viewer
2 | This is the repository for the SwissDataCUbe - Viewer.
3 | The aim is to develop an application to visualize, query, and download time-series data produced by the SwissDataCube.
4 | It is based on bootleaf (https://github.com/bmcbride/bootleaf) providing a simple, responsive template for building web mapping applications with [Bootstrap](http://getbootstrap.com/), [Leaflet](http://leafletjs.com/), and [typeahead.js](http://twitter.github.io/typeahead.js/).
5 |
6 | Data are published using GeoServer (http://www.geoserver.org) to provide an interoperable access to data using OGC WMS & WCS standards.
7 |
8 | The viewer allows:
9 | - Visualizing and Downloading single raster product layers
10 | - Visualizing and Downloading time-series raster product layers
11 | - Generating graph for a given pixel of a time-series raster product layer
12 | - Access products in your own client with WMS & WCS standards
13 | - Metadata support
14 |
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/assets/img/favicon-120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/0.9.9/assets/img/favicon-120.png
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/assets/img/favicon-152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/0.9.9/assets/img/favicon-152.png
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/assets/img/favicon-196.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/0.9.9/assets/img/favicon-196.png
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/assets/img/favicon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/0.9.9/assets/img/favicon-76.png
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/assets/img/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/0.9.9/assets/img/favicon.ico
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/assets/img/globe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/0.9.9/assets/img/globe.png
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/assets/img/metadata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/0.9.9/assets/img/metadata.png
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/config.js:
--------------------------------------------------------------------------------
1 | var appConfig={
2 | 'appVersion' : '0.9.9',
3 | 'appVersionDate' : '[16.08.2018]',
4 | 'gsHost' : 'https://geoserver.swissdatacube.org/geoserver/ows?',
5 | 'mapZoom' : '8',
6 | 'mapMinZoom' : '7',
7 | 'mapMaxZoom' : '15',
8 | 'mapCenter' : [46.78, 8.22],
9 | };
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/images/layers-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/0.9.9/leaflet/images/layers-2x.png
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/images/layers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/0.9.9/leaflet/images/layers.png
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/images/marker-icon-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/0.9.9/leaflet/images/marker-icon-2x.png
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/images/marker-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/0.9.9/leaflet/images/marker-icon.png
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/images/marker-shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/0.9.9/leaflet/images/marker-shadow.png
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/plugin/coordinates/L.Control.MousePosition.css:
--------------------------------------------------------------------------------
1 | .leaflet-container .leaflet-control-mouseposition {
2 | background-color: rgba(255, 255, 255, 0.7);
3 | box-shadow: 0 0 5px #bbb;
4 | padding: 0 5px;
5 | margin:0;
6 | color: #333;
7 | font: 11px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
8 | }
9 |
10 |
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/plugin/coordinates/L.Control.MousePosition.js:
--------------------------------------------------------------------------------
1 | L.Control.MousePosition = L.Control.extend({
2 | options: {
3 | position: 'bottomleft',
4 | separator: ' : ',
5 | emptyString: 'Unavailable',
6 | lngFirst: false,
7 | numDigits: 5,
8 | lngFormatter: undefined,
9 | latFormatter: undefined,
10 | prefix: ""
11 | },
12 |
13 | onAdd: function (map) {
14 | this._container = L.DomUtil.create('div', 'leaflet-control-mouseposition');
15 | L.DomEvent.disableClickPropagation(this._container);
16 | map.on('mousemove', this._onMouseMove, this);
17 | this._container.innerHTML=this.options.emptyString;
18 | return this._container;
19 | },
20 |
21 | onRemove: function (map) {
22 | map.off('mousemove', this._onMouseMove)
23 | },
24 |
25 | _onMouseMove: function (e) {
26 | var lng = this.options.lngFormatter ? this.options.lngFormatter(e.latlng.lng) : L.Util.formatNum(e.latlng.lng, this.options.numDigits);
27 | var lat = this.options.latFormatter ? this.options.latFormatter(e.latlng.lat) : L.Util.formatNum(e.latlng.lat, this.options.numDigits);
28 | var value = this.options.lngFirst ? lng + this.options.separator + lat : lat + this.options.separator + lng;
29 | var prefixAndValue = this.options.prefix + ' ' + value;
30 | this._container.innerHTML = prefixAndValue;
31 | }
32 |
33 | });
34 |
35 | L.Map.mergeOptions({
36 | positionControl: false
37 | });
38 |
39 | L.Map.addInitHook(function () {
40 | if (this.options.positionControl) {
41 | this.positionControl = new L.Control.MousePosition();
42 | this.addControl(this.positionControl);
43 | }
44 | });
45 |
46 | L.control.mousePosition = function (options) {
47 | return new L.Control.MousePosition(options);
48 | };
49 |
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/plugin/extent/leaflet.defaultextent.css:
--------------------------------------------------------------------------------
1 | .leaflet-control-defaultextent {
2 |
3 | }
4 |
5 | .leaflet-control-defaultextent-toggle {
6 | text-indent: -9999px;
7 | white-space: nowrap;
8 | background-image: url('leaflet.defaultextent.png');
9 | width: 26px;
10 | height: 26px;
11 | display: block;
12 | }
13 |
14 | /* CSS for high-resolution devices */
15 | @media only screen and (-Webkit-min-device-pixel-ratio: 1.5),
16 | only screen and (-moz-min-device-pixel-ratio: 1.5),
17 | only screen and (-o-min-device-pixel-ratio: 3/2),
18 | only screen and (min-device-pixel-ratio: 1.5) {
19 | .leaflet-control-defaultextent-toggle {
20 | background-image: url('leaflet.defaultextent@2X.png');
21 | background-size: 26px 26px;
22 | background-repeat: no-repeat;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/plugin/extent/leaflet.defaultextent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/0.9.9/leaflet/plugin/extent/leaflet.defaultextent.png
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/plugin/extent/leaflet.defaultextent@2X.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/0.9.9/leaflet/plugin/extent/leaflet.defaultextent@2X.png
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/plugin/fullscreen/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "camelcase": 0,
4 | "quotes": [2, "single", "avoid-escape"],
5 | "no-mixed-spaces-and-tabs": [2, "smart-tabs"],
6 | "space-before-function-paren": 2,
7 | "space-in-parens": 2,
8 | "object-curly-spacing": [2, "never"],
9 | "array-bracket-spacing": 2,
10 | "computed-property-spacing": 2,
11 | "space-before-blocks": 2,
12 | "keyword-spacing": 2,
13 | "no-lonely-if": 2,
14 | "comma-style": 2,
15 | "no-underscore-dangle": 0,
16 | "no-constant-condition": 0,
17 | "no-multi-spaces": 0,
18 | "strict": 0,
19 | "key-spacing": 0,
20 | "no-shadow": 0,
21 | "no-unused-vars": 2
22 | },
23 | "globals": {
24 | "L": true,
25 | "module": false,
26 | "define": false,
27 | "require": true
28 | },
29 | "env": {
30 | "browser": true
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/plugin/fullscreen/.mversionrc:
--------------------------------------------------------------------------------
1 | {
2 | "commitMessage": "version %s",
3 | "tagName": "%s",
4 | "scripts": {
5 | "postcommit": "git push && git push --tags && npm publish"
6 | }
7 | }
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/plugin/fullscreen/Control.FullScreen.css:
--------------------------------------------------------------------------------
1 | .fullscreen-icon { background-image: url(icon-fullscreen.png); }
2 | .leaflet-retina .fullscreen-icon { background-image: url(icon-fullscreen-2x.png); background-size: 26px 26px; }
3 | /* one selector per rule as explained here : http://www.sitepoint.com/html5-full-screen-api/ */
4 | .leaflet-container:-webkit-full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
5 | .leaflet-container:-ms-fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
6 | .leaflet-container:full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
7 | .leaflet-container:fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
8 | .leaflet-pseudo-fullscreen { position: fixed !important; width: 100% !important; height: 100% !important; top: 0px !important; left: 0px !important; z-index: 99999; }
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/plugin/fullscreen/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2013, Bruno Bergot
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/plugin/fullscreen/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "leaflet.fullscreen",
3 | "version": "1.4.4",
4 | "homepage": "https://github.com/brunob/leaflet.fullscreen",
5 | "license": "MIT",
6 | "authors": [
7 | "brunob "
8 | ],
9 | "description": "Leaflet.Control.FullScreen for Leaflet",
10 | "main": [
11 | "Control.FullScreen.js",
12 | "Control.FullScreen.css",
13 | "icon-fullscreen.png",
14 | "icon-fullscreen-2x.png"
15 | ],
16 | "devDependencies": {
17 | "eslint": "2.3.0"
18 | },
19 | "keywords": [
20 | "leaflet",
21 | "plugins",
22 | "maps",
23 | "fullscreen"
24 | ],
25 | "ignore": [
26 | "**/.*",
27 | "node_modules",
28 | "bower_components",
29 | "test",
30 | "tests",
31 | "index.html"
32 | ]
33 | }
34 |
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/plugin/fullscreen/icon-fullscreen-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/0.9.9/leaflet/plugin/fullscreen/icon-fullscreen-2x.png
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/plugin/fullscreen/icon-fullscreen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/0.9.9/leaflet/plugin/fullscreen/icon-fullscreen.png
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/plugin/fullscreen/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Leaflet.Control.FullScreen Demo
6 |
7 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/plugin/fullscreen/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "leaflet.fullscreen",
3 | "version": "1.4.4",
4 | "description": "Simple plugin for Leaflet that adds fullscreen button to your maps.",
5 | "main": "Control.FullScreen.js",
6 | "scripts": {
7 | "test": "eslint --config .eslintrc Control.FullScreen.js"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "git://github.com/brunob/leaflet.fullscreen.git"
12 | },
13 | "keywords": [
14 | "leaflet",
15 | "plugins",
16 | "maps",
17 | "fullscreen"
18 | ],
19 | "devDependencies": {
20 | "eslint": "2.3.0"
21 | },
22 | "author": "b_b",
23 | "license": "MIT License",
24 | "readmeFilename": "README.md"
25 | }
26 |
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/plugin/leaflet-easyPrint/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "mourner",
3 | rules: {
4 | "globals": {
5 | "L": false,
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/plugin/leaflet-easyPrint/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | npm-debug.log
3 |
4 |
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/plugin/leaflet-easyPrint/.npmignore:
--------------------------------------------------------------------------------
1 | src/
2 |
3 |
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/plugin/leaflet-groupedlayercontrol/MIT-LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright 2013 Ishmael Smyrnow
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining
4 | a copy of this software and associated documentation files (the
5 | "Software"), to deal in the Software without restriction, including
6 | without limitation the rights to use, copy, modify, merge, publish,
7 | distribute, sublicense, and/or sell copies of the Software, and to
8 | permit persons to whom the Software is furnished to do so, subject to
9 | the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be
12 | included in all copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/viewer/versions/0.9.9/leaflet/plugin/leaflet-groupedlayercontrol/leaflet.groupedlayercontrol.css:
--------------------------------------------------------------------------------
1 | .leaflet-control-layers-group-name {
2 | font-weight: bold;
3 | margin-bottom: .2em;
4 | display: block;
5 | }
6 |
7 | .leaflet-control-layers-group {
8 | margin-bottom: .5em;
9 | }
10 |
11 | .leaflet-control-layers-group label {
12 | padding-left: .5em;
13 | }
14 |
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 | All notable changes to this project will be documented in this file.
3 |
4 | ## [1.0.0] - 2018-09-10
5 | ### Added
6 | - URL Hash to easily share [Issue #8](https://github.com/GRIDgva/SwissDataCube/issues/8)
7 | - Time-slider to visualize time-enabled maps; activated following the type of products published [Issue #6](https://github.com/GRIDgva/SwissDataCube/issues/6)
8 | - Opacity slider [Issue #4](https://github.com/GRIDgva/SwissDataCube/issues/4)
9 | - maxBounds to restrict the view on Switzerland [Issue #3](https://github.com/GRIDgva/SwissDataCube/issues/3)
10 | - Zoom to default extent
11 | - Full screen mode
12 | - About section
13 | - Data Download through WCS requests
14 | - Help section
15 | - Mouse Position
16 | - Scale Bar
17 | - Webservices; relevant links for Discovery (CSW, OpenSearch EO); View (WMS, WMTS, TMS, WMS-C); Download (WCS, WFS) services
18 | - Basic print module [Issue #9](https://github.com/GRIDgva/SwissDataCube/issues/9)
19 | - Query (with mouse pointer) a pixel and get a pop with time-series values & graph [Issue #5](https://github.com/GRIDgva/SwissDataCube/issues/5)
20 | - Initial implementation of a config file [Issue #7](https://github.com/GRIDgva/SwissDataCube/issues/7)
21 | - Snow Cover and Mosaic products
22 | - Help section
23 |
24 | ### Changed
25 | - N/A.
26 |
27 |
28 | ### Removed
29 | - N/A.
30 |
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/README.md:
--------------------------------------------------------------------------------
1 | # SwissDataCube - Viewer
2 | This is the repository for the SwissDataCUbe - Viewer.
3 | The aim is to develop an application to visualize, query, and download time-series data produced by the SwissDataCube.
4 | It is based on bootleaf (https://github.com/bmcbride/bootleaf) providing a simple, responsive template for building web mapping applications with [Bootstrap](http://getbootstrap.com/), [Leaflet](http://leafletjs.com/), and [typeahead.js](http://twitter.github.io/typeahead.js/).
5 |
6 | Data are published using GeoServer (http://www.geoserver.org) to provide an interoperable access to data using OGC WMS & WCS standards.
7 |
8 | The viewer allows:
9 | - Visualizing and Downloading single raster product layers
10 | - Visualizing and Downloading time-series raster product layers
11 | - Generating graph for a given pixel of a time-series raster product layer
12 | - Access products in your own client with WMS & WCS standards
13 | - Metadata support
14 |
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/assets/img/favicon-120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.0.0/assets/img/favicon-120.png
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/assets/img/favicon-152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.0.0/assets/img/favicon-152.png
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/assets/img/favicon-196.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.0.0/assets/img/favicon-196.png
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/assets/img/favicon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.0.0/assets/img/favicon-76.png
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/assets/img/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.0.0/assets/img/favicon.ico
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/assets/img/globe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.0.0/assets/img/globe.png
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/assets/img/metadata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.0.0/assets/img/metadata.png
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/config.js:
--------------------------------------------------------------------------------
1 | var appConfig={
2 | 'appVersion' : '1.0.0',
3 | 'appVersionDate' : '[10.09.2018]',
4 | 'gsHost' : 'https://geoserver.swissdatacube.org/geoserver/ows?',
5 | 'mapZoom' : '8',
6 | 'mapMinZoom' : '7',
7 | 'mapMaxZoom' : '15',
8 | 'mapCenter' : [46.78, 8.22],
9 | };
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/images/layers-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.0.0/leaflet/images/layers-2x.png
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/images/layers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.0.0/leaflet/images/layers.png
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/images/marker-icon-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.0.0/leaflet/images/marker-icon-2x.png
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/images/marker-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.0.0/leaflet/images/marker-icon.png
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/images/marker-shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.0.0/leaflet/images/marker-shadow.png
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/plugin/coordinates/L.Control.MousePosition.css:
--------------------------------------------------------------------------------
1 | .leaflet-container .leaflet-control-mouseposition {
2 | background-color: rgba(255, 255, 255, 0.7);
3 | box-shadow: 0 0 5px #bbb;
4 | padding: 0 5px;
5 | margin:0;
6 | color: #333;
7 | font: 11px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
8 | }
9 |
10 |
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/plugin/coordinates/L.Control.MousePosition.js:
--------------------------------------------------------------------------------
1 | L.Control.MousePosition = L.Control.extend({
2 | options: {
3 | position: 'bottomleft',
4 | separator: ' : ',
5 | emptyString: 'Unavailable',
6 | lngFirst: false,
7 | numDigits: 5,
8 | lngFormatter: undefined,
9 | latFormatter: undefined,
10 | prefix: ""
11 | },
12 |
13 | onAdd: function (map) {
14 | this._container = L.DomUtil.create('div', 'leaflet-control-mouseposition');
15 | L.DomEvent.disableClickPropagation(this._container);
16 | map.on('mousemove', this._onMouseMove, this);
17 | this._container.innerHTML=this.options.emptyString;
18 | return this._container;
19 | },
20 |
21 | onRemove: function (map) {
22 | map.off('mousemove', this._onMouseMove)
23 | },
24 |
25 | _onMouseMove: function (e) {
26 | var lng = this.options.lngFormatter ? this.options.lngFormatter(e.latlng.lng) : L.Util.formatNum(e.latlng.lng, this.options.numDigits);
27 | var lat = this.options.latFormatter ? this.options.latFormatter(e.latlng.lat) : L.Util.formatNum(e.latlng.lat, this.options.numDigits);
28 | var value = this.options.lngFirst ? lng + this.options.separator + lat : lat + this.options.separator + lng;
29 | var prefixAndValue = this.options.prefix + ' ' + value;
30 | this._container.innerHTML = prefixAndValue;
31 | }
32 |
33 | });
34 |
35 | L.Map.mergeOptions({
36 | positionControl: false
37 | });
38 |
39 | L.Map.addInitHook(function () {
40 | if (this.options.positionControl) {
41 | this.positionControl = new L.Control.MousePosition();
42 | this.addControl(this.positionControl);
43 | }
44 | });
45 |
46 | L.control.mousePosition = function (options) {
47 | return new L.Control.MousePosition(options);
48 | };
49 |
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/plugin/extent/leaflet.defaultextent.css:
--------------------------------------------------------------------------------
1 | .leaflet-control-defaultextent {
2 |
3 | }
4 |
5 | .leaflet-control-defaultextent-toggle {
6 | text-indent: -9999px;
7 | white-space: nowrap;
8 | background-image: url('leaflet.defaultextent.png');
9 | width: 26px;
10 | height: 26px;
11 | display: block;
12 | }
13 |
14 | /* CSS for high-resolution devices */
15 | @media only screen and (-Webkit-min-device-pixel-ratio: 1.5),
16 | only screen and (-moz-min-device-pixel-ratio: 1.5),
17 | only screen and (-o-min-device-pixel-ratio: 3/2),
18 | only screen and (min-device-pixel-ratio: 1.5) {
19 | .leaflet-control-defaultextent-toggle {
20 | background-image: url('leaflet.defaultextent@2X.png');
21 | background-size: 26px 26px;
22 | background-repeat: no-repeat;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/plugin/extent/leaflet.defaultextent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.0.0/leaflet/plugin/extent/leaflet.defaultextent.png
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/plugin/extent/leaflet.defaultextent@2X.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.0.0/leaflet/plugin/extent/leaflet.defaultextent@2X.png
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/plugin/fullscreen/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "camelcase": 0,
4 | "quotes": [2, "single", "avoid-escape"],
5 | "no-mixed-spaces-and-tabs": [2, "smart-tabs"],
6 | "space-before-function-paren": 2,
7 | "space-in-parens": 2,
8 | "object-curly-spacing": [2, "never"],
9 | "array-bracket-spacing": 2,
10 | "computed-property-spacing": 2,
11 | "space-before-blocks": 2,
12 | "keyword-spacing": 2,
13 | "no-lonely-if": 2,
14 | "comma-style": 2,
15 | "no-underscore-dangle": 0,
16 | "no-constant-condition": 0,
17 | "no-multi-spaces": 0,
18 | "strict": 0,
19 | "key-spacing": 0,
20 | "no-shadow": 0,
21 | "no-unused-vars": 2
22 | },
23 | "globals": {
24 | "L": true,
25 | "module": false,
26 | "define": false,
27 | "require": true
28 | },
29 | "env": {
30 | "browser": true
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/plugin/fullscreen/.mversionrc:
--------------------------------------------------------------------------------
1 | {
2 | "commitMessage": "version %s",
3 | "tagName": "%s",
4 | "scripts": {
5 | "postcommit": "git push && git push --tags && npm publish"
6 | }
7 | }
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/plugin/fullscreen/Control.FullScreen.css:
--------------------------------------------------------------------------------
1 | .fullscreen-icon { background-image: url(icon-fullscreen.png); }
2 | .leaflet-retina .fullscreen-icon { background-image: url(icon-fullscreen-2x.png); background-size: 26px 26px; }
3 | /* one selector per rule as explained here : http://www.sitepoint.com/html5-full-screen-api/ */
4 | .leaflet-container:-webkit-full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
5 | .leaflet-container:-ms-fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
6 | .leaflet-container:full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
7 | .leaflet-container:fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
8 | .leaflet-pseudo-fullscreen { position: fixed !important; width: 100% !important; height: 100% !important; top: 0px !important; left: 0px !important; z-index: 99999; }
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/plugin/fullscreen/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2013, Bruno Bergot
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/plugin/fullscreen/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "leaflet.fullscreen",
3 | "version": "1.4.4",
4 | "homepage": "https://github.com/brunob/leaflet.fullscreen",
5 | "license": "MIT",
6 | "authors": [
7 | "brunob "
8 | ],
9 | "description": "Leaflet.Control.FullScreen for Leaflet",
10 | "main": [
11 | "Control.FullScreen.js",
12 | "Control.FullScreen.css",
13 | "icon-fullscreen.png",
14 | "icon-fullscreen-2x.png"
15 | ],
16 | "devDependencies": {
17 | "eslint": "2.3.0"
18 | },
19 | "keywords": [
20 | "leaflet",
21 | "plugins",
22 | "maps",
23 | "fullscreen"
24 | ],
25 | "ignore": [
26 | "**/.*",
27 | "node_modules",
28 | "bower_components",
29 | "test",
30 | "tests",
31 | "index.html"
32 | ]
33 | }
34 |
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/plugin/fullscreen/icon-fullscreen-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.0.0/leaflet/plugin/fullscreen/icon-fullscreen-2x.png
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/plugin/fullscreen/icon-fullscreen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.0.0/leaflet/plugin/fullscreen/icon-fullscreen.png
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/plugin/fullscreen/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "leaflet.fullscreen",
3 | "version": "1.4.4",
4 | "description": "Simple plugin for Leaflet that adds fullscreen button to your maps.",
5 | "main": "Control.FullScreen.js",
6 | "scripts": {
7 | "test": "eslint --config .eslintrc Control.FullScreen.js"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "git://github.com/brunob/leaflet.fullscreen.git"
12 | },
13 | "keywords": [
14 | "leaflet",
15 | "plugins",
16 | "maps",
17 | "fullscreen"
18 | ],
19 | "devDependencies": {
20 | "eslint": "2.3.0"
21 | },
22 | "author": "b_b",
23 | "license": "MIT License",
24 | "readmeFilename": "README.md"
25 | }
26 |
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/plugin/leaflet-easyPrint/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "mourner",
3 | rules: {
4 | "globals": {
5 | "L": false,
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/plugin/leaflet-easyPrint/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | npm-debug.log
3 |
4 |
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/plugin/leaflet-easyPrint/.npmignore:
--------------------------------------------------------------------------------
1 | src/
2 |
3 |
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/plugin/leaflet-groupedlayercontrol/MIT-LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright 2013 Ishmael Smyrnow
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining
4 | a copy of this software and associated documentation files (the
5 | "Software"), to deal in the Software without restriction, including
6 | without limitation the rights to use, copy, modify, merge, publish,
7 | distribute, sublicense, and/or sell copies of the Software, and to
8 | permit persons to whom the Software is furnished to do so, subject to
9 | the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be
12 | included in all copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/viewer/versions/1.0.0/leaflet/plugin/leaflet-groupedlayercontrol/leaflet.groupedlayercontrol.css:
--------------------------------------------------------------------------------
1 | .leaflet-control-layers-group-name {
2 | font-weight: bold;
3 | margin-bottom: .2em;
4 | display: block;
5 | }
6 |
7 | .leaflet-control-layers-group {
8 | margin-bottom: .5em;
9 | }
10 |
11 | .leaflet-control-layers-group label {
12 | padding-left: .5em;
13 | }
14 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 | All notable changes to this project will be documented in this file.
3 |
4 | ## [1.1.0] - 2018-09-21
5 | ### Added
6 | - N/A.
7 |
8 | ### Changed
9 | - Enhanced metadata visualization. [Issue #10](https://github.com/GRIDgva/SwissDataCube/issues/10)
10 |
11 | ### Removed
12 | - Removed mention of Storymaps in Features.
13 |
14 | ## [1.0.0] - 2018-09-10
15 | ### Added
16 | - URL Hash to easily share [Issue #8](https://github.com/GRIDgva/SwissDataCube/issues/8)
17 | - Time-slider to visualize time-enabled maps; activated following the type of products published [Issue #6](https://github.com/GRIDgva/SwissDataCube/issues/6)
18 | - Opacity slider [Issue #4](https://github.com/GRIDgva/SwissDataCube/issues/4)
19 | - maxBounds to restrict the view on Switzerland [Issue #3](https://github.com/GRIDgva/SwissDataCube/issues/3)
20 | - Zoom to default extent
21 | - Full screen mode
22 | - About section
23 | - Data Download through WCS requests
24 | - Help section
25 | - Mouse Position
26 | - Scale Bar
27 | - Webservices; relevant links for Discovery (CSW, OpenSearch EO); View (WMS, WMTS, TMS, WMS-C); Download (WCS, WFS) services
28 | - Basic print module [Issue #9](https://github.com/GRIDgva/SwissDataCube/issues/9)
29 | - Query (with mouse pointer) a pixel and get a pop with time-series values & graph [Issue #5](https://github.com/GRIDgva/SwissDataCube/issues/5)
30 | - Initial implementation of a config file [Issue #7](https://github.com/GRIDgva/SwissDataCube/issues/7)
31 | - Snow Cover and Mosaic products
32 | - Help section
33 |
34 | ### Changed
35 | - N/A.
36 |
37 |
38 | ### Removed
39 | - N/A.
40 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/README.md:
--------------------------------------------------------------------------------
1 | # SwissDataCube - Viewer
2 | This is the repository for the SwissDataCUbe - Viewer.
3 | The aim is to develop an application to visualize, query, and download time-series data produced by the SwissDataCube.
4 | It is based on bootleaf (https://github.com/bmcbride/bootleaf) providing a simple, responsive template for building web mapping applications with [Bootstrap](http://getbootstrap.com/), [Leaflet](http://leafletjs.com/), and [typeahead.js](http://twitter.github.io/typeahead.js/).
5 |
6 | Data are published using GeoServer (http://www.geoserver.org) to provide an interoperable access to data using OGC WMS & WCS standards.
7 |
8 | The viewer allows:
9 | - Visualizing and Downloading single raster product layers
10 | - Visualizing and Downloading time-series raster product layers
11 | - Generating graph for a given pixel of a time-series raster product layer
12 | - Access products in your own client with WMS & WCS standards
13 | - Metadata support
14 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/assets/img/favicon-120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.0/assets/img/favicon-120.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/assets/img/favicon-152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.0/assets/img/favicon-152.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/assets/img/favicon-196.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.0/assets/img/favicon-196.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/assets/img/favicon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.0/assets/img/favicon-76.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/assets/img/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.0/assets/img/favicon.ico
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/assets/img/globe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.0/assets/img/globe.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/assets/img/metadata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.0/assets/img/metadata.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/config.js:
--------------------------------------------------------------------------------
1 | var appConfig={
2 | 'appVersion' : '1.1.0',
3 | 'appVersionDate' : '[21.09.2018]',
4 | 'gsHost' : 'https://geoserver.swissdatacube.org/geoserver/ows?',
5 | 'mapZoom' : '8',
6 | 'mapMinZoom' : '7',
7 | 'mapMaxZoom' : '15',
8 | 'mapCenter' : [46.78, 8.22],
9 | 'cswLayer1' : 'https://geoserver.swissdatacube.org/geoserver/ows?request=GetRecordById&service=CSW&version=2.0.2&elementSetName=full&id=sdc:L8_CHmosaic_2016&outputSchema=http://www.isotc211.org/2005/gmd',
10 | 'cswLayer2' : 'https://geoserver.swissdatacube.org/geoserver/ows?request=GetRecordById&service=CSW&version=2.0.2&elementSetName=full&id=sdc:clipch_95_051&outputSchema=http://www.isotc211.org/2005/gmd',
11 | 'cswLayer3' : 'https://geoserver.swissdatacube.org/geoserver/ows?request=GetRecordById&service=CSW&version=2.0.2&elementSetName=full&id=sdc:clipch_05_171&outputSchema=http://www.isotc211.org/2005/gmd',
12 | 'cswLayer4' : 'https://geoserver.swissdatacube.org/geoserver/ows?request=GetRecordById&service=CSW&version=2.0.2&elementSetName=full&id=sdc:diff_all_CH&outputSchema=http://www.isotc211.org/2005/gmd',
13 | };
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/images/layers-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.0/leaflet/images/layers-2x.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/images/layers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.0/leaflet/images/layers.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/images/marker-icon-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.0/leaflet/images/marker-icon-2x.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/images/marker-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.0/leaflet/images/marker-icon.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/images/marker-shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.0/leaflet/images/marker-shadow.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/plugin/coordinates/L.Control.MousePosition.css:
--------------------------------------------------------------------------------
1 | .leaflet-container .leaflet-control-mouseposition {
2 | background-color: rgba(255, 255, 255, 0.7);
3 | box-shadow: 0 0 5px #bbb;
4 | padding: 0 5px;
5 | margin:0;
6 | color: #333;
7 | font: 11px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
8 | }
9 |
10 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/plugin/coordinates/L.Control.MousePosition.js:
--------------------------------------------------------------------------------
1 | L.Control.MousePosition = L.Control.extend({
2 | options: {
3 | position: 'bottomleft',
4 | separator: ' : ',
5 | emptyString: 'Unavailable',
6 | lngFirst: false,
7 | numDigits: 5,
8 | lngFormatter: undefined,
9 | latFormatter: undefined,
10 | prefix: ""
11 | },
12 |
13 | onAdd: function (map) {
14 | this._container = L.DomUtil.create('div', 'leaflet-control-mouseposition');
15 | L.DomEvent.disableClickPropagation(this._container);
16 | map.on('mousemove', this._onMouseMove, this);
17 | this._container.innerHTML=this.options.emptyString;
18 | return this._container;
19 | },
20 |
21 | onRemove: function (map) {
22 | map.off('mousemove', this._onMouseMove)
23 | },
24 |
25 | _onMouseMove: function (e) {
26 | var lng = this.options.lngFormatter ? this.options.lngFormatter(e.latlng.lng) : L.Util.formatNum(e.latlng.lng, this.options.numDigits);
27 | var lat = this.options.latFormatter ? this.options.latFormatter(e.latlng.lat) : L.Util.formatNum(e.latlng.lat, this.options.numDigits);
28 | var value = this.options.lngFirst ? lng + this.options.separator + lat : lat + this.options.separator + lng;
29 | var prefixAndValue = this.options.prefix + ' ' + value;
30 | this._container.innerHTML = prefixAndValue;
31 | }
32 |
33 | });
34 |
35 | L.Map.mergeOptions({
36 | positionControl: false
37 | });
38 |
39 | L.Map.addInitHook(function () {
40 | if (this.options.positionControl) {
41 | this.positionControl = new L.Control.MousePosition();
42 | this.addControl(this.positionControl);
43 | }
44 | });
45 |
46 | L.control.mousePosition = function (options) {
47 | return new L.Control.MousePosition(options);
48 | };
49 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/plugin/extent/leaflet.defaultextent.css:
--------------------------------------------------------------------------------
1 | .leaflet-control-defaultextent {
2 |
3 | }
4 |
5 | .leaflet-control-defaultextent-toggle {
6 | text-indent: -9999px;
7 | white-space: nowrap;
8 | background-image: url('leaflet.defaultextent.png');
9 | width: 26px;
10 | height: 26px;
11 | display: block;
12 | }
13 |
14 | /* CSS for high-resolution devices */
15 | @media only screen and (-Webkit-min-device-pixel-ratio: 1.5),
16 | only screen and (-moz-min-device-pixel-ratio: 1.5),
17 | only screen and (-o-min-device-pixel-ratio: 3/2),
18 | only screen and (min-device-pixel-ratio: 1.5) {
19 | .leaflet-control-defaultextent-toggle {
20 | background-image: url('leaflet.defaultextent@2X.png');
21 | background-size: 26px 26px;
22 | background-repeat: no-repeat;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/plugin/extent/leaflet.defaultextent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.0/leaflet/plugin/extent/leaflet.defaultextent.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/plugin/extent/leaflet.defaultextent@2X.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.0/leaflet/plugin/extent/leaflet.defaultextent@2X.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/plugin/fullscreen/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "camelcase": 0,
4 | "quotes": [2, "single", "avoid-escape"],
5 | "no-mixed-spaces-and-tabs": [2, "smart-tabs"],
6 | "space-before-function-paren": 2,
7 | "space-in-parens": 2,
8 | "object-curly-spacing": [2, "never"],
9 | "array-bracket-spacing": 2,
10 | "computed-property-spacing": 2,
11 | "space-before-blocks": 2,
12 | "keyword-spacing": 2,
13 | "no-lonely-if": 2,
14 | "comma-style": 2,
15 | "no-underscore-dangle": 0,
16 | "no-constant-condition": 0,
17 | "no-multi-spaces": 0,
18 | "strict": 0,
19 | "key-spacing": 0,
20 | "no-shadow": 0,
21 | "no-unused-vars": 2
22 | },
23 | "globals": {
24 | "L": true,
25 | "module": false,
26 | "define": false,
27 | "require": true
28 | },
29 | "env": {
30 | "browser": true
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/plugin/fullscreen/.mversionrc:
--------------------------------------------------------------------------------
1 | {
2 | "commitMessage": "version %s",
3 | "tagName": "%s",
4 | "scripts": {
5 | "postcommit": "git push && git push --tags && npm publish"
6 | }
7 | }
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/plugin/fullscreen/Control.FullScreen.css:
--------------------------------------------------------------------------------
1 | .fullscreen-icon { background-image: url(icon-fullscreen.png); }
2 | .leaflet-retina .fullscreen-icon { background-image: url(icon-fullscreen-2x.png); background-size: 26px 26px; }
3 | /* one selector per rule as explained here : http://www.sitepoint.com/html5-full-screen-api/ */
4 | .leaflet-container:-webkit-full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
5 | .leaflet-container:-ms-fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
6 | .leaflet-container:full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
7 | .leaflet-container:fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
8 | .leaflet-pseudo-fullscreen { position: fixed !important; width: 100% !important; height: 100% !important; top: 0px !important; left: 0px !important; z-index: 99999; }
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/plugin/fullscreen/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2013, Bruno Bergot
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/plugin/fullscreen/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "leaflet.fullscreen",
3 | "version": "1.4.4",
4 | "homepage": "https://github.com/brunob/leaflet.fullscreen",
5 | "license": "MIT",
6 | "authors": [
7 | "brunob "
8 | ],
9 | "description": "Leaflet.Control.FullScreen for Leaflet",
10 | "main": [
11 | "Control.FullScreen.js",
12 | "Control.FullScreen.css",
13 | "icon-fullscreen.png",
14 | "icon-fullscreen-2x.png"
15 | ],
16 | "devDependencies": {
17 | "eslint": "2.3.0"
18 | },
19 | "keywords": [
20 | "leaflet",
21 | "plugins",
22 | "maps",
23 | "fullscreen"
24 | ],
25 | "ignore": [
26 | "**/.*",
27 | "node_modules",
28 | "bower_components",
29 | "test",
30 | "tests",
31 | "index.html"
32 | ]
33 | }
34 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/plugin/fullscreen/icon-fullscreen-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.0/leaflet/plugin/fullscreen/icon-fullscreen-2x.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/plugin/fullscreen/icon-fullscreen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.0/leaflet/plugin/fullscreen/icon-fullscreen.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/plugin/fullscreen/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "leaflet.fullscreen",
3 | "version": "1.4.4",
4 | "description": "Simple plugin for Leaflet that adds fullscreen button to your maps.",
5 | "main": "Control.FullScreen.js",
6 | "scripts": {
7 | "test": "eslint --config .eslintrc Control.FullScreen.js"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "git://github.com/brunob/leaflet.fullscreen.git"
12 | },
13 | "keywords": [
14 | "leaflet",
15 | "plugins",
16 | "maps",
17 | "fullscreen"
18 | ],
19 | "devDependencies": {
20 | "eslint": "2.3.0"
21 | },
22 | "author": "b_b",
23 | "license": "MIT License",
24 | "readmeFilename": "README.md"
25 | }
26 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/plugin/leaflet-easyPrint/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "mourner",
3 | rules: {
4 | "globals": {
5 | "L": false,
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/plugin/leaflet-easyPrint/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | npm-debug.log
3 |
4 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/plugin/leaflet-easyPrint/.npmignore:
--------------------------------------------------------------------------------
1 | src/
2 |
3 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/plugin/leaflet-groupedlayercontrol/MIT-LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright 2013 Ishmael Smyrnow
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining
4 | a copy of this software and associated documentation files (the
5 | "Software"), to deal in the Software without restriction, including
6 | without limitation the rights to use, copy, modify, merge, publish,
7 | distribute, sublicense, and/or sell copies of the Software, and to
8 | permit persons to whom the Software is furnished to do so, subject to
9 | the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be
12 | included in all copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/viewer/versions/1.1.0/leaflet/plugin/leaflet-groupedlayercontrol/leaflet.groupedlayercontrol.css:
--------------------------------------------------------------------------------
1 | .leaflet-control-layers-group-name {
2 | font-weight: bold;
3 | margin-bottom: .2em;
4 | display: block;
5 | }
6 |
7 | .leaflet-control-layers-group {
8 | margin-bottom: .5em;
9 | }
10 |
11 | .leaflet-control-layers-group label {
12 | padding-left: .5em;
13 | }
14 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 | All notable changes to this project will be documented in this file.
3 |
4 | ## [1.1.1] - 2018-09-21
5 | ### Added
6 | - N/A.
7 |
8 | ### Changed
9 | - Ensure that border layers are always on top. [Issue #12](https://github.com/GRIDgva/SwissDataCube/issues/12)
10 | - updated Leaflet to version 1.0.2
11 |
12 | ### Removed
13 | - N/A.
14 |
15 | ## [1.1.0] - 2018-09-21
16 | ### Added
17 | - N/A.
18 |
19 | ### Changed
20 | - Enhanced metadata visualization. [Issue #10](https://github.com/GRIDgva/SwissDataCube/issues/10)
21 |
22 | ### Removed
23 | - Removed mention of Storymaps in Features.
24 |
25 | ## [1.0.0] - 2018-09-10
26 | ### Added
27 | - URL Hash to easily share [Issue #8](https://github.com/GRIDgva/SwissDataCube/issues/8)
28 | - Time-slider to visualize time-enabled maps; activated following the type of products published [Issue #6](https://github.com/GRIDgva/SwissDataCube/issues/6)
29 | - Opacity slider [Issue #4](https://github.com/GRIDgva/SwissDataCube/issues/4)
30 | - maxBounds to restrict the view on Switzerland [Issue #3](https://github.com/GRIDgva/SwissDataCube/issues/3)
31 | - Zoom to default extent
32 | - Full screen mode
33 | - About section
34 | - Data Download through WCS requests
35 | - Help section
36 | - Mouse Position
37 | - Scale Bar
38 | - Webservices; relevant links for Discovery (CSW, OpenSearch EO); View (WMS, WMTS, TMS, WMS-C); Download (WCS, WFS) services
39 | - Basic print module [Issue #9](https://github.com/GRIDgva/SwissDataCube/issues/9)
40 | - Query (with mouse pointer) a pixel and get a pop with time-series values & graph [Issue #5](https://github.com/GRIDgva/SwissDataCube/issues/5)
41 | - Initial implementation of a config file [Issue #7](https://github.com/GRIDgva/SwissDataCube/issues/7)
42 | - Snow Cover and Mosaic products
43 | - Help section
44 |
45 | ### Changed
46 | - N/A.
47 |
48 |
49 | ### Removed
50 | - N/A.
51 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/README.md:
--------------------------------------------------------------------------------
1 | # SwissDataCube - Viewer
2 | This is the repository for the SwissDataCUbe - Viewer.
3 | The aim is to develop an application to visualize, query, and download time-series data produced by the SwissDataCube.
4 | It is based on bootleaf (https://github.com/bmcbride/bootleaf) providing a simple, responsive template for building web mapping applications with [Bootstrap](http://getbootstrap.com/), [Leaflet](http://leafletjs.com/), and [typeahead.js](http://twitter.github.io/typeahead.js/).
5 |
6 | Data are published using GeoServer (http://www.geoserver.org) to provide an interoperable access to data using OGC WMS & WCS standards.
7 |
8 | The viewer allows:
9 | - Visualizing and Downloading single raster product layers
10 | - Visualizing and Downloading time-series raster product layers
11 | - Generating graph for a given pixel of a time-series raster product layer
12 | - Access products in your own client with WMS & WCS standards
13 | - Metadata support
14 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/assets/img/favicon-120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.1/assets/img/favicon-120.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/assets/img/favicon-152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.1/assets/img/favicon-152.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/assets/img/favicon-196.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.1/assets/img/favicon-196.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/assets/img/favicon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.1/assets/img/favicon-76.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/assets/img/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.1/assets/img/favicon.ico
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/assets/img/globe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.1/assets/img/globe.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/assets/img/metadata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.1/assets/img/metadata.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/config.js:
--------------------------------------------------------------------------------
1 | var appConfig={
2 | 'appVersion' : '1.1.0',
3 | 'appVersionDate' : '[21.09.2018]',
4 | 'gsHost' : 'https://geoserver.swissdatacube.org/geoserver/ows?',
5 | 'mapZoom' : '8',
6 | 'mapMinZoom' : '7',
7 | 'mapMaxZoom' : '15',
8 | 'mapCenter' : [46.78, 8.22],
9 | 'cswLayer1' : 'https://geoserver.swissdatacube.org/geoserver/ows?request=GetRecordById&service=CSW&version=2.0.2&elementSetName=full&id=sdc:L8_CHmosaic_2016&outputSchema=http://www.isotc211.org/2005/gmd',
10 | 'cswLayer2' : 'https://geoserver.swissdatacube.org/geoserver/ows?request=GetRecordById&service=CSW&version=2.0.2&elementSetName=full&id=sdc:clipch_95_051&outputSchema=http://www.isotc211.org/2005/gmd',
11 | 'cswLayer3' : 'https://geoserver.swissdatacube.org/geoserver/ows?request=GetRecordById&service=CSW&version=2.0.2&elementSetName=full&id=sdc:clipch_05_171&outputSchema=http://www.isotc211.org/2005/gmd',
12 | 'cswLayer4' : 'https://geoserver.swissdatacube.org/geoserver/ows?request=GetRecordById&service=CSW&version=2.0.2&elementSetName=full&id=sdc:diff_all_CH&outputSchema=http://www.isotc211.org/2005/gmd',
13 | };
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/images/layers-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.1/leaflet/images/layers-2x.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/images/layers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.1/leaflet/images/layers.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/images/marker-icon-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.1/leaflet/images/marker-icon-2x.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/images/marker-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.1/leaflet/images/marker-icon.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/images/marker-shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.1/leaflet/images/marker-shadow.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/plugin/coordinates/L.Control.MousePosition.css:
--------------------------------------------------------------------------------
1 | .leaflet-container .leaflet-control-mouseposition {
2 | background-color: rgba(255, 255, 255, 0.7);
3 | box-shadow: 0 0 5px #bbb;
4 | padding: 0 5px;
5 | margin:0;
6 | color: #333;
7 | font: 11px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
8 | }
9 |
10 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/plugin/coordinates/L.Control.MousePosition.js:
--------------------------------------------------------------------------------
1 | L.Control.MousePosition = L.Control.extend({
2 | options: {
3 | position: 'bottomleft',
4 | separator: ' : ',
5 | emptyString: 'Unavailable',
6 | lngFirst: false,
7 | numDigits: 5,
8 | lngFormatter: undefined,
9 | latFormatter: undefined,
10 | prefix: ""
11 | },
12 |
13 | onAdd: function (map) {
14 | this._container = L.DomUtil.create('div', 'leaflet-control-mouseposition');
15 | L.DomEvent.disableClickPropagation(this._container);
16 | map.on('mousemove', this._onMouseMove, this);
17 | this._container.innerHTML=this.options.emptyString;
18 | return this._container;
19 | },
20 |
21 | onRemove: function (map) {
22 | map.off('mousemove', this._onMouseMove)
23 | },
24 |
25 | _onMouseMove: function (e) {
26 | var lng = this.options.lngFormatter ? this.options.lngFormatter(e.latlng.lng) : L.Util.formatNum(e.latlng.lng, this.options.numDigits);
27 | var lat = this.options.latFormatter ? this.options.latFormatter(e.latlng.lat) : L.Util.formatNum(e.latlng.lat, this.options.numDigits);
28 | var value = this.options.lngFirst ? lng + this.options.separator + lat : lat + this.options.separator + lng;
29 | var prefixAndValue = this.options.prefix + ' ' + value;
30 | this._container.innerHTML = prefixAndValue;
31 | }
32 |
33 | });
34 |
35 | L.Map.mergeOptions({
36 | positionControl: false
37 | });
38 |
39 | L.Map.addInitHook(function () {
40 | if (this.options.positionControl) {
41 | this.positionControl = new L.Control.MousePosition();
42 | this.addControl(this.positionControl);
43 | }
44 | });
45 |
46 | L.control.mousePosition = function (options) {
47 | return new L.Control.MousePosition(options);
48 | };
49 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/plugin/extent/leaflet.defaultextent.css:
--------------------------------------------------------------------------------
1 | .leaflet-control-defaultextent {
2 |
3 | }
4 |
5 | .leaflet-control-defaultextent-toggle {
6 | text-indent: -9999px;
7 | white-space: nowrap;
8 | background-image: url('leaflet.defaultextent.png');
9 | width: 26px;
10 | height: 26px;
11 | display: block;
12 | }
13 |
14 | /* CSS for high-resolution devices */
15 | @media only screen and (-Webkit-min-device-pixel-ratio: 1.5),
16 | only screen and (-moz-min-device-pixel-ratio: 1.5),
17 | only screen and (-o-min-device-pixel-ratio: 3/2),
18 | only screen and (min-device-pixel-ratio: 1.5) {
19 | .leaflet-control-defaultextent-toggle {
20 | background-image: url('leaflet.defaultextent@2X.png');
21 | background-size: 26px 26px;
22 | background-repeat: no-repeat;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/plugin/extent/leaflet.defaultextent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.1/leaflet/plugin/extent/leaflet.defaultextent.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/plugin/extent/leaflet.defaultextent@2X.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.1/leaflet/plugin/extent/leaflet.defaultextent@2X.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/plugin/fullscreen/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "camelcase": 0,
4 | "quotes": [2, "single", "avoid-escape"],
5 | "no-mixed-spaces-and-tabs": [2, "smart-tabs"],
6 | "space-before-function-paren": 2,
7 | "space-in-parens": 2,
8 | "object-curly-spacing": [2, "never"],
9 | "array-bracket-spacing": 2,
10 | "computed-property-spacing": 2,
11 | "space-before-blocks": 2,
12 | "keyword-spacing": 2,
13 | "no-lonely-if": 2,
14 | "comma-style": 2,
15 | "no-underscore-dangle": 0,
16 | "no-constant-condition": 0,
17 | "no-multi-spaces": 0,
18 | "strict": 0,
19 | "key-spacing": 0,
20 | "no-shadow": 0,
21 | "no-unused-vars": 2
22 | },
23 | "globals": {
24 | "L": true,
25 | "module": false,
26 | "define": false,
27 | "require": true
28 | },
29 | "env": {
30 | "browser": true
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/plugin/fullscreen/.mversionrc:
--------------------------------------------------------------------------------
1 | {
2 | "commitMessage": "version %s",
3 | "tagName": "%s",
4 | "scripts": {
5 | "postcommit": "git push && git push --tags && npm publish"
6 | }
7 | }
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/plugin/fullscreen/Control.FullScreen.css:
--------------------------------------------------------------------------------
1 | .fullscreen-icon { background-image: url(icon-fullscreen.png); }
2 | .leaflet-retina .fullscreen-icon { background-image: url(icon-fullscreen-2x.png); background-size: 26px 26px; }
3 | /* one selector per rule as explained here : http://www.sitepoint.com/html5-full-screen-api/ */
4 | .leaflet-container:-webkit-full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
5 | .leaflet-container:-ms-fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
6 | .leaflet-container:full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
7 | .leaflet-container:fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
8 | .leaflet-pseudo-fullscreen { position: fixed !important; width: 100% !important; height: 100% !important; top: 0px !important; left: 0px !important; z-index: 99999; }
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/plugin/fullscreen/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2013, Bruno Bergot
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/plugin/fullscreen/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "leaflet.fullscreen",
3 | "version": "1.4.4",
4 | "homepage": "https://github.com/brunob/leaflet.fullscreen",
5 | "license": "MIT",
6 | "authors": [
7 | "brunob "
8 | ],
9 | "description": "Leaflet.Control.FullScreen for Leaflet",
10 | "main": [
11 | "Control.FullScreen.js",
12 | "Control.FullScreen.css",
13 | "icon-fullscreen.png",
14 | "icon-fullscreen-2x.png"
15 | ],
16 | "devDependencies": {
17 | "eslint": "2.3.0"
18 | },
19 | "keywords": [
20 | "leaflet",
21 | "plugins",
22 | "maps",
23 | "fullscreen"
24 | ],
25 | "ignore": [
26 | "**/.*",
27 | "node_modules",
28 | "bower_components",
29 | "test",
30 | "tests",
31 | "index.html"
32 | ]
33 | }
34 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/plugin/fullscreen/icon-fullscreen-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.1/leaflet/plugin/fullscreen/icon-fullscreen-2x.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/plugin/fullscreen/icon-fullscreen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.1.1/leaflet/plugin/fullscreen/icon-fullscreen.png
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/plugin/fullscreen/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "leaflet.fullscreen",
3 | "version": "1.4.4",
4 | "description": "Simple plugin for Leaflet that adds fullscreen button to your maps.",
5 | "main": "Control.FullScreen.js",
6 | "scripts": {
7 | "test": "eslint --config .eslintrc Control.FullScreen.js"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "git://github.com/brunob/leaflet.fullscreen.git"
12 | },
13 | "keywords": [
14 | "leaflet",
15 | "plugins",
16 | "maps",
17 | "fullscreen"
18 | ],
19 | "devDependencies": {
20 | "eslint": "2.3.0"
21 | },
22 | "author": "b_b",
23 | "license": "MIT License",
24 | "readmeFilename": "README.md"
25 | }
26 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/plugin/leaflet-easyPrint/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "mourner",
3 | rules: {
4 | "globals": {
5 | "L": false,
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/plugin/leaflet-easyPrint/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | npm-debug.log
3 |
4 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/plugin/leaflet-easyPrint/.npmignore:
--------------------------------------------------------------------------------
1 | src/
2 |
3 |
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/plugin/leaflet-groupedlayercontrol/MIT-LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright 2013 Ishmael Smyrnow
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining
4 | a copy of this software and associated documentation files (the
5 | "Software"), to deal in the Software without restriction, including
6 | without limitation the rights to use, copy, modify, merge, publish,
7 | distribute, sublicense, and/or sell copies of the Software, and to
8 | permit persons to whom the Software is furnished to do so, subject to
9 | the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be
12 | included in all copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/viewer/versions/1.1.1/leaflet/plugin/leaflet-groupedlayercontrol/leaflet.groupedlayercontrol.css:
--------------------------------------------------------------------------------
1 | .leaflet-control-layers-group-name {
2 | font-weight: bold;
3 | margin-bottom: .2em;
4 | display: block;
5 | }
6 |
7 | .leaflet-control-layers-group {
8 | margin-bottom: .5em;
9 | }
10 |
11 | .leaflet-control-layers-group label {
12 | padding-left: .5em;
13 | }
14 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/README.md:
--------------------------------------------------------------------------------
1 | # SwissDataCube - Viewer
2 | This is the repository for the SwissDataCUbe - Viewer.
3 | The aim is to develop an application to visualize, query, and download time-series data produced by the SwissDataCube.
4 | It is based on bootleaf (https://github.com/bmcbride/bootleaf) providing a simple, responsive template for building web mapping applications with [Bootstrap](http://getbootstrap.com/), [Leaflet](http://leafletjs.com/), and [typeahead.js](http://twitter.github.io/typeahead.js/).
5 |
6 | Data are published using GeoServer (http://www.geoserver.org) to provide an interoperable access to data using OGC WMS & WCS standards.
7 |
8 | The viewer allows:
9 | - Visualizing and Downloading single raster product layers
10 | - Visualizing and Downloading time-series raster product layers
11 | - Generating graph for a given pixel of a time-series raster product layer
12 | - Access products in your own client with WMS & WCS standards
13 | - Metadata support
14 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/assets/img/clippy.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/assets/img/favicon-120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/assets/img/favicon-120.png
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/assets/img/favicon-152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/assets/img/favicon-152.png
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/assets/img/favicon-196.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/assets/img/favicon-196.png
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/assets/img/favicon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/assets/img/favicon-76.png
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/assets/img/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/assets/img/favicon.ico
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/assets/img/globe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/assets/img/globe.png
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/assets/img/metadata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/assets/img/metadata.png
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/config.js:
--------------------------------------------------------------------------------
1 | var appConfig={
2 | 'appVersion' : '1.3.0',
3 | 'appVersionDate' : '[20.09.2019]',
4 | 'gsHost' : 'https://geoserver.swissdatacube.org/geoserver/ows?',
5 | 'mapZoom' : '8',
6 | 'mapMinZoom' : '7',
7 | 'mapMaxZoom' : '15',
8 | 'mapCenter' : [46.78, 8.22],
9 | 'cswLayer1' : 'https://geoserver.swissdatacube.org/geoserver/ows?request=GetRecordById&service=CSW&version=2.0.2&elementSetName=full&id=sdc:L8_CHmosaic_2016&outputSchema=http://www.isotc211.org/2005/gmd',
10 | 'cswLayer2' : 'https://geoserver.swissdatacube.org/geoserver/ows?request=GetRecordById&service=CSW&version=2.0.2&elementSetName=full&id=sdc:clipch_95_051&outputSchema=http://www.isotc211.org/2005/gmd',
11 | 'cswLayer3' : 'https://geoserver.swissdatacube.org/geoserver/ows?request=GetRecordById&service=CSW&version=2.0.2&elementSetName=full&id=sdc:clipch_05_171&outputSchema=http://www.isotc211.org/2005/gmd',
12 | 'cswLayer4' : 'https://geoserver.swissdatacube.org/geoserver/ows?request=GetRecordById&service=CSW&version=2.0.2&elementSetName=full&id=sdc:diff_all_CH&outputSchema=http://www.isotc211.org/2005/gmd',
13 | 'cswLayer5' : 'https://geoserver.swissdatacube.org/geoserver/ows?request=GetRecordById&service=CSW&version=2.0.2&elementSetName=full&id=atlas:sites&outputSchema=http://www.isotc211.org/2005/gmd',
14 | };
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/images/layers-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/leaflet/images/layers-2x.png
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/images/layers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/leaflet/images/layers.png
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/images/marker-icon-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/leaflet/images/marker-icon-2x.png
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/images/marker-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/leaflet/images/marker-icon.png
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/images/marker-shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/leaflet/images/marker-shadow.png
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/clipboard/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["es2015"],
3 | "plugins": ["transform-es2015-modules-umd"]
4 | }
5 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/clipboard/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig helps developers define and maintain consistent
2 | # coding styles between different editors and IDEs
3 | # http://editorconfig.org
4 |
5 | root = true
6 |
7 | [*]
8 | # Change these settings to your own preference
9 | indent_style = space
10 | indent_size = 4
11 |
12 | # We recommend you to keep these unchanged
13 | end_of_line = lf
14 | charset = utf-8
15 | trim_trailing_whitespace = true
16 | insert_final_newline = true
17 |
18 | [*.md]
19 | trim_trailing_whitespace = false
20 |
21 | [{package.json,bower.json}]
22 | indent_size = 2
23 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/clipboard/.github/issue_template.md:
--------------------------------------------------------------------------------
1 | ### Minimal example
2 |
3 | > Fork this [JSFiddle](https://jsfiddle.net/zenorocha/5kk0eysw/) and reproduce your issue.
4 |
5 | ### Expected behaviour
6 |
7 | I thought that by going to the page '...' and pressing the button '...' then '...' would happen.
8 |
9 | ### Actual behaviour
10 |
11 | Instead of '...', what I saw was that '...' happened instead.
12 |
13 | ### Browsers affected
14 |
15 | I tested on all major browsers and only IE 11 does not work.
16 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/clipboard/.gitignore:
--------------------------------------------------------------------------------
1 | lib
2 | npm-debug.log
3 | bower_components
4 | node_modules
5 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/clipboard/.npmignore:
--------------------------------------------------------------------------------
1 | /.*/
2 | /demo/
3 | /test/
4 | /.*
5 | /bower.json
6 | /karma.conf.js
7 | /src
8 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/clipboard/.travis.yml:
--------------------------------------------------------------------------------
1 | sudo: false
2 | language: node_js
3 | node_js:
4 | - stable
5 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/clipboard/demo/constructor-node.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | constructor-node
6 |
7 |
8 |
9 |
10 |
11 | Copy
12 |
13 |
14 |
15 |
16 |
17 |
18 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/clipboard/demo/constructor-nodelist.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | constructor-nodelist
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/clipboard/demo/constructor-selector.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | constructor-selector
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/clipboard/demo/function-target.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | function-target
6 |
7 |
8 |
9 |
10 |
11 | hello
12 |
13 |
14 |
15 |
16 |
17 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/clipboard/demo/function-text.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | function-text
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/clipboard/demo/target-div.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | target-div
6 |
7 |
8 |
9 |
10 | hello
11 |
12 |
13 |
14 |
15 |
16 |
17 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/clipboard/demo/target-input.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | target-input
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/clipboard/demo/target-textarea.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | target-textarea
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/coordinates/L.Control.MousePosition.css:
--------------------------------------------------------------------------------
1 | .leaflet-container .leaflet-control-mouseposition {
2 | background-color: rgba(255, 255, 255, 0.7);
3 | box-shadow: 0 0 5px #bbb;
4 | padding: 0 5px;
5 | margin:0;
6 | color: #333;
7 | font: 11px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
8 | }
9 |
10 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/coordinates/L.Control.MousePosition.js:
--------------------------------------------------------------------------------
1 | L.Control.MousePosition = L.Control.extend({
2 | options: {
3 | position: 'bottomleft',
4 | separator: ' : ',
5 | emptyString: 'Unavailable',
6 | lngFirst: false,
7 | numDigits: 5,
8 | lngFormatter: undefined,
9 | latFormatter: undefined,
10 | prefix: ""
11 | },
12 |
13 | onAdd: function (map) {
14 | this._container = L.DomUtil.create('div', 'leaflet-control-mouseposition');
15 | L.DomEvent.disableClickPropagation(this._container);
16 | map.on('mousemove', this._onMouseMove, this);
17 | this._container.innerHTML=this.options.emptyString;
18 | return this._container;
19 | },
20 |
21 | onRemove: function (map) {
22 | map.off('mousemove', this._onMouseMove)
23 | },
24 |
25 | _onMouseMove: function (e) {
26 | var lng = this.options.lngFormatter ? this.options.lngFormatter(e.latlng.lng) : L.Util.formatNum(e.latlng.lng, this.options.numDigits);
27 | var lat = this.options.latFormatter ? this.options.latFormatter(e.latlng.lat) : L.Util.formatNum(e.latlng.lat, this.options.numDigits);
28 | var value = this.options.lngFirst ? lng + this.options.separator + lat : lat + this.options.separator + lng;
29 | var prefixAndValue = this.options.prefix + ' ' + value;
30 | this._container.innerHTML = prefixAndValue;
31 | }
32 |
33 | });
34 |
35 | L.Map.mergeOptions({
36 | positionControl: false
37 | });
38 |
39 | L.Map.addInitHook(function () {
40 | if (this.options.positionControl) {
41 | this.positionControl = new L.Control.MousePosition();
42 | this.addControl(this.positionControl);
43 | }
44 | });
45 |
46 | L.control.mousePosition = function (options) {
47 | return new L.Control.MousePosition(options);
48 | };
49 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/extent/leaflet.defaultextent.css:
--------------------------------------------------------------------------------
1 | .leaflet-control-defaultextent {
2 |
3 | }
4 |
5 | .leaflet-control-defaultextent-toggle {
6 | text-indent: -9999px;
7 | white-space: nowrap;
8 | background-image: url('leaflet.defaultextent.png');
9 | width: 26px;
10 | height: 26px;
11 | display: block;
12 | }
13 |
14 | /* CSS for high-resolution devices */
15 | @media only screen and (-Webkit-min-device-pixel-ratio: 1.5),
16 | only screen and (-moz-min-device-pixel-ratio: 1.5),
17 | only screen and (-o-min-device-pixel-ratio: 3/2),
18 | only screen and (min-device-pixel-ratio: 1.5) {
19 | .leaflet-control-defaultextent-toggle {
20 | background-image: url('leaflet.defaultextent@2X.png');
21 | background-size: 26px 26px;
22 | background-repeat: no-repeat;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/extent/leaflet.defaultextent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/leaflet/plugin/extent/leaflet.defaultextent.png
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/extent/leaflet.defaultextent@2X.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/leaflet/plugin/extent/leaflet.defaultextent@2X.png
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/fullscreen/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "camelcase": 0,
4 | "quotes": [2, "single", "avoid-escape"],
5 | "no-mixed-spaces-and-tabs": [2, "smart-tabs"],
6 | "space-before-function-paren": 2,
7 | "space-in-parens": 2,
8 | "object-curly-spacing": [2, "never"],
9 | "array-bracket-spacing": 2,
10 | "computed-property-spacing": 2,
11 | "space-before-blocks": 2,
12 | "keyword-spacing": 2,
13 | "no-lonely-if": 2,
14 | "comma-style": 2,
15 | "no-underscore-dangle": 0,
16 | "no-constant-condition": 0,
17 | "no-multi-spaces": 0,
18 | "strict": 0,
19 | "key-spacing": 0,
20 | "no-shadow": 0,
21 | "no-unused-vars": 2
22 | },
23 | "globals": {
24 | "L": true,
25 | "module": false,
26 | "define": false,
27 | "require": true
28 | },
29 | "env": {
30 | "browser": true
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/fullscreen/.mversionrc:
--------------------------------------------------------------------------------
1 | {
2 | "commitMessage": "version %s",
3 | "tagName": "%s",
4 | "scripts": {
5 | "postcommit": "git push && git push --tags && npm publish"
6 | }
7 | }
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/fullscreen/Control.FullScreen.css:
--------------------------------------------------------------------------------
1 | .fullscreen-icon { background-image: url(icon-fullscreen.png); }
2 | .leaflet-retina .fullscreen-icon { background-image: url(icon-fullscreen-2x.png); background-size: 26px 26px; }
3 | /* one selector per rule as explained here : http://www.sitepoint.com/html5-full-screen-api/ */
4 | .leaflet-container:-webkit-full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
5 | .leaflet-container:-ms-fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
6 | .leaflet-container:full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
7 | .leaflet-container:fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
8 | .leaflet-pseudo-fullscreen { position: fixed !important; width: 100% !important; height: 100% !important; top: 0px !important; left: 0px !important; z-index: 99999; }
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/fullscreen/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2013, Bruno Bergot
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/fullscreen/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "leaflet.fullscreen",
3 | "version": "1.4.4",
4 | "homepage": "https://github.com/brunob/leaflet.fullscreen",
5 | "license": "MIT",
6 | "authors": [
7 | "brunob "
8 | ],
9 | "description": "Leaflet.Control.FullScreen for Leaflet",
10 | "main": [
11 | "Control.FullScreen.js",
12 | "Control.FullScreen.css",
13 | "icon-fullscreen.png",
14 | "icon-fullscreen-2x.png"
15 | ],
16 | "devDependencies": {
17 | "eslint": "2.3.0"
18 | },
19 | "keywords": [
20 | "leaflet",
21 | "plugins",
22 | "maps",
23 | "fullscreen"
24 | ],
25 | "ignore": [
26 | "**/.*",
27 | "node_modules",
28 | "bower_components",
29 | "test",
30 | "tests",
31 | "index.html"
32 | ]
33 | }
34 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/fullscreen/icon-fullscreen-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/leaflet/plugin/fullscreen/icon-fullscreen-2x.png
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/fullscreen/icon-fullscreen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/leaflet/plugin/fullscreen/icon-fullscreen.png
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/fullscreen/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "leaflet.fullscreen",
3 | "version": "1.4.4",
4 | "description": "Simple plugin for Leaflet that adds fullscreen button to your maps.",
5 | "main": "Control.FullScreen.js",
6 | "scripts": {
7 | "test": "eslint --config .eslintrc Control.FullScreen.js"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "git://github.com/brunob/leaflet.fullscreen.git"
12 | },
13 | "keywords": [
14 | "leaflet",
15 | "plugins",
16 | "maps",
17 | "fullscreen"
18 | ],
19 | "devDependencies": {
20 | "eslint": "2.3.0"
21 | },
22 | "author": "b_b",
23 | "license": "MIT License",
24 | "readmeFilename": "README.md"
25 | }
26 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-easyPrint/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "mourner",
3 | rules: {
4 | "globals": {
5 | "L": false,
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-easyPrint/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | npm-debug.log
3 |
4 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-easyPrint/.npmignore:
--------------------------------------------------------------------------------
1 | src/
2 |
3 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-groupedlayercontrol/MIT-LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright 2013 Ishmael Smyrnow
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining
4 | a copy of this software and associated documentation files (the
5 | "Software"), to deal in the Software without restriction, including
6 | without limitation the rights to use, copy, modify, merge, publish,
7 | distribute, sublicense, and/or sell copies of the Software, and to
8 | permit persons to whom the Software is furnished to do so, subject to
9 | the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be
12 | included in all copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-groupedlayercontrol/leaflet.groupedlayercontrol.css:
--------------------------------------------------------------------------------
1 | .leaflet-control-layers-group-name {
2 | font-weight: bold;
3 | margin-bottom: .2em;
4 | display: block;
5 | }
6 |
7 | .leaflet-control-layers-group {
8 | margin-bottom: .5em;
9 | }
10 |
11 | .leaflet-control-layers-group label {
12 | padding-left: .5em;
13 | }
14 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-side-by-side/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-side-by-side/.npmignore:
--------------------------------------------------------------------------------
1 | leaflet-side-by-side.js
2 | leaflet-side-by-side.min.js
3 | screencast.gif
4 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-side-by-side/layout.css:
--------------------------------------------------------------------------------
1 | .leaflet-sbs-range {
2 | position: absolute;
3 | top: 50%;
4 | width: 100%;
5 | z-index: 999;
6 | }
7 | .leaflet-sbs-divider {
8 | position: absolute;
9 | top: 0;
10 | bottom: 0;
11 | left: 50%;
12 | margin-left: -2px;
13 | width: 4px;
14 | background-color: #fff;
15 | pointer-events: none;
16 | z-index: 999;
17 | }
18 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-side-by-side/range-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/leaflet/plugin/leaflet-side-by-side/range-icon.png
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-sidebar/.gitignore:
--------------------------------------------------------------------------------
1 | lib-cov
2 | *.seed
3 | *.log
4 | *.csv
5 | *.dat
6 | *.out
7 | *.pid
8 | *.gz
9 |
10 | pids
11 | logs
12 | results
13 |
14 | npm-debug.log
15 | node_modules
16 |
17 | dist
18 | build
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-sidebar/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 |
3 | sudo: false
4 |
5 | after_success:
6 | - if [[ "$TRAVIS_BRANCH" == "master" ]]; then bash .travis/deploy.sh; fi
7 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-sidebar/.travis/deploy.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | eval "$(ssh-agent -s)"
6 |
7 | openssl aes-256-cbc -K $encrypted_f72e501d769d_key -iv $encrypted_f72e501d769d_iv -in .travis/deploy_key.pem.enc -out .travis/deploy_key.pem -d
8 | chmod 600 .travis/deploy_key.pem
9 | ssh-add .travis/deploy_key.pem
10 |
11 | mkdir gh-pages
12 | cd gh-pages
13 | cp -R ../examples ../src .
14 |
15 | git init
16 | git config user.name "Travis"
17 | git config user.email "noreply@travis-ci.org"
18 | git add .
19 | git commit -m "Deploy to GitHub Pages"
20 | git push --force --quiet git@github.com:Turbo87/leaflet-sidebar.git master:gh-pages > /dev/null 2>&1
21 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-sidebar/.travis/deploy_key.pem.enc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/leaflet/plugin/leaflet-sidebar/.travis/deploy_key.pem.enc
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-sidebar/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | ## v0.1.9 (2016-01-19)
4 |
5 | - Fix unresolved variable error in `removeFrom()` method (see #38)
6 |
7 |
8 | ## v0.1.8 (2015-09-10)
9 |
10 | - Fix text selection on sidebar (see #31)
11 |
12 |
13 | ## v0.1.7 (2015-09-09)
14 |
15 | - Catch context menu events on sidebar (#23)
16 | - Fix jQuery event handlers/Bootstrap controls on sidebar (#31)
17 |
18 |
19 | ## v0.1.6 (2014-08-23)
20 |
21 | - Added support for [bower.io](http://bower.io/search/) (#21)
22 |
23 |
24 | ## v0.1.5 (2014-04-15)
25 |
26 | - Added support for [component.io](http://component.io/) (#17, thanks @zedd45)
27 | - Added `shown` and `hidden` events (#18)
28 |
29 |
30 | ## v0.1.4 (2014-02-16)
31 |
32 | - Adjusted CSS for touch devices (#12)
33 | - Converted build system to [gulp.js](http://gulpjs.com/)
34 | - Added [TravisCI](http://travis-ci.org/) support for CI linting
35 |
36 |
37 | ## v0.1.3 (2014-02-06)
38 |
39 | - Added `autoPan` option
40 |
41 |
42 | ## v0.1.2 (2013-12-28)
43 |
44 | - Fixed broken `stopPropagation()` call (#2)
45 | - Fire `show` and `hide` events on sidebar instances
46 | - Added `getCloseButton()` method
47 | - Several memory leaks related to event handlers fixed (#7)
48 | Thanks to Jerroyd Moore!
49 |
50 |
51 | ## v0.1.1 (2013-11-03)
52 |
53 | - Fixed close button event handler (#1)
54 |
55 |
56 | ## v0.1.0 (2013-10-30)
57 |
58 | - First official release
59 | - `position` option
60 | - `closeButton` option
61 | - `getContainer()` and `setContent()` methods
62 | - two more examples
63 |
64 |
65 | ## v0.0.0 (2013-10-29)
66 |
67 | - Preview release
68 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-sidebar/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2013 Tobias Bieniek
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-sidebar/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "leaflet-sidebar",
3 | "version": "0.2.0",
4 | "homepage": "https://github.com/turbo87/leaflet-sidebar",
5 | "authors": [
6 | "Tobias Bieniek "
7 | ],
8 | "description": "A responsive sidebar plugin for Leaflet",
9 | "main": [
10 | "src/L.Control.Sidebar.js",
11 | "src/L.Control.Sidebar.css"
12 | ],
13 | "keywords": [
14 | "gis",
15 | "leaflet",
16 | "map"
17 | ],
18 | "license": "MIT",
19 | "dependencies": {
20 | "leaflet": "~0.7"
21 | },
22 | "ignore": [
23 | "node_modules"
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-sidebar/leaflet-sidebar.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/leaflet/plugin/leaflet-sidebar/leaflet-sidebar.gif
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-sidebar/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "leaflet-sidebar",
3 | "version": "0.2.0",
4 | "description": "A responsive sidebar plugin for Leaflet",
5 | "keywords": [
6 | "gis",
7 | "leaflet",
8 | "map"
9 | ],
10 | "homepage": "https://github.com/turbo87/leaflet-sidebar",
11 | "bugs": "https://github.com/turbo87/leaflet-sidebar/issues",
12 | "license": "MIT",
13 | "author": "Tobias Bieniek ",
14 | "main": "src/L.Control.Sidebar.js",
15 | "repository": {
16 | "type": "git",
17 | "url": "https://github.com/turbo87/leaflet-sidebar.git"
18 | },
19 | "scripts": {
20 | "test": "gulp lint"
21 | },
22 | "dependencies": {
23 | },
24 | "devDependencies": {
25 | "gulp": "~3.6.0",
26 | "gulp-clean": "~0.2.4",
27 | "gulp-concat": "~2.1.7",
28 | "gulp-csslint": "~0.1.3",
29 | "gulp-header": "~0.4.0",
30 | "gulp-jshint": "~1.3.4",
31 | "gulp-minify-css": "~0.1.0",
32 | "gulp-sass": "2.0.4",
33 | "gulp-rename": "~0.2.2",
34 | "gulp-uglify": "~0.1.0",
35 | "gulp-zip": "~0.1.2"
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-storymap/img/1847-HPHS-Catalog1904p164.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/leaflet/plugin/leaflet-storymap/img/1847-HPHS-Catalog1904p164.jpg
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-storymap/img/1905-HPHS-postcard.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/leaflet/plugin/leaflet-storymap/img/1905-HPHS-postcard.jpg
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-storymap/img/BradleyAirport.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/leaflet/plugin/leaflet-storymap/img/BradleyAirport.jpg
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-storymap/img/TrinityCollege.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/leaflet/plugin/leaflet-storymap/img/TrinityCollege.jpg
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-storymap/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | leaflet-storymap
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
Insert your title here
24 | Scroll
25 |
26 |
27 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-storymap/markers/images/markers_default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/leaflet/plugin/leaflet-storymap/markers/images/markers_default.png
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-storymap/markers/images/markers_default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/leaflet/plugin/leaflet-storymap/markers/images/markers_default@2x.png
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-storymap/markers/images/markers_shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/leaflet/plugin/leaflet-storymap/markers/images/markers_shadow.png
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-storymap/markers/images/markers_shadow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unep-grid/SwissDataCube/88c46f38fdeafdbc0ba815335f2eba3ef84d27fd/viewer/versions/1.3.0/leaflet/plugin/leaflet-storymap/markers/images/markers_shadow@2x.png
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-storymap/markers/leaflet.extra-markers.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Leaflet.extra-markers
3 | * Custom Markers for Leaflet JS based on Awesome Markers
4 | * Leaflet ExtraMarkers
5 | * https://github.com/coryasilva/Leaflet.ExtraMarkers/
6 | * @author coryasilva
7 | * @version 1.1.0
8 | */
9 | !function(a,b){"use strict";L.ExtraMarkers={},L.ExtraMarkers.version="1.0.1",L.ExtraMarkers.Icon=L.Icon.extend({options:{iconSize:[35,45],iconAnchor:[17,42],popupAnchor:[1,-32],shadowAnchor:[10,12],shadowSize:[36,16],className:"extra-marker",prefix:"",extraClasses:"",shape:"circle",icon:"",markerColor:"red",iconColor:"#fff",number:""},initialize:function(a){a=L.Util.setOptions(this,a)},createIcon:function(){var a=b.createElement("div"),c=this.options;return c.icon&&(a.innerHTML=this._createInner()),c.bgPos&&(a.style.backgroundPosition=-c.bgPos.x+"px "+-c.bgPos.y+"px"),this._setIconStyles(a,c.shape+"-"+c.markerColor),a},_createInner:function(){var a="",b="",c=this.options;return c.iconColor&&(a="style='color: "+c.iconColor+"' "),c.number&&(b="number='"+c.number+"' "),""},_setIconStyles:function(a,b){var c,d,e=this.options,f=L.point(e["shadow"===b?"shadowSize":"iconSize"]);"shadow"===b?(c=L.point(e.shadowAnchor||e.iconAnchor),d="shadow"):(c=L.point(e.iconAnchor),d="icon"),!c&&f&&(c=f.divideBy(2,!0)),a.className="leaflet-marker-"+d+" extra-marker-"+b+" "+e.className,c&&(a.style.marginLeft=-c.x+"px",a.style.marginTop=-c.y+"px"),f&&(a.style.width=f.x+"px",a.style.height=f.y+"px")},createShadow:function(){var a=b.createElement("div");return this._setIconStyles(a,"shadow"),a}}),L.ExtraMarkers.icon=function(a){return new L.ExtraMarkers.Icon(a)}}(this,document);
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-sync/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "camelcase": 2,
4 | "quotes": [2, "single", "avoid-escape"],
5 | "indent": ["error", 4, {
6 | "MemberExpression": "off"
7 | }],
8 | "space-before-function-paren": 2,
9 | "space-in-parens": 2,
10 | "object-curly-spacing": 2,
11 | "space-before-blocks": 2,
12 | "keyword-spacing": 2,
13 | "no-lonely-if": 2,
14 | "comma-spacing": [2, {"after": true}],
15 | "comma-style": 2,
16 | "no-underscore-dangle": 0,
17 | "no-constant-condition": 0,
18 | "no-multi-spaces": 2,
19 | "strict": 0,
20 | "key-spacing": 2,
21 | "no-shadow": 0,
22 | "no-console": 2,
23 | "semi": 2,
24 | "curly": 2
25 | },
26 | "globals": {
27 | "L": true,
28 | "module": true,
29 | "define": true
30 | },
31 | "plugins": [
32 | "html"
33 | ],
34 | "settings": {
35 | "html/report-bad-indent": 2,
36 | "html/indent": "space"
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-sync/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-sync/.mversionrc:
--------------------------------------------------------------------------------
1 | {
2 | "commitMessage": "Bumped version to %s",
3 | "tagName": "%s",
4 | "scripts": {
5 | "preupdate": "npm run test",
6 | "postupdate": "git push && git push --tags && npm publish"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/leaflet-sync/.travis.yml:
--------------------------------------------------------------------------------
1 | ---
2 | language: node_js
3 | node_js:
4 | - "node"
5 | notifications:
6 | email: false
7 | git:
8 | depth: 10
9 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/storymap-master/license.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2014 Atle Frenvik Sveen
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4 |
5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6 |
7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/storymap-master/readme.md:
--------------------------------------------------------------------------------
1 | Storymap
2 | ========
3 |
4 | Storymap is a jQuery-plugin to create a map that follows your text. Annotate each paragraph and place a map alongside it. Then you can zoom/pan/add marker etc to the map as the reader reads through the text.
5 |
6 | Demo
7 | ----
8 | See http://atlefren.github.io/storymap/
9 |
10 | Known issues
11 | ------------
12 | Will not work well on mobile (map gets removed on small screens)
13 |
14 | Requirements
15 | ------------
16 | Storymap expects some (rather common) js libs to be available:
17 |
18 | - jQuery (as it is a jQuery plugin)
19 | - underscore.js (as it makes js easier to work with)
20 | - Leaflet (because we need a map)
21 |
22 | In addition the markup is based on Bootstrap 3.
23 |
24 | Configuration
25 | -------------
26 | Should be rather simple. Setup a html page like the one in index.html, include dependencies and do a
27 |
28 | el.storymap({markers: dict_with_data});
29 |
30 | on the element you wish to add a storymap to. By default, the plugin looks for elements that has a "data-place" attribute, sets the breakpoint 33% from the top of the page. This can be overridden by setting some options, like this:
31 |
32 | el.storymap({
33 | markers: dict_with_data,
34 | selector: '[data-place]', //jquery for selectors to trigger an event
35 | breakpointPos: '33.333%', //position of the breakpoint
36 | createMap: function () { //function that creates a map
37 | // create a map in the "map" div, set the view to a given place and zoom
38 | var map = L.map('map').setView([65, 18], 5);
39 | // add an OpenStreetMap tile layer
40 | L.tileLayer(
41 | 'http://{s}.tile.osm.org/{z}/{x}/{y}.png',
42 | {attribution: '© OpenStreetMap contributors'}
43 | ).addTo(map);
44 | return map;
45 | }
46 | });
47 |
48 | License
49 | -------
50 | Storymap is licensed under the MIT license.
51 |
52 | Contributions
53 | -------------
54 | Yes please!
55 |
--------------------------------------------------------------------------------
/viewer/versions/1.3.0/leaflet/plugin/storymap-master/style.css:
--------------------------------------------------------------------------------
1 |
2 | .sidebar {
3 | /* display: none;*/
4 | }
5 | @media (min-width: 768px) {
6 | .sidebar {
7 | position: fixed;
8 | top: 0;
9 | bottom: 0;
10 | right: 0;
11 | z-index: 1000;
12 | display: block;
13 | padding: 20px;
14 | overflow-x: hidden;
15 | overflow-y: hidden;
16 | background-color: #f5f5f5;
17 | border-right: 1px solid #eee;
18 | }
19 | }
20 |
21 | .main {
22 | padding: 20px;
23 |
24 | padding-bottom: 500px;
25 | }
26 | @media (min-width: 768px) {
27 | .main {
28 | padding-right: 40px;
29 | padding-left: 40px;
30 | }
31 | }
32 | .main .page-header {
33 | margin-top: 0;
34 | }
35 |
36 | .breakpoint-current {
37 | left: 0;
38 | margin-top: -10px;
39 | position: fixed;
40 | /* top: 33.3333%; */
41 | width: 3px;
42 | height: 3px;
43 | background: red;;
44 | }
45 |
46 | .viewing {
47 | background: #eee;
48 | }
49 |
50 | section {
51 | padding: 5px 10px 10px 10px;
52 | border-radius: 10px;
53 | }
54 |
--------------------------------------------------------------------------------