TerriaJS / terriajs

A library for building rich, web-based geospatial data platforms.
https://terria.io
Apache License 2.0
1.19k stars 364 forks source link

[EPIC] WCS "clip and ship"- v3.0 #6121

Open nf-s opened 2 years ago

nf-s commented 2 years ago

Previous epic - https://github.com/TerriaJS/terriajs/issues/3109

Features

@philipgrimmett prototype

Figma prototype

https://www.figma.com/proto/jtdgEiY0gxtZlGtxSJTzcZ/Terria---2021?page-id=8310%3A7172&node-id=8312%3A7904&viewport=286%2C48%2C0.48&scaling=contain&starting-point-node-id=8312%3A7904

To discuss

  • How do we currently assess whether a selection can be exported RAW (native)?
  • If a selection can't be exported RAW, what other options are available?
  • Are we able to export all bands? Will this have significant impact on download size/speed?
nf-s commented 2 years ago

Notes about calculating file size

@philipgrimmett

Do we have any way of predicting when requests will be too large? If Ana didn't expect her request would be a problem it's pretty safe to assume there will be others killing time with trial and error.

eg. if someone tries to make a request while zoomed out in space, can we warn them?

or ideally communicate max size per zoom level (edited)

Paul Haesler

There is a limit on the maximum size in bytes of the uncompressed image data (i.e. you need to know native resolution of the product and the number and datatype size of the bands to work out the maximum size at a given zoom level). This limit can be set independently per layer, but is currently set to 800 million bytes for all OWS layers in dev and prod.

If they want much more than that, they would be better off downloading the raw COGs directly off S3 (The relevant links should be available through GetFeatureInfo).

@AnaBelgun

maybe we should put a link to that in the error message

super noob question: is there a relation between area measurement and the bytes? I guess not, but who knows

imagining someone could measure the area or even better have a change to red colour once the polygon size is bigger than what it can be exported

and adjusting the size until the polygon becomes white again (hence good to download)

i realise that's for next version

Paul Haesler

bytes = native horizontal pixels native vertical pixels number_of_bands * bytes_per_band. bytes_per_band is usually 2, but can be 1, 4, or even 8 depending on the product and how it was originally calculated and packaged.

I think you should be able to work it out from info contained in the DescribeCoverage XML