nasa-gibs / worldview

Interactive interface for browsing global, full-resolution satellite imagery
https://worldview.earthdata.nasa.gov/
Other
699 stars 186 forks source link

Support metadata with WMTS Raster #835

Closed PacoDu closed 5 years ago

PacoDu commented 6 years ago

Did you plan anything related to metadata display for a given tile ? For example it would be nice if we could click on the map and retrieve metadata about the source imagery of the tile. But this raises some questions:

Where could we store/retrieve those meta ? WMTS contains metadata about a layer but not for a specific tile, I'm new to vector layer but I've already seen metadata embedded with the tile.

Maybe we could think of a WMTS layer with a related vector layer displaying the bounding box of the imagery and containing the metadata that could be displayed on mouse hover/click.

PacoDu commented 6 years ago

Correct me if I'm wrong but I don't think there is anyway to ship tile's metadata with WMTS.

After digging in issues and roadmap I think this is related to vector support and #739.

ZachTRice commented 6 years ago

Yes, this is currently planned with vector support but we have not discussed implementing with WMTS. @mcechini, is there anything you want to add? / Thoughts?

mcechini commented 6 years ago

If we're talking about metadata associated with raster tile through WMTS... there isn't really a mechanism for that. We could stash some information in the headers, but there's nothing within the specification to facilitate that. We could have a companion layer (or alternative format) that serves back metadata (same z/y/x, but just a different mimetype)... but again there's nothing "standard" about this. There has been some discussion about adding a DescribeDomains or GetFeature method to WMTS. My personal opinions aside, I don't think it has much traction and it's not something we have a strong motivation to implement.

The ugly truth is that we lose most of the metadata that users may want to see for an image tile upstream in the image creation process. That's either due to data-to-image processing or fundamentally in how we create overview zoom levels from the source layer. And most of our use cases don't require this level of info.

With regards to how this plays in vectors... there will certainly be more opportunity for some "metadata-like" information in the response tiles... But again, there will be a loss of information as we create overviews. Those "metadata" values are more "data" that has been chosen for visualization.

This probably isn't the answer you're looking for, but it's where we currently find ourselves.

PacoDu commented 6 years ago

Our use case is to display Sentinel1 metadata for a given imagery for example:

ipf_version | 2.9
sentinel_source | S1B_IW_GRDH_1SDV_20180320T184057_20180320T184122_010119_0125EB_5E58.zip
resampled_spatial_resolution | 100
spatial_resolution_unit | m
mission_id | S1B
product_type | GRD
polarisation | VV
mode | IW
swath | IW
projection | Ground Range
pass | Ascending
platform_heading | -1.280856483302188e+01
time_coverage_start | 2018-03-20T18:40:57.014742
time_coverage_end | 2018-03-20T18:41:22.013253
lon_min | -11.646078
lon_max | -8.640608
lat_min | 31.432871
lat_max | 33.345238
data_width | 25649
data_height | 16722

I think that the companion layer would be the simplest solution. If in the generation process we create a mirror layer that contains metadata. I think this would be possible with KML using extendeddata: https://developers.google.com/kml/documentation/kmlreference?csw=1#extendeddata and OpenLayer popup feature.

rboller commented 5 years ago

Hi @PacoDu, we re-discovered this ticket today during a backlog grooming session, apologies for the delay. If this is still relevant for you, I think you may be looking for something like our Common Metadata Repository (CMR) service which can provide metadata on a per-scene (aka per-granule) basis. See here for an example of Worldview using CMR to obtain per-granule information for the Terra/MODIS Aerosol Optical Depth layer. If you hover over each "+", it provides acquisition time and bounding box info.

CMR documentation is here: https://cmr.earthdata.nasa.gov/search/

Please let us know if you have further questions and feel free to reopen this ticket if needed.