metacatui
metacatui copied to clipboard
Allow downloading data directly from the cesium map
In the current (dev) version of the cesium map, there is a link shown in the layer details panel that leads to a configured url where a user can download the source data. We discussed the idea of allowing users to download a portion of the visible data directly from the map, for example:
- Allowing users to draw a rectangle (or other shape) around an area of interest, and download all visible data in that area
- Clicking to select multiple tiles on the map, and downloading data from those tiles.
Here is a quick mockup of how this feature could look:

We also could expose a WMTS URI for that download area, so that someone could access the dataset in their GIS of choice without directly downloading it all at once immediately. This would probably require a base WMTS document for a set of layers, that is then constrained to a spatial region chosen on the map.
We could also include a citation with each download
Need to consider how the user indicates which data format and what resolution of data to access from a given area of interest (AOI) or set of tiles. For example, if the view is set is at zoom level 7 for a dataset layer that includes up to zoom 15 tiles, and the user selects most of Northern Alaska, do we:
- select data tiles from zoom 7?
- select data tiles from zoom 15?
- return geopackage, geotiff, or other file formats? (PNG is unlikely to be desired)
- allow the user to select multiple data layers from those that are visible?
All of these considerations also apply when asking for a WMTS capabilities document describing the AOI.
Related concept: Here's a mockup from @hngrtr imagining how we could show summary statistics for given areas of interest (a pre-defined tile in this case):
Google doc summarizing experiments with partial data downloads in QGIS based on WMTS. Challenges with unsupported datatypes in QGIS and other libraries. See document from @yvonnesjy and @ianguerin here: https://docs.google.com/document/d/1pVGlacPihHXCqO9451bVh68VeIyHC5erPx2g0RD2UQY/edit
Possible MVP:
- user selects a region of interest from the map
- construct list of geotiff file paths (using z/x/y indices)
- download those geotiffs from the /var/data folder
Questions for this strategy:
- How does the user or MetacatUI select the resolution?
- How does the user indicate which layer they would like to download?
- How do we know on the MetacatUI side whether we have geotiffs in the /var/data directory for the given layer?
- How do we measure the data availability for the given layer and the region selected, other than attempting to download the tiles?
WIP doc planning out this feature: https://docs.google.com/document/d/17tw4UMA5PJifJUV9HIBZ_wLm_W2-xImP0H1e8-Mym4A/edit#heading=h.kw93ze7l9lk0