Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Include a default imagery layer for Cesium #1938

Closed
robyngit opened this issue Dec 22, 2021 · 3 comments
Closed

Include a default imagery layer for Cesium #1938

robyngit opened this issue Dec 22, 2021 · 3 comments
Assignees
Milestone

Comments

@robyngit
Copy link
Member

In order to use Cesium maps where we use Google maps, we should include a default imagery layer in Cesium maps that doesn't require Cesium Ion or another service. We could 'ship' this default layer with MetacatUI.

@robyngit robyngit self-assigned this Dec 22, 2021
robyngit added a commit that referenced this issue Jan 7, 2022
- Also allow configuration of the Natural Earth base layer just by setting the 'type' to 'NaturalEarthII' for a MapAsset configuration
- Fix issue where imagery layers were stacked on map in reverse order
- Add initial support for TileMapServiceImageryProvider layer type

Relates to #1938 and #1789
@robyngit
Copy link
Member Author

robyngit commented Jan 7, 2022

If no layers are configured for a new Cesium map, then the Natural Earth II base layer will now be displayed (in branch feature-#1720-cesium-data-catalog):

Screen Shot 2022-01-07 at 16 27 05

The Natural Earth II layer can now also be added to any map by adding a layer with the following config to the layers attribute of a cesium map config: { type: 'NaturalEarthII' }

The images for this layer are shipped with Cesium and thus also shipped with MetacatUI

@robyngit robyngit closed this as completed Jan 7, 2022
@robyngit
Copy link
Member Author

robyngit commented Aug 4, 2022

We never merged the feature-#1720-cesium-data-catalog branch into develop or main because the Natural Earth Imagery is quite low resolution and not an ideal default layer. However, I think that this still makes for a reasonable fallback when there are no other options (i.e. it's better than rendering a big blue sphere with no imagery), so I would like to include it as an option.

@jeanetteclark recently discovered open imagery that is hosted by USGS. I'm re-opening this issue to cover adding a USGS layer as another default option.

@robyngit robyngit reopened this Aug 4, 2022
@robyngit robyngit added this to the 2.23.0 milestone Aug 4, 2022
robyngit added a commit that referenced this issue Aug 4, 2022
@robyngit
Copy link
Member Author

robyngit commented Aug 4, 2022

The USGS layer can now be configured by setting a layer asset to:

layers: [
  {
    type: 'USGSImageryTopo'
  },
  ...
]

The cesium imagery model takes care of setting the other required options (url, attribution, etc).

This is similar to how the Natural Earth layer can be configured:

layers: [
  {
    type: 'NaturalEarthII'
  },
  ...
]

Here is how the USGS layer looks from a global view:

Screen Shot 2022-08-04 at 11 16 37

It's higher resolution than the Natural Earth layer. Here's a random area in Alaska at around 100m scale:

Screen Shot 2022-08-04 at 11 19 19

The downsides are that the imagery disappears at around the 50-100m scale mark, and that there is no imagery covering the poles:

Screen Shot 2022-08-04 at 11 18 11

@robyngit robyngit closed this as completed Aug 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant