developmentseed / eoAPI

[Active Development] Earth Observation API (Metadata, Raster and Vector services)
https://eoapi.dev
MIT License
196 stars 21 forks source link

[Custom runtimes] Make the mosaic map endpoint more interactive #79

Open hrodmn opened 1 year ago

hrodmn commented 1 year ago

Discussed in https://github.com/developmentseed/eoAPI/discussions/77

Originally posted by **hrodmn** May 17, 2023 @vincentsarago I think eoAPI is the perfect foundation for some work that I am doing at NCX right now. I want to be able to a) build mosaic endpoints on the fly (I think you are already looking at this [here](https://github.com/developmentseed/eoAPI/pull/62), b) manipulate the asset/rescale/colormap parameters for a mosaic and have some more interactive features (layer control, basemap control, etc) while browsing the `map` endpoint (I think a lot of the code for asset display control already exists [here](https://github.com/developmentseed/eoAPI/blob/main/runtime/eoapi/raster/eoapi/raster/templates/stac-viewer.html)).

Here are a few ideas for some features to build out:

  1. Add a basemap! Maybe a few options like Stamen Toner and some sort of imagery
  2. Add a tile specification panel to the map that allows you to specify assets, rescale, colormap, etc (similar to raster STAC item viewer). If you add those parameters to the url (e.g. ...{searchid}/map?assets=cog&rescale=0,1000, those parameters get pre-loaded.
  3. When you load the map endpoint without any map parameters, load the basemap with the bbox for the searchid and prompt the user to provide the tile specification in the toolbar.
  4. Add a tile layer control to make it possible to toggle the tiles on/off

I think we can build most by borrowing code from the raster viewer endpoint!