developmentseed / developmentseed/stac-map

Feature: Actions for external asset viewers/browsers

Open
#260 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
108
Forks
15
Avg merge
15h 14m
Merged PRs (30d)
9

Description

Following discussion #262

We implemented a batch of custom asset actions to `stac-browser` merged upstream visible here [stac-browser/src/actions/assets](https://github.com/radiantearth/stac-browser/tree/main/src/actions/assets) - so that asset types that are not COGs can be viewed in dedicated, external, web-viewers. Determining which action to expose in stac-browser is based on `asset.type` MIME type or `href` file-extension, usually passing the item URL as search-param to the external viewer.

The asset types we added support for are:
- `3d-tiles` (via [3DTilesRendererJS](https://nasa-ammos.github.io/3DTilesRendererJS/example/bundle/three/index.html#URL) and [Cesium standalone](https://sandcastle.cesium.com/standalone.html#c=PAYLOAD)), or giro3d/threepipe
- `COPC` ([hobu viewer](https://viewer.copc.io?copc=URL) and potree)
- `pmtiles` [official viewer](https://pmtiles.io/#url=https%3A%2F%2Fdemo-bucket.protomaps.com%2Fv4.pmtiles&map=1.24/0/0)
- `geoparquet` via [geoparquet.info](https://geoparquet.info/)
- `potree` [viewer](https://3d.iconem.com/apps/load_potree_project_from_urlparam?fit=true&c=elevation&datasetsUrls[%27URL%27])
- `meshes` (via [f3d-web](https://f3d.app/viewer/#model=https://groups.csail.mit.edu/graphics/classes/6.837/F03/models/teapot.obj) and [threepipe](https://threepipe.org/examples/tweakpane-editor?model=URL)).
- `3DGS splat` scenes (via [supersplat](https://superspl.at/editor?filename=scene.splat&load=${encodeURIComponent(azureUrl)}) or [sparkjs](https://sparkjs.dev/examples/editor/index.html?url=URL))
- even for `COG`, it could make sense to be able to open them in external viewer with more viewing/rendering options like recent [source-cooperative/cog-viewer](https://github.com/source-cooperative/cog-viewer) ([app](https://github.com/source-cooperative/cog-viewer)) based on deckgl-raster, or original [geotiffjs/cog-explorer](https://geotiffjs.github.io/cog-explorer/#long=16.370&lat=48.210&zoom=5&scene=&bands=&pipeline=) see [comment](https://github.com/developmentseed/stac-map/issues/280)
- `geojson`: placemark [wants](https://github.com/placemark/placemark/issues/227) to support permalinks, and geojson.io does support passing a geojson URL https://geojson.io/?data=https://example.com/file.geojson

It could be useful for stac-map to also support these. Note most can probably be added as link to each stac item, although this would include some duplication like `https://threepipe.org/examples/tweakpane-editor?model=ITEM_URL`.

Note we have to update these actions - hopefully by next month - because breaking changes were introduced in some of these viewers.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.